Recompensa por puntuación alta por un fragmento de código fuente

# incluir ltiostream gt

# incluir ltfstream gt

# incluir ltconio.h gt

Uso del espacio de nombres std

Clase bibliotecario //Bibliotecario clase

{

Público:

Bibliotecario();

Bibliotecario(int n, int j, char na[20], int w);

int get número();

int getjobage();

char * getname();

int obtener salarios();

anular restablecer jobage(int j);

anular restablecer salarios(int w);

anular restablecer nombre(char na[20 ]);

Privado:

número int;

int jobage

nombre char[20];

int salario;

};

Bibliotecario::Bibliotecario() //implementación de su función

{

Número = 0 ;

char b[20] = "Nadie"

trabajo = 0

strcpy(nombre, b);

}

Bibliotecario::Bibliotecario(int n, int j, char na[20], int w)

{

Número = n

trabajo = j;

stracpy(nombre, no aplicable);

Salario = w; int Librarian::getjobage()

{return jobage}

char *Librarian::getname()

{return name ;}

int Librarian::getnumber()

{Devolver número;}

int Librarian::getwages()

{Devolver salario;}

void Librarian::reset jobage(int j)

{

jobage = j;

}

void Librarian : restablecer nombre(char na[20])

{

strcpy(nombre, no aplicable);

}

void Librarian ::resetwages(int w)

{

Salario = w;

}

Clase Lector //Clase Lector

{

Privado:

número int;

edad int

nombre char[20];

char libro prestado[20];

Público:

lector();

lector (int c, int a, char b[20] , char e[20]);

int obtener número();

int getage();

char * getname();

char * getborrowbook();

anular el libro de préstamo de reelaboración (char a[20]);

};

Reader::reader() //implementación de su función

{

Char a[20]=" Nadie";

Char c[20] = "No se permiten préstamos de libros";

Número = 0;

Edad = 0;

}

lector::lector(int a, int c, char d[20], char e[20])

{

Número = a;

Edad = c;

strcpy(nombre, d

strcpy(libro de préstamo, e); /p>

int lector::obtener número(){ devolver número;}

int lector::getage(){ devolver edad;}

char * lector:: getname(){ devolver nombre;}

char * lector::getborrowbook(){ devolver libro de préstamo;}

void lector::reelaborar libro de préstamo(char a[20]){ strcpy(libro prestado, a);}

Estructura del libro //La estructura del libro

{

int num

char name[ 20];

char escritor[20];

};

voidobookinf()// Genera toda la información del libro.

{

int I;

ifstream infile("allbook.txt", IOs::in);

Cable de carga[ 50];

cout lt lt"título"

for(I = 1; i lt=10; i)

{

infile.getline(line, 50, '\n');

cout lt ltline lt ltendl

}

infile();

p>

}

void serchlanif()//Función de información del bibliotecario

{

int n, I;

ifstream file(" serchlanif . txt ");

if(archivo){ archivo gtn; archivo }

else { cout lt; "No hay administrador de libros"; exit(0);}

ifstream is("controlloer.txt", ios_base::binary);

if(for)

{

Bibliotecario* A = nuevo bibliotecario[n];

for(I = 0;iltn;i)

{

es .read((char *) amp;A[i],sizeof(A[I]);

}

for(I = 0 ;i ltn; i )

{

cout lt lt"No"< lt\ t ' lt lt"Años de servicio"

cout lt ltA[ i]. ) lt; lt" \ t " lt lt. obtenertrabajo() lt" \ t " lt A[I].

obtener salarios() lt; ltendl

}

}

Otros

{

cout lt lt" Error al abrir el archivo de texto'"

}

es . close();

}

void biblioteca()//biblioteca Todo información

{

Sistema("cls");

Sistema(" color 2e");

cout lt lt " " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " nuestra biblioteca escolar Es compuesta por la biblioteca principal y la biblioteca del campus de Pengzhou, con una superficie total de * * * * metros cuadrados";

cout lt lt" (La biblioteca ahora cuenta con * * * 10.000 libros, * * * 10,000 libros , * * * Diez mil libros, * * * Diez mil libros * * * * * Diez mil libros),";

cout lt lt "* * * Nombre del personal de la biblioteca existente";

cout lt lt"El moderno equipo existente en la biblioteca vale * * * *más de diez mil yuanes..."< ltendl

}

Void storelibrarian() //Almacena la información del nuevo administrador.

{

Entero, n, número, salario;

nombre char[20];

archivo ifstream(" serchlanif . txt ");

if(archivo){ archivo gt; gtn; archivo . close();}

si no { n = 0;}

cout lt lt"Número de bibliotecarios existentes:";

cout lt ltn lt ltendl

cout lt Ingrese el número, años de servicio, nombre y salario del nuevo bibliotecario:

CIN gt; gtnum gt gtagegt gtnamegt gtsalary;

Bibliotecario A (número, edad, nombre, salario);

cout lt ltNúmero de personas, años de servicio, nombre y salario

cout lt lta . get number() lt; " " lt lta . getjobage() lt; lt" " " lt getname() lt; obtener salarios() lt; ltendl

de flujo de salida(" control loer . txt ", IOs_base::app

escribir((char *) & A,sizeof). (A));

outfile . close();

n;

de flujo tfile(" serchlanif . txt "); p>tfile lt ltn;

tfile . close();

cout lt lt" ¡Guardado correctamente! ";

}

Void reLaninf() //Modificar bibliotecario

{

int i, n, h, jobage,wage ,j;

nombre de char[20];

ifstream file(" serchlanif . txt ");

if(file){ file gt; file . close(); }

else { cout lt "Sin bibliotecario"

Salir(0); bibliotecarios existentes:";

cout lt ltn lt ltendl

Bibliotecario* A = Nuevo bibliotecario[n];

ifstream is("controlloer.txt", IOs_base::binary);

if(for)

{

for(I = 0 ;iltn;i)

{

es . read((char *) amp;A[i], sizeof(A[I]);

}

for(I = 0 ;i ltn;i)

{

cout lt ltNúmero de personas, años de servicio, nombre y salario

cout lt ltA[i]. () lt; lt" "" lt ltA[i].

getjobage() lt; lt" " " lt ltA[i]. getname() lt; lt" " " lt ltA[i]. obtener salarios() lt; ltendl

}

}

Otros

{

cout lt lt" Se produjo un error al abrir el archivo"

}

is . close();

cout lt lt"Seleccione el número de administrador que desea modificar: ";

CIN gt; gth;

cout lt ltIngrese la nueva duración del servicio, nombre y salario.

CIN gt; gtjobage gt gt nombre gt gt salario

A[h-1]. restablecer jobage(jobage);

A[h-1]. resetname(nombre);

A[h-1]. Salario;

cout lt lt"El nombre modificado de este administrador es:"

ofstream tfile("controlloer.txt", IOs_base::binary);

for(j = 0; j ltn; j )

{

tfile . write((char *) amp; A[j], sizeof(A[j] );

}

tfile . close();

}

void EAD book()//Agregar nuevo libro

{

int num nombre de carácter[12]; char escritor[10]; int n;

Respuesta:

ofstream fout("allbook . txt ",IOs::app);

cout lt lt"Ingrese la información del libro:"

cout lt lt"Título"

CIN gt; gt nombre; fout lt lt nombrelt lt\ t';

CIN gt; gtnumfout lt ltnum lt\ t';

CIN gtwriter; /p>

fout . close();

cout lt lt" ¿Continuar ingresando? 1. Sí 2.

No "

CIN gt; gtn;

Si (n==1)

Ir a;

Otro

{ void Studentland();

Student Land();}

}

Void delate() //Eliminar función

{ int m;

cout lt lt"Seleccione la opción de operación:"

cout lt lt"1. Eliminar toda la información"

cout lt lt "2. Eliminación única"

CIN gt;

If (m==1)

{ofstream file(" allbook.txt ", IOs ::trunc);

cout lt lt"¡Eliminar todo, presione cualquier tecla para regresar! " lt ltendl

archivo . close();

getch();

system("cls");

void Studentland ();

tierra estudiantil();

}

char str[10][80], buf[20];

Respuesta:

int i=0, flag=100, c = 0;

ifstream fin(" all book . txt ");

If ( ! fin){

cout lt lt"¡Error al abrir el archivo! " lt ltendl

getch();

System("cls");

void Studentland();

Tierra de estudiantes( );

}

cout lt lt"Ingrese el título del libro que desea eliminar:"

CIN gtbuf

strcat (buf, " \ t ");

while(fin.getline(str[i], 80))

{

if( strncmp(str [i], buf, strlen(buf))==0)

{

bandera = I;

}

i ;

}

fin . cerrar();

if(flag==100)

{

cout lt lt"¡No hay libros que quieras eliminar! Presione 1 nuevamente, de lo contrario 0..."

int b;

CIN gt; gtb;

if(b==1) vaya a a ;

else c = 1;

}

if(c==0){

de la secuencia fout(" all libro .txt ");

for(int j = 0; j lti; j ){

if(j==flag)continue;

fout lt ltstr[j] lt; ltendl

}

fout .

cout lt "La información sobre el libro que desea eliminar tiene sido eliminado.

Continúe presionando 1, de lo contrario presione 0..."

int b;

CIN gt; gtb;

if(b==1) ir a a;

}

cout lt lt"La operación ha finalizado, presione cualquier tecla para regresar..."< ltendl

getch();

system("cls");

void Studentland();

Student Land();

}

Void searchbook() //Buscar libros

{

Respuesta:

ifstream fin

int flag=0, b, longitud;

char string[20];

char f[200]; char g[200];

fin open(" todo el libro. . txt ");

if(!fin)

{

cout lt lt"Error al abrir f1.dat....." lt ltendl

Salir(1);

}

mientras(1)

{

cout lt ltPor favor, introduzca el título: ";

CIN gt; gtstr

strcat(str, "\t");

longitud = strlen(str);

cout lt "-" lt; ltendl

mientras(fin.getline(f, 199))

{

strcpy(g, f );

if(strncmp(str, f, length)==0)

{

bandera = 1;

Romper ;

}

}

if(flag==1)

{

cout lt lt" El libro consultado ha sido encontrado: "

cout lt lt"-" lt; ltendl

cout lt lt"Title"

cout lt ltg lt ltendl

cout lt lt"-" lt; ltendl

flag = 0;

cout lt ltPara continuar con la consulta, presione 1; de lo contrario, presione 0

CIN gt; gtb;

if(b = = 0)break

}

Otros

{

fin . close();

cout lt lt "Si no hay ningún libro, continúe presionando 1; de lo contrario, presione 0..." lt ltendl

CIN gt; gtb;

if(b = = 0)break;

Ir a;

}

}

fin . close( );

cout lt lt"Después de completar la consulta, presione cualquier tecla para regresar..."< ltendl

getch();

Sistema ("cls" );

vacío tierra estudiantil();

tierra estudiantil()

}

void sea hreader()//consulta de lectura de información del dispositivo<

/p>

{

Respuesta:

ifstream fin

int flag=0, b, length;

cadena de caracteres [20];

char f[200]; char g[200];

fin . (!fin)

{

cout lt lt "¡No existe tal archivo de información!" p> }

while(1)

{

cout lt lt"Ingrese el nombre del lector que está buscando:";

CIN gt; gtstr

strcat(str, "\t");

longitud = strlen(str);

cout lt lt " -" lt; ltendl

mientras(fin.getline(f, 199))

{

strcpy(g, f);

if( strncmp(str, f, length)==0)

{

bandera = 1;

Romper;

}

}

if(flag==1)

{

cout lt lt"Lector de consulta encontrado:"

p>

cout lt lt"-" lt; ltendl

cout lt lt"nombre"

cout lt ltg lt ltendl

cout lt lt" -" lt; ltendl

flag = 0;

cout lt ltPara continuar con la consulta, presione 1; de lo contrario, presione 0

CIN gtb;

if(b = = 0)break;

Ir a a;

}

Otros

{

fin . close();

cout lt lt "Si no existe tal persona, continúe presionando 1; de lo contrario, presione 0..." lt ltendl

CIN gt; gtb;

if(b = = 0)break;

Ir a;

}

}

fin . close();

cout lt lt"Una vez completada la consulta, presione cualquier tecla para regresar..."< ltendl

getch ();

system("cls");

void Studentland();

Student Land();

}

/ * void sea hreader()//Consultar información del lector

{

int i, b, h = 0

char; a[20];

p>

ifstream file(" lector num. txt ");

if(archivo){ archivo gtb; ; }

else { cout lt lt"Sin archivo";}

cout lt lt"Número de lectores existentes:";

cout lt ltb lt ltendl

lector*A = nuevo lector[b];

ifstream es ("reader.txt", IOs_base::binary

if (para)

{

for(I = 0;iltb;i)

{

es read((char * ) amp; A[i], tamaño de(A[I]);

}

}

Otros

{

cout lt lt"Error al abrir el archivo txt"

}

es close();

cout lt lt"Ingrese su nombre del archivo. lector que se encontrará: ";

CIN gt; gta;

for(I = 0;iltb;i)

{

if(strcmp(A[i].getname(), a)==0)

{

cout lt lt"El número, la edad, el nombre y el estado del préstamo" < ltendl

cout lt ltA[i]. get número() lt" " " lt ltA[i]. lt" " " lt ltA[ I].getname() lt" " " ltA[I].getborrowbook() lt; ltendl

h

}

}

if(h == 0) cout lt; lt "¡No existe tal lector!";

}

*/

Void Librarianland() //Función de inicio de sesión de administrador

{

int q, l=1, I, h;

Sistema ("cls"

Sistema(" color 2e ");

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltPara confirmar su identidad inmediatamente, ingrese su contraseña:

CIN gt; gtme;

Cuando (l)

{

Si (i==00000)

{

Sistema (" cls");

sistema("color3e");

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt lt" | * * * * * * * " lt lt0, volver al menú anterior. < lt "* * * * * * * |" lt; ltendl

cout lt lt" " " lt lt" | * * * * * * * " lt lt1, consultar información del bibliotecario

cout lt lt" " " lt lt" | * * * * * * * " lt lt" 2. Almacene la nueva información del administrador.

cout lt lt" " " lt lt" | * * * * * * * " lt lt"3. Modificar la información del bibliotecario"

cout lt lt" " " lt lt " | * * * * * * * " lt lt" 4. Nuevo libro"

cout lt lt" " " lt lt" | * * * * * * * " lt lt" 5. Eliminar libro "

cout lt lt" Por favor seleccione la acción a realizar: ";

CIN gt; gtq;

if(q gt; = 0 amp ampq lt6 )

{

Interruptor (q)

{

Caso 0:

l = 0; /p>

Pausa;

Caso 1: serchlanif();

Sistema("pausa");

Pausa;

Caso dos: bibliotecario de la tienda();

Sistema("pausa");

Caso tres: reLaninf();

Sistema("pausa" ) ");

Pausa;

Caso 4:

anular un libro de anuncios();

aadbook();

Pausa;

Caso 5:

void delate();

delate();

Pausa;

Valor predeterminado:

Interrupción;

}

}

Otro

{< / p>

system("cls");

system("color4e");

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt lt"¡Operación no válida! " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl p>

Sistema("pausa");

}

}

Otro

{

system("cls");

system(" color 2e ");

cout lt lt" " " lt ltendl

cout lt lt " " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt lt"Error de confirmación de identidad"

cout lt lt " " " lt lt "¿Le gustaría confirmar nuevamente? " lt ltendl

cout lt lt" " " lt lt"Presione 1 para reconfirmar, presione 0 para darse por vencido"< lt;endl

cout lt lt" ";

CIN gt; gth;

si(h = = 0)l = 0;

si (h==1)

{

Sistema("cls");

Sistema("

color 2e ");

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltPor favor, ingrese su contraseña nuevamente: ";

CIN gtme;

}

}

}

}

Void Studentland() //Función de inicio de sesión para estudiantes

{

int h ;

char l = ' y

while(l=='y ')

{

system("cls") ;

System("color3e");

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt lt"* * * * * * *" lt; lt|Para generar información de la biblioteca, presione 1 |

cout lt lt" " " lt lt"* * * * * * *" lt; lt | Para obtener información general sobre la biblioteca, presione 2 |.

cout lt lt" " " lt lt"* * * * * * *" lt; lt | Para buscar libros por título, presione 3 |.

cout lt lt" " " lt lt"* * * * * * *" lt; lt | Para obtener información para los lectores, presione 4 |.

cout lt lt" " " lt lt"* * * * * * *" lt; lt | Para regresar al menú anterior, presione 0 |.

cout lt lt"Seleccione la acción que realizará:"

CIN gt;

If (h gt= 0 amp amph lt5)

Interruptor (h)

{

Caso 0:

l = ' n

Romper;

Caso 1: outbook INF();

Sistema("pausa");

Pausa;

Caso 2: libary() ;

System("pausa");

Pausa;

Caso 3: buscar libro();

System("pausa " ");

Pausa;

Caso 4: sea hreader();

Sistema ("pausa");

}

Otro

{

Sistema("cls");

Sistema("Color4e ");

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl p>

cout lt lt" " lt lt"¡Su operación no es válida! !"

}

}

Void main() //función principal

{

int h, l = 1; /p>

Cuando(l)

{

system("cls");

system("color7c");

p>

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt lt"Sistema de gestión de biblioteca"

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt"-" lt; ltendl

cout lt lt" " " lt lt" ||Por favor presione 1 | " " lt lt" |||Presione 2 || "

cout lt lt" " " lt lt|||Para salir del sistema, presione 0 ||.

cout lt lt"-" lt; ltendl

cout lt lt" " " lt ltendl

cout lt lt"Seleccione el método de inicio de sesión: ";

CIN gt; gth;

Si (h gt= 0 amp amph lt3)

{

Interruptor (h)

{

Caso 0:

cout lt lt"¡Gracias por visitar nuestra biblioteca! " lt ltendl

Salir(0);

Caso 1:

librarianland();

Sistema("pausa");

Pausa;

Caso 2:

tierra estudiantil();

Sistema("pausa");

Romper;

}

}

Otro

{

Sistema("cls");

System("color4e");

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt ltendl

cout lt lt" " " lt lt"¡Su operación no es válida! ! ! !" lt ltendl

Sistema("pausa");

}

}

}

Libros Sistema de gestión de biblioteca