Sistema de préstamo bibliotecario
# include & ltstring& gt
Usar espacio de nombres std
Libro de clase //Establece la categoría de la colección de libros y archiva la información del libro.
{
Público:
Libro (cadena n, int N, cadena p) // Constructor de clase de libro
{< / p>
name = n; //Establecer título del libro
NO = N; //Establecer inventario de libros
editor = p //Establecer una editorial de libros
p>}
Void display() //La función de visualización muestra la información del libro.
{
cout & lt& lt"Título:"
cout & lt& lt"Inventario actual:"
cout & lt& lt "Editorial de libros:"
cout & lt& ltendl
}
// Para facilitar la llamada, los siguientes datos se definen como públicos.
Nombre de la cadena; //Título del libro
int número; //Inventario del libro
Editor de la cadena //Editor del libro
} ;
//Crea una pequeña base de datos de libros de la biblioteca. El número de serie del libro es igual al subíndice de la matriz de objetos.
Libros[6] =
{
Libros ("Introducción a C++", 3, "Prensa Popular de Correos y Telecomunicaciones"),
Libro ("Python Core Programming", 3, "People's Posts and Telecommunications Press"),
Libro ("Writing Clean Code", 3, "Electronic Industry Press"),
Libro ("Guía del usuario de Solaris 10 en chino simplificado", Volumen 3, "Sun Microsystems"),
Este libro ("El lenguaje de programación C, Segunda edición", Volumen 3, "Prensa industrial mecánica "),
Libro ("El arte de la programación informática, tercera edición, volumen 1: algoritmos básicos", volumen 3, "National Defense Industry Press")
}; p>
Void display_all() //Muestra todos los libros de la biblioteca para facilitar la lectura de los lectores.
{
int I;
cout & lt& lt"Estos son todos los libros de la biblioteca"
for(I = 0;i<6;i++)
{
cout & lt& lt"Número de serie del libro:"
cout & lt& lt"Título:"
p>cout & lt& lt"Inventario actual:"
cout & lt& lt"Editor de libros:"
cout & lt& ltendl
}
}
Personas de clase
{
Público:
Personas (String Nam, int num)/ / Estudiante constructor.
{
nombre = nam
número = num
}
void préstamo(int);/ /Definir función miembro prestada
void back(int); //Definir función miembro de devolución de libro
Privado:
Nombre de cadena; //Nombre personal< / p>
int number; //El número de libros prestados de la biblioteca
};
//Clase de estudiante, utilizada para definir la información del estudiante.
Estudiantes de clase: figuras públicas
{
Público:
Estudiante (String Nam, Intnum, Intgra): personas (Nam, num)//Estudiante constructor.
{
nota = gra
}
Privado:
int nota; // nota del estudiante
};
//Clase de profesor, el profesor es una clase derivada de estudiante.
Profesor de clase: figura pública
{
Público:
Profesor (String Nam, Intnum, String T): personas (Nam , num)//Constructor de clase derivada.
{
title = t; //Título del profesor
}
Privado:
Título de cadena; //Título del profesor
};
Personas vacías :: pedir prestado (int a) //Función miembro de préstamo
{
int i, j; //Defina dos variables enteras para que se pueda usar la camiseta.
char k; //Definir la variable de carácter para el juicio S/N.
void service(); //Declarar la función de servicio
if(number & gt; = a) //Primero, determine la autoridad. Si la cantidad de libros prestados por el lector no es menor que su permiso, se solicitarán otras operaciones.
{
cout & lt& lt"Según su permiso, puede pedir prestado como máximo "< & lta & lt& lt"¡Este libro! No puede pedir prestado el libro ahora. Por favor, venga volver la próxima vez " < & ltendl
cout & lt& lt"¿Quieres hacer algo más? (Sí, ingresa y, para salir, ingresa n)"
CIN & gt;& gtk;
Si (k == 121)
servicio();
Si (k == 121)
Devolver
si no (k = 110)
Devolver
cout & lt& ltendl
}
Otros
{
display_all(); // Llame a la función display_all para generar todos los libros para que los lectores los tomen prestados.
cout<<"¿Qué libro desea pedir prestado? Ingrese el número de serie del libro 0-5"
CIN>>me;
while(book[i ].NO = = 0 | | i & gt5 ||i & lt0) //Determinar el inventario del libro a prestar y la legalidad del insumo.
{
cout & lt& lt "El número de serie del libro que ingresó es incorrecto o el stock de libros prestados no es suficiente; vuelva a ingresarlo. El número de serie del libro es 0-5" < & lt; endl p>
CIN>>i;
//Pregunta al lector si desea realizar otras operaciones.
cout & lt& lt"¿Quieres hacer algo más? (Sí, ingresa y, para continuar tomando prestados libros, ingresa n)"< & lt; & gt;& gtk;
If (k == 121)
service(); //Si el lector desea realizar otras operaciones, haga referencia a la función de servicio para reiniciar el lector. .
If (k == 121)
Return; // Después de otras operaciones, salta directamente de la función prestada.
Otro
Continuar; //Si el lector elige continuar tomando prestados libros, saldrá de este bucle y entrará en el siguiente.
}
cout & lt& ltendl// Por la belleza de la interfaz persona-computadora, esto está bien.
cout & lt& lt"La siguiente es la información sobre el libro que deseas tomar prestado"
Reserva [yo].
display();
cout & lt& lt"¿Cuántos libros quieres pedir prestados?"& lt& ltendl
CIN & gt;& gtj;
// Determinar los permisos del lector, el inventario de la biblioteca y la legitimidad de las entradas.
mientras ((un número)& ltj || libro [i]. No & ltj | | j & lt0 | | j & gt3)
{
cout & lt& lt "Debido a que no tienes permisos suficientes, la cantidad se ingresó incorrectamente o la biblioteca está agotada",
cout & lt& lt "No puedes pedir prestados tantos libros en este momento"; ! Ingrese un número apropiado. < & ltendl
CIN & gt; (Sí, ingrese y, para continuar tomando prestados libros, ingrese n)"< & lt; endl
CIN>& gtk;
If (k == 121) p>
servicio();
Si (k == 121)
Devolver;
Otros
Continuar
cout & lt& ltendl
}
Libro[i]. NO = libro[i]; //Reajusta el libro después de tomarlo prestado. pequeña base de datos.
número = número+j; //Después de tomar prestado un libro, el número de libros prestados por el lector se agregará al número actual de libros prestados
cout. & lt& ltendl
cout & lt& lt"También puedes pedirlo prestado en la biblioteca"< & ltanumber& lt& lt"Este libro"
cout & lt& lt《》& lt& ltLibro. [i].Name<<"》"<<"Current Surplus"
}
}//Fin de la función de préstamo
Personas anuladas:: atrás (int a ) //Devolver función miembro del libro
{
int n, m;
char k
void service ();
cout & lt& lt"¿Qué libro quieres devolver?"< & ltendl
CIN & gt;& gtn;
While(libro[ n] . NO = 3) // Se considera que el inventario de la biblioteca está lleno, entonces nadie toma prestado este libro de aquí y nadie lo devuelve "¿Alguna vez has tomado prestado este libro? Vuelva a ingresar el número de serie del libro. "< & ltendl
CIN & gt;& gtn;
cout & lt& lt" ¿Quieres hacer algo más? (Sí, ingrese y, para continuar devolviendo el libro, ingrese n)"< & lt; endl
CIN & gt;& gtk;
If (k == 121 )
servicio();
Si (k == 121)
Devolver;
Otros
Continuar
cout & lt& ltendl
}
while(n & gt; 5 | | n & lt0) // Determinar si el libro fue tomado prestado por el El lector existe. /p>
{
cout & lt& lt"El número de serie del libro que ingresó es incorrecto, vuelva a ingresarlo. Los números de serie de los libros son del 0 al 5.
"< & ltendl
CIN & gt;& gtn;
cout & lt& lt" ¿Quieres hacer algo más? (Sí, ingrese y, para continuar devolviendo el libro, ingrese n)"< & lt; endl
CIN & gt;& gtk;
If (k == 121 )
servicio();
Si (k == 121)
Devolver;
Otros
Continuar
cout & lt& ltendl
}
cout & lt& ltendl// Los saltos de línea aquí son para la belleza de la interfaz persona-computadora <. /p>
cout & lt& lt"La siguiente es la información sobre el libro que desea tomar prestado"
Libros();
cout & lt& lt"Cómo cuantos libros quieres devolver"< & ltendl
CIN>& gtm;
//Determina si el inventario de este tipo de libros en la biblioteca es menor que el número de libros que el lector quiere devolver y si la entrada del lector es legal.
p>
while ((3-book[n].No)& ltm | | m & gt3)
{
cout & lt& lt"¿Tomaste prestado tanto libro? Por favor vuelva a ingresar. "
CIN & gt;& gtm;
cout & lt& lt" ¿Quieres hacer algo más? (Sí, ingrese y, para continuar tomando prestados libros, ingrese n)"< & lt; endl
CIN>& gtk;
If (k == 121) p>
servicio();
Si (k == 121)
Devolver;
si no (k = 110)
Continuar;
cout & lt& ltendl
}
Libro. NO+= m //Después de devolver el libro, organice la base de datos de la biblioteca en un de manera oportuna.
Número -= m; // El lector tomó prestado el libro, reduzca la cantidad de libros devueltos
// Aquí hay algunos consejos para el lector. p>
cout &. lt& lt"¡Felicitaciones! ¡Has devuelto el libro con éxito! ”& lt& ltendl
cout & lt& lt“Aún puedes pedir prestado”
}//Fin de la función de retroceso
void service()//Función de servicio , Complete las funciones de servicio y consulta para lectores
{
int a;
int b
Student stud ("Ming" ). , 0, 2007); // Definir el objeto stu de la clase de estudiante e inicializarlo
Teacher Tea ("李", 0, "Asistente"); la clase de profesor e inicialízala. /p>
//Pregunta la identidad del lector y dale opciones
cout & lt& lt"Bienvenido a la biblioteca. ¿Cuál es su identidad? (por favor ingrese el primer número)"< & ltendl
cout & lt& lt"1.Teacher"
cout & lt& lt"2.Student" p>
CIN>& gta;
Y (a!= 1.&A!= 2) //Recuerde a los lectores los errores de entrada
{
<. p>cout & lt& lt"Ingrese la opción correcta:"CIN & gt;& gta;
}
cout & lt& ltendl
cout & lt& lt"Qué desea: (ingrese el primer número)"< & ltendl//Pregunte al lector qué quiere hacer y bríndele opciones.
cout & lt& lt"1. Pedir prestado el libro"
cout & lt& lt"2. Devolver el libro"
cout & lt& lt"3. Dejar y pedir prestado "Book Desk"
CIN & gt;
{
cout & lt& lt"Ingrese la opción correcta"
CIN & gt;& gtb;
} p>
cout & lt& ltendl
If (a == 1) // Si el lector es un maestro, haga lo siguiente.
{
if (b == 1)
{
tea. pedir prestado(6); función
}
else if (b == 2)
{
tea back(6); función del libro
}
Otro
{
cout & lt& lt"= _ =¡Gracias por venir!\n " & lt& ltendl//Salir
}
}
Else if (a == 2) //Si el lector es un estudiante, realice las siguientes operaciones.
{
si (b == 1)
{
préstamo (4); >}
else if (b == 2)
{
Zapato con punta trasera (4);
}
Otro
{
cout & lt& lt"= _ =¡Gracias por venir!\n " & lt& ltendl
Volver; p>
}
}
cout & lt& ltendl
}//Función de fin de servicio
//Función principal
int main()
{
char k;
servicio();
Mientras (1 ) // Una vez completada la operación, pregunte al lector si desea realizar otras operaciones.
{
cout & lt& lt"¿Desea continuar con otras operaciones?";
cout & lt& lt"(Ingrese y para otras operaciones, por favor salga Ingrese n)"
CIN & gt;& gtk;
cout & lt& ltendl
if (k == 121)
service();
Otro
cout & lt& lt"= _=¡Gracias por venir!\n " & lt& ltendl
Descanso;
}
Devuelve 0;
}