La Red de Conocimientos Pedagógicos - Conocimientos históricos - Sistema de préstamo bibliotecario

Sistema de préstamo bibliotecario

# include & ltiostream & gt

# 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")

};

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

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)

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)

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"

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;

}

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;

}

}

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;

}