Red de conocimiento informático - Consumibles informáticos - Recompensa por puntuación alta y solicitud urgente de un fragmento de código fuente

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

#include

#include

#include

usando el espacio de nombres std;

clase Bibliotecario //Clase Bibliotecario

{

público:

Bibliotecario();

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

int getnumber();

int getjobage();

char * getname( );

int getwages();

void resetjobage(int j);

void resetwages(int w);

void resetname(char na[20]);

privado:

número int;

int jobage;

nombre char[ 20] ;

int salarios;

};

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

{

número=0;

char b[20]="nadie";

jobage=0;

strcpy(nombre, b) ;

}

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

{

número=n;

empleo=j;

strcpy(nombre,na);

salario=w;

}

int Librarian::getjobage()

{return jobage;}

char *Librarian::getname()

{ return nombre ;}

int Bibliotecario::getnumber()

{return number;}

int Bibliotecario::getwages()

{ devolver salarios;}

void Librarian::resetjobage(int j)

{

jobage=j;

}

void Librarian::resetname(char na[20])

{

strcpy(name,na);

}

void Librarian::resetwages(int w)

{

salarios=w;

}

lector de clase // Clase de lector

{

privado:

número int;

edad int;

nombre de carácter [20 ];

libro de préstamos char[20];

público:

lector();

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

int getnumber();

int getage();

char *getname(); p>

char * getborrowbook();

void reworkborrowbook(char a[20]);

};

lector::lector () //Implementación de su función

{

char a[20]="Nadie";

char c[20]="No prestado libro" ;

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(borrowbook,e);

}

int lector::getnumber(){número de retorno;}

int lector::getage(){edad de retorno;}

char *reader::getname(){nombre de retorno;}

char * lector::getborrowbook () {return lendbook;}

void lector::reworkborrowbook(char a[20]){strcpy(borrowbook,a);}

struct book //La estructura del libro

p>

{

int num;

char nombre[20];

char escritor[20];

} ;

void outbookinf() //Generar toda la información del libro

{

int i;

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

char line[50];

cout<<"Título del libro"<<'\t'<<"Libro número"<<'\ t'<<"Autor"<

for(i=1;i<=10;i++)

{

infile.getline( línea,50,'\n');

cout<

}

infile.close( );

}

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

{

int n,i;

archivo ifstream("serchLani

nf.txt");

if(file) { file>>n; file.close();}

else {cout<<"Sin administrador de información de biblioteca" ; salir (0);}

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

if(is)

{

Bibliotecario *A=nuevo Bibliotecario[n];

for(i=0;i

{

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

}

for(i=0;i

p>

{

cout<<"Número"<<'\t'<<"Antigüedad"<<'\t'<<"Nombre"<<'\t' <<" Salario"<

cout<

}

}

else

{

cout<<"Error al abrir archivo de texto'"<

}

is.close ();

}

void libary() //Información general de la biblioteca

{

system("cls") ;

p>

system("color 2e");

cout<<" "<

cout<<" "<

cout<<" "<

cout<<"La biblioteca de la escuela consta de la biblioteca principal y la biblioteca del campus de Pengzhou, con una superficie total de ** ** metros cuadrados";

cout<<" (La biblioteca ahora tiene ***10,000 libros sobre ***, ****10,000 libros sobre **** y libros sobre **** en **** Diez mil volúmenes de **** libros **** diez mil volúmenes),";

cout<<"El número de miembros actuales del personal en la biblioteca es ***" ;

cout< <"El moderno equipamiento existente de la biblioteca vale más de **** millones de yuanes..."<

}

void storelibrarian() //Guardar Ingrese la información del nuevo administrador

{

int age,n,num,wage;

char name[20];

archivo ifstream("serchLaninf.txt");

> if(file) { file>>n; file.close();}

else { n=0;}

cout<<"Número de perfil de bibliotecario existente: ";

cout<

cout<<"Ingrese el número, duración del servicio, nombre y salario del nuevo bibliotecario:";

cin>>num>>edad>>nombre>>salario;

Bibliotecario A(num,edad,nombre,salario);

cout<<"No. Nombre salario "<

cout<

ofstream outfile("controlloer.txt",ios_base::app );

outfile.write((char *)&A,sizeof( A) );

outfile.close();

n++;

ofstream tfile("serchLaninf.txt");

tfile<

tfile.close();

cout<<"¡Guardar correctamente!";

}

void reLaninf( ) //Modificar bibliotecario

{

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

char name[20];

ifstream file("serchLaninf.txt");

if(file) { file>>n; file.close();}

else { cout<<" Sin administrador de información de la biblioteca";

exit(0);}

cout<<"El número de bibliotecarios existentes:";

cout<

Bibliotecario *A=new Bibliotecario[n];

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

if (es)

{

for(i=0;i

{

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

}

for(i=0;

i

{

cout<<"Número, antigüedad, nombre, salario"<

cout<

}

}

else

{

cout<<"Error al abrir archivo" <

}

is.close();

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

cin>>h;

cout<<"Ingrese nueva duración del servicio, nombre, salario:";

cin>>trabajo>>nombre>>salario ;

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

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

A[h- 1].resetwages(wage );

cout<<"El nombre modificado del administrador es: "<

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

for(j=0;j

{

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

}

tfile.close();

}

void aadbook() //Agregar un nuevo libro

{

int num;char name[12];charwriter[10];int n;

a :

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

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

cout<<"Título del libro"< <'\t'<<"Número ISB"<<'\t'<<"Autor"<

cin>>nombre;fout<< nombre<<'\t';

cin>>num;fout<

cin>>escritor;fout<

fout.close();

cout<<"¿Quieres seguir escribiendo? 1. Sí 2. No"<

l;

cin>>n;

if(n==1)

ir a a;

else

{void Studentland();

studentland();}

}

void delate() //Eliminar función

{ int m;

cout<<"Seleccione opciones de operación:"<

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

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

cin>>m;

if(m==1)

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

cout<<"¡Todo eliminado, presione cualquier tecla para regresar!"<

file.close ();

getch();

system("cls");

void Studentland();

Studentland() ;

}

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

a:

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

ifstream fin("allbook.txt");

if(!fin){

cout<<" ¡Error al abrir el archivo!"<

getch();

system("cls");

void Studentland();

studentland();

}

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

cin>> buf;

strcat(buf,"\t");

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

{

mientras(fin.getline(str[i],80)) p>

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

{

flag=i;

}

i++;

}

fin. close();

if(flag==100)

{

cout<<"¡No hay ningún libro que quieras eliminar! Presione 1 nuevamente, de lo contrario 0....."<

int b;

cin>>b;

if(b== 1)ir a;

else c=1;

}

if(c==0){

ofstream fout( "allbook.txt");

for(int j=0;j

if(j==flag)continue

fout<

}

fout.close();

cout<<"El libro que desea eliminar La información ha sido eliminada, continúe presionando 1, de lo contrario presione 0..."

<

int b;

cin>>b;

if(b==1)ir a

}

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

getch(); "cls");

void Studentland();

studentland();

}

void searchbook() // Buscar libros

{

a:

ifstream fin;

int flag=0,b,length

< p; >char str[20];

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

fin.open("allbook.txt"); >if(!fin)

{

cout<<"Abrir error f1.dat....."<

}

while(1)

{

cout<<"Ingrese el título del libro:"

; p>

cin>>cadena;

strcat(cadena,"\t");

longitud=strlen(cadena);

cout< <"----------------------------------------"<

while(fin.getline(f,199))

{

strcpy(g,f

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

{

bandera=1;

descanso

}

}

if(flag==1)

{

cout<<"El libro consultado ha sido encontrado:"<<'\n';

cout<<"--------------------------------"<

cout<<"Título del libro"<<'\t'<<"Número ISB"<<'\t'<<"Autor"<<'\t'<

cout<< g<

cout<<"----------------------- ---"<

flag=0;

cout<<"Para continuar con la consulta, presione 1, de lo contrario presione 0:"<

cin>> b;

if(b==0)break;

}

else

{

fin.close();

cout<<"Si no existe tal libro, continúe presionando 1; de lo contrario, presione 0..."<

cin>>b;

if(b==0)break;

ir a;

}

}

fin.close();

cout<<"Consulta completada, presione cualquier tecla para regresar..."<

getch(

system("cls");

void Studentland();

Studentland();

}

void seacreader() // Consultar información del lector

{

a:

ifstream fin

int flag=; 0, b, longitud;

char str[20];

char f[200];char g[200]; lectornum. txt");

if(!fin)

{

cout<<"¡No existe tal archivo de información! "<

salir(1);

}

mientras(1)

{

cout<<"Por favor ingresa lo que estás buscando Nombre del lector: ";

cin>>str;

strcat(str,"\t");

length=strlen (cadena);

cout<<"--------------------------------"<< endl ;

while(fin.getline(f,199))

{

strcpy(g,f)

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

{

flag=1

break

}

p>

}

if(flag==1)

{

cout<<"El lector consultado ha sido encontrado:"<<' \n';

cout<<"----------------------- ---"<< endl;

cout<<"Nombre"<<'\t'<<"Número"<<'\t'<<"Edad"<<'\t'< <"Número de libros prestados" <

cout<

cout<<"-------------; ------------- ------------"<

bandera=0;

cout<<"Para continuar la consulta, presione 1, de lo contrario presione 0:"<

cin>>b

if(b==0)break;

ir a;

}

else

{

fin.close()

;

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

ir a;

}

}

fin.close(); >

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

getch()

system("cls");

void Studentland();

studentland();

}

/*void seachreader() //Consultar información del lector

{

int i,b,h=0;

char a[20];

ifstream file("readernum.txt" );

if(archivo) { archivo>>b; archivo.close();}

else { cout<<"Sin archivo";}

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

cout<

lector *A=nuevo lector[b];

ifstream es("reader.txt",ios_base::binary);

if(is)

{

for(i=0;i< b ;i++)

{

is.read((char *)&A[i],sizeof(A[i]));

}< / p>

}

else

{

cout<<"Error al abrir archivo txt"<

}

is.close();

cout<<"Por favor, introduzca el nombre del lector que está buscando:";

cin>>a ;

for(i=0;i

{

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

{

cout<<"Estado de préstamo de número, edad, nombre"<

cout<

h++;

}

}

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

}

*/

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

{

int q,l=1,i,h;

system("cls")

system("color 2e");

cout<<" "<

cout<<" "<

cout<<" "<

cout<<" "<<"Para confirmar su identidad ahora, ingrese la contraseña: ";

cin >>i ;

mientras(l)

{

si(i==00000)

{

sistema ("cls");

sistema("color 3e");

cout<<" "<

cout<< " "<

cout<<" "<

cout<<" "<<"|*******" <<"0 , volver al menú de primer nivel anterior."<<" ******|"<

cout<<" "<<"|********* ***" <<"1, Consultar información del Bibliotecario"<<" ******|"<

cout<<" "<<"|****** ******" <<"2 ,Guardar información del nuevo administrador "<<" ******|"<

cout<<" "<<"|* ******" < <"3, Modificar la información del bibliotecario"<<" ******|"<

cout<<" "<<"|** ********" <<"4,Libros nuevos"<<" ******|"<

cout<&l

t;" "<<"|************" <<"5, eliminar libro"<<" ******|"<

cout<<" Por favor seleccione la operación a realizar: ";

cin>>q;

if(q>=0&&q<6)

{

cambiar(q)

{

caso 0:

l=0;

romper;

caso 1:serchLaninf();

sistema("pausa");

descanso;

caso 2:storelibrarian();

sistema("pausa");

caso 3:reLaninf();

sistema("pausa");

descanso ;

caso 4:

anular aadbook();

aadbook();

romper;

caso 5:

void delate();

delate();

break;

predeterminado:

romper;

}

}

else

{

system("cls");

system("color 4e");

cout<<" "<

cout<<" "<

cout<< " "<

cout<<" "<<"¡La operación no es válida! "<

cout<<" "<

cout<<" "<

cout<<" "<

sistema("pausa");

}

}

else

{

system("cls");

sistema("color 2e");

cout<<" "<

cout<<" "<

cout <<" "<

cout<<" "<<" Error en la confirmación de identidad"<

cout<<" "<<" ¡Confirmar de nuevo! " <

cout<<" "<<"Para volver a confirmar, presione 1, para darse por vencido, presione 0"<

cout<< " ";

cin>>h;

si(h==0) l=0;

si(h==1)

{

system("cls");

system("color 2e");

cout<<" "<

cout<<" "<

cout<<" "<

cout<<" "<<"Por favor, introduzca el contraseña nuevamente:" ;

cin>>i;

}

}

}

}

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

{

int h;

char l='y';

while(l=='y')

{

sistema("cls");

sistema("color 3e");

cout<<" "<

cout<<" "<

cout<<" "<

cout< <" "<

cout<<" "<

cout<<" "<

cout<<" "<<"****** "<<"|Para generar información sobre la colección de libros, presione 1 | "<<"******"<

cout<< " " <<"****** "<<"|Para consultar la información general de la biblioteca, por favor presione 2| "<<"******"<

cout<< " "<<"****** "<<"|Para buscar libros por título, presione 3 | "<<"******"<

cout< <" "<<"****** "<<"|Para consultar la información del lector, presione 4 | "<<"******"<

cout< <" "<<" ****** "<<"|Para volver al menú anterior, presione 0 | "<<"******"<

cout <<"Por favor seleccione la operación que realizará:";

cin>>h;

if(h>=0&&h<5)

cambiar( h)

{

caso 0:

l='n';

romper;

caso 1:outbookinf();

sistema("pausa");

descanso;

caso 2:libary();

sistema("pausa");

pausa;

caso 3: libro de búsqueda();

sistema("pausa");

pausa;

caso 4:seachreader();

sistema("pausa");

pausa;

}

más

{

sistema("cls");

sistema("color 4e");

cout<<" "<

cout<<" "<

cout<<" "<

cout<<" "<<"Su operación no es válida ! función principal

{

int h,l=1;

while(l)

{

system("cls");

system("color 7c");

cout<<" "<

cout<<" " <

cout<<" "<

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

cout<<" "<

cout<<" "<

cout<<" -- ------------ ----"<

cout<<" "<<"||Inicio de sesión de administrador, presione 1||"<

cout<<" " <<"||Para que los estudiantes inicien sesión, presione 2 ||"<

cout<<" "<<"||Por favor, cierre sesión en el sistema Presione 0 ||"<

cout<<" -------------------"<

cout<<"" <

cout<<" Elija el método de inicio de sesión: ";

cin>>h;

if( h>=0&&h<3 )

{

cambiar(h)

{

caso 0:

cout<

<"¡Gracias por visitar esta biblioteca!"<

exit(0);

caso 1:

Librarianland();

sistema("pausa");

pausa;

caso 2:

tierra de estudiantes();

sistema( " pausa");

pausa;

}

}

más

{

sistema("cls");

sistema("color 4e");

cout<<" "<

cout< < " "<

cout<<" "<

cout<<" "<<"¡¡¡Tu operación no es válida!!!"<< endl;

system("pause");

}

}

}

Sistema de gestión de bibliotecas.