Red de conocimiento informático - Descarga de software - Programación del programa de gestión de bibliotecas en lenguaje C

Programación del programa de gestión de bibliotecas en lenguaje C

Esto es c

#includelt;iostreamgt;

#includelt;fstreamgt

#includelt;conio.hgt; p>

usando el espacio de nombres std;

clase Bibliotecario //Clase bibliotecaria

{

público:

Bibliotecaria ();

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

int getnumber()

int getjobage(); /p>

char *getname();

int getwages();

void resetjobage(int j

void resetwages (int w);

void resetname(char na[20]);

privado:

int número

int jobage

p>

char name[20];

int salarios;

};

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

{

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;

strcpy(nombre,na

salario=w);

}

int Bibliotecario::getjobage()

{return jobage;}

char *Bibliotecario:: getname()

{return name;}

int Librarian::getnumber()

{return number;}

int Librarian :: getwages ()

{devolver salarios;}

void Bibliotecario: :resetjobage(int j)

{

jobage= j; /p>

}

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

{

strcpy(nombre, na)

}

void Bibliotecario::resetwages(int w)

{

salarios=w

}

lector de clase //Clase de lector

{

privado:

número int

r;

int edad;

nombre de char[20];

libro de préstamo de char[20]; >

lector();

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

int getage();

char *getname();

char * getborrowbook()

void reworkborrowbook(char a). [20 ]);

};

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

{

char a [20 ]="Nadie";

char c[20]="No hay libros prestados"

número=0

edad=0;

edad=0; p>

}

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);

}

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

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

char *reader ::getname(){return name;}

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

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

struct book //La estructura del libro

{

int num;

nombre de caracteres [20];

escritor de caracteres[20];

};

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

{

int i;

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

<); p>char line[50];

coutlt;lt;"Título del libro"lt;lt;'\t'lt;lt;"Número de libro"lt;lt;'\t'lt;lt ;"Autor"lt;lt;endl;

for(i=1;ilt;=10;i)

{

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

coutlt;lt;linelt;lt;endl;

}

infile.close(); >

}

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

{

int n, i

archivo ifstream; ("

serchLaninf.txt");

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

else {coutlt;lt;"No hay gestión de información de gestión de biblioteca miembro"; salida(0);}

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

if(es)

{

Bibliotecario *A=nuevo Bibliotecario[n];

for(i=0;ilt;n;i)

{

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

}

for(i=0;ilt;n; i )

{

coutlt;lt;"número"lt;lt;'\t'lt;lt;"duración del servicio"lt;lt;'\t'lt ;lt ;"nombre"lt;lt;'\t'lt;lt;"salario"lt;lt;endl

coutlt;lt;A[i].getnumber()lt;lt; "\ t"lt;lt;A[i].getjobage()lt;lt;"\t"lt;lt;A[i].getname()lt;lt;"\t"lt;lt;A[ i] .getwages()lt;lt;endl;

}

}

else

{

coutlt ;lt; "Error al abrir el archivo de texto'"lt;endl;

}

is.close(); >

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

{

system("cls");

system("color 2e" );

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl; ;" "lt;lt;endl;

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

coutlt;lt;" (La biblioteca cuenta actualmente con ***10,000 volúmenes de libros de categoría ***, ****10,000 volúmenes de libros de categoría **** y **** 10.000 volúmenes de libros de categoría ****. **** libros ****10.000 volúmenes),";

coutlt;lt;"La biblioteca tiene *** nombres de los miembros actuales del personal" ;

coutlt;lt; ;"El moderno equipamiento existente de la biblioteca vale más de **** millones de yuanes..."lt;lt;endl; >

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

{

int age, n, num, salarial

char name[20; ];

ifstream file("serchLaninf.txt");

if(archivo) { filegt;gt;n; >else { n=0 ;}

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

coutlt;lt;nlt;lt;endl;

>

coutlt;lt;"Ingrese el número, la duración del servicio, el nombre y el salario del nuevo bibliotecario:";

cingt;gt;numgt;gt;agegt;gt;namegt;gt ;salario ;

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

coutlt;lt; "Número, antigüedad en el servicio, nombre, salario"lt;endl;

coutlt;lt;A.getnumber()lt;lt;" "lt;lt;A.getjobage()lt;lt;" "lt;lt;A.getname()lt;lt; " "lt;lt;A .getwages()lt;lt;endl;

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

outfile.write(); (char *)amp;A , tamañode(A));

outfile.close();

n

ofstream tfile("serchLaninf.txt; ");

tfilelt;lt;n;

tfile.close();

coutlt;lt; "¡Guardar correctamente!";

}

void reLaninf() //Modificar bibliotecario

{

int i, n, h, jobage, salario, j

nombre de carácter[20];

ifstream file("serchLaninf.txt");

if(archivo) { filegt;gt;n; ;}

else {coutlt;lt;"No hay bibliotecario";

exit(0);}

coutlt;lt;"Número de bibliotecario existente: " ;

coutlt;lt;nlt;lt;endl;

Bibliotecario *A=nuevo Bibliotecario[n]

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

if(es)

{

for(i=0;ilt;n;i)

{

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

}

para (i=0; ilt; n; i)

{

coutlt;lt;"Nº Antigüedad Nombre Salario"lt;lt;endl

coutlt;lt;A[i].getnumber()lt;lt;" "lt;lt;A[i].getjobage()lt;lt;" "lt;lt;A[i].getname()lt; lt;" "lt;lt;A[i].getwages()lt;lt;endl;

}

}

else

{

coutlt;lt;"Error al abrir el archivo"lt;lt;endl;

}

is.close(); >

coutlt;lt;"Por favor seleccione

El número de administrador que desea modificar: ";

cingt; gt; h;

coutlt; lt; "Ingrese la nueva antigüedad, nombre, salario: ";

cingt;gt;jobagegt;gt;namegt;gt;salario;

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

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

coutlt;lt;"El nombre modificado es: "lt;lt; [h-1].getname()lt;lt;" La antigüedad es: "lt;lt;A[h-1].getjobage()lt;lt;" El salario es: "lt;lt;A[h- 1 ].getwages()lt;lt;endl;

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

for(j=0;jlt;n ; j )

{

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

}

tfile.close();

}

void aadbook() //Agregar un nuevo libro

{

int num; nombre de caracteres[12]; escritor de caracteres[10]; int n;

a:

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

coutlt;lt;"Ingrese la información del libro:"lt;lt;endl

coutlt;lt;"Título del libro"lt;lt;'\t'lt; ; lt;"número de libro"lt;lt;'\t'lt;lt;"autor"lt;lt;endl

cingt;gt;name;foutlt;lt;namelt;lt;' \t ';

cingt;gt;num;foutlt;lt;numlt;lt;'\t';

cingt;gt;escritor;foutlt;lt;escritorlt;lt ;' \n';

fout.close();

coutlt;lt; "¿Quieres continuar escribiendo? 1. Sí 2. No"lt; ;

cingt; gt;

if(n==1)

ir a

else

{void Studentland();

studentland();}

}

void delate() //Eliminar función

{ int m;

coutlt;lt;"Seleccione la opción de operación: "lt;lt;endl;

coutlt;lt;" 1. Eliminar toda la información"lt;lt ;endl;

coutlt;lt;" >

coutlt;lt;" 2. Eliminación única "lt;lt;endl;

cingt;gt;m;

if(m==1)

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

coutlt;lt;"Todo eliminado, presione cualquier tecla para regresar!"lt;

lt; endl;

archivo.close();

getch();

sistema("cls"); tierra de estudiantes();

tierra de estudiantes();

}

char str[10][80], buf[20]; >a:

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

ifstream fin("allbook.txt");

if(! fin){

coutlt;lt;"¡Error al abrir el archivo!"lt;lt;endl;

getch(); ) ;

void Studentland();

studentland();

}

coutlt;lt;"Por favor, introduce lo que quieras para eliminar Título del libro: "lt; lt; endl;

cingt; gt; buf;

strcat(buf, "\t");

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

{

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

{

flag=i;

}

i

}

fin; .close ();

if(flag==100)

{

coutlt;lt;"¡No hay ningún libro que desees eliminar! Presiona 1 de nuevo, en caso contrario 0 ....."lt;lt;endl;

int b;

cingt;gt;b;

if(b= =1)ir a;

else c=1;

}

if(c==0){

ofstream ("allbook. txt");

for(int j=0;jlt;i;j){

if(j==flag)continue; p>foutlt; str[j]lt; endl;

}

fout.close(); libros que desea eliminar La información ha sido eliminada, continúe presionando 1, de lo contrario presione 0....."lt;lt;endl;

int b;

cingt; gt;b;

if(b==1)goto a;

}

coutlt;lt;"La operación ha finalizado, presione cualquier tecla para return..."lt ;lt; endl;

getch();

system("cls");

void Studentland();

studentland ();

}

void searchbook() // Buscar libros

{

a:

ifstream fin;

int flag=0, b, longitud;

char str[20]

char f[200] ; carbón

g[200];

fin.open("todolibro.txt");

if(!fin)

{

coutlt;lt;"Error f1.dat abierto..."lt;lt;endl;

exit(1); 1)

{

coutlt;lt;"Ingrese el título del libro:"

cingt;gt;str; strcat(cadena, "\t");

length=strlen(cadena);

coutlt;lt;"------------- - ----------------------"lt;lt;endl;

mientras(fin.getline(f, 199))

{

strcpy(g, f);

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

{

bandera=1;

romper;

}

}

if(bandera==1)

p>

{

coutlt;lt;"El libro consultado ha sido encontrado: "lt;lt;'\n'; ;"--- --------------------------------"lt;lt;endl

coutlt;lt;" Título del libro "lt;lt;'\t'lt;lt;"ISBN"lt;lt;'\t'lt;lt;"Autor"lt;lt;'\t'lt;lt ;endl;

coutlt;lt;glt;lt;endl;

coutlt;lt;"------------------ -------- ------"lt;lt;endl;

flag=0;

coutlt;lt;" Para continuar con la consulta, presione 1, de lo contrario presione 0: "lt;lt ;endl;

cingt;gt;b;

if(b==0)break;

}

else

else

p>

{

fin.close()

coutlt; ;lt;"Si no existe tal libro, continúe presionando 1; de lo contrario, presione 0..."lt;endl;

cingt; (b==0)romper;

ir a

}

}

fin.close(); >

coutlt;lt;"Consulta completada, presione cualquier tecla para regresar..."lt;endl

getch(); );

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];

.open("readernum.txt");

if(!fin)

{

coutlt;lt;"¡No existe tal archivo de información!" lt; lt; endl;

salir(1);

}

mientras(1)

{

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

cingt;gt;str;

strcat(str, "\t") ;

longitud=strlen(str);

coutlt;lt;"---------------------- -------- --------"lt;lt;endl;

mientras(fin.getline(f, 199))

{

strcpy( g, f);

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

{

bandera =1;

romper;

}

}

if(bandera==1)

{

coutlt ;lt;"El lector consultado ha encontrado: "lt;lt;'\n'

coutlt;lt;"---------- ------- ---------------"lt;lt;endl;

coutlt;lt;"Nombre"lt;lt;'\t 'lt;lt;"Número "lt;lt;'\t'lt;lt;"Edad"lt;lt;'\t'lt;lt;"Número de libros prestados"lt;lt;endl; >

coutlt;lt; glt;lt;endl;

coutlt;lt;"----------------------- -------- "lt;lt;endl;

flag=0;

coutlt;lt;" Para continuar con la consulta, presione 1, de lo contrario presione 0: "lt;lt;endl;

cingt; gt; b;

if(b==0)break;

ir a a;

}

else

{

fin.close();

coutlt;lt; persona, continúe presionando 1, de lo contrario presione 0..." lt; lt; endl;

cingt; gt; b;

if(b==0)break;

ir a;

}

}

fin.close();

coutlt;lt; Consulta completada, presione cualquier tecla para regresar..." lt; lt; endl;

getch();

system("cls");

void Studentland();

Studentland();

}

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

{

int i, b , h=0;

char a[20];

ifstream file("readernum.txt");

if(archivo) { filegt; gt ;b; archivo.c

perder();}

else { coutlt;lt;"Sin archivo";}

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

coutlt;lt;blt;lt;endl;

lector *A=nuevo lector[b];

ifstream is("reader.txt", ios_base::binary)

si(es)

{

for(i=0;ilt;b;i)

{

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

}

}

else

{

coutlt;lt;"Error al abrir el archivo txt"lt;lt;endl;

}

es. );

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

cingt;gt;a

for( i =0; b; i )

{

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

{

coutlt;lt;"Estado de préstamo del nombre de edad del número"lt;lt;endl

coutlt;lt;A[i].getnumber()lt;lt;" "lt;lt;A[i].getage()lt;lt;" "lt;lt;A[i].getname()lt;" "lt;lt;A[i].getborrowbook()lt ;lt; endl;

h

}

}

if(h==0)coutlt;lt;"No ¡Este lector ";

}

*/

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

{

int q, l=1, i, h;

sistema("cls");

sistema("color 2e"); coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;"Ahora para confirmar la identidad, ingrese la contraseña: "

cingt;gt;i; while(l)

{

if(i==00000)

{

sistema("cls"

p>

system("color 3e");

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" " lt;lt;endl ;

coutlt;lt;" "lt;lt;endl

coutlt;lt;" "lt;lt;"|****** *" lt;lt ;"0, volver al menú anterior."lt;lt;" ******|"lt;lt;endl;

coutlt;lt;" "lt; lt;"|* ******"lt;l

t;"1, Consulta la información del bibliotecario"lt;lt;" ******|"lt;lt;endl;

coutlt;lt;" "lt;lt;" | **********" lt; lt; "2, guarda la nueva información del administrador "lt; lt;" ******|"lt; lt; endl;

. coutlt;lt;" "lt;lt;"|************" lt;lt;"3. Modificar la información del bibliotecario"lt;lt;" ******|" lt; lt; ***|"lt;lt;endl;

coutlt;lt;" "lt;lt;"|*******" lt;lt;"5, eliminar book"lt; lt;" ******|"lt;lt;endl;

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

cingt ;gt;q;

if(qgt;=0amp;amp;qlt;6)

{

interruptor(q)

{

caso 0:

l=0;

romper;

caso 1: serchLaninf();

sistema( "pausa");

romper;

caso 2: storelibrarian();

sistema("pausa"); >

caso 3: reLaninf();

sistema("pausa");

descanso

caso 4:

void aadbook()

aadbook();

romper;

caso 5:

void delate(); p>

retrasar();

romper;

predeterminado:

romper

}

}

else

{

sistema("cls");

sistema("color 4e"); >

coutlt ;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt; lt;endl;

coutlt;lt;" "lt;lt;"¡La operación no es válida! "lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

sistema("pausa"

}

}

else

{

sistema("cls");

sistema("color 2e"); ""lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;

lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;" Error en la verificación de identidad"lt;lt;endl;

coutlt;lt;" "lt;lt;" ¿Quieres reconfirmar? "lt;lt;endl;

coutlt;lt;" "Presiona 1 para volver a confirmar y presiona 0 para rendirte"lt; endl;

coutlt; lt; " ";

gt;

if(h==0) l=0; >

if(h==1)

{

sistema("cls");

sistema("color 2e"); p>

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt; ;lt;endl;

coutlt;lt;" "lt;lt;"Por favor, introduzca la contraseña nuevamente: ";

cingt;gt;i; >}

}

}

}

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

{

int h;

char l='y';

mientras(l=='y')

{ < / p>

sistema("cls");

sistema("color 3e");

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;" "lt; ;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl; lt;" "lt;lt;"****** "lt;lt;"|Para generar información sobre la colección de libros, presione 1 | "lt;lt;"******"lt;lt;endl ;

coutlt;lt;" "lt;lt;"****** "lt;lt;"|Para consultar la información general de la biblioteca, por favor presione 2| "lt;lt; "** ****"lt;lt;endl;

coutlt;lt;" "lt;lt;"****** "lt;lt;"|Para buscar libros por título, haga clic en 3 | "lt;lt;"******"lt;lt;endl;

coutlt;lt;" "lt;lt;"****** " lt;lt; "|Para consultar información del lector, presione 4 | "lt;lt;"******"lt;lt;endl

coutlt;lt;" "lt;lt; ;" ** **** "lt;lt;"|Para volver al menú anterior, presione 0 | "lt;lt;"******"lt;lt;endl; p>coutlt;lt ;"Seleccione la acción que realizará:";

cingt;gt;h;

if(hgt;=0amp;amp;hlt;5)

interruptor(h)

{

caso 0:

l='n';

/p>

ruptura;

caso 1: outbookinf();

sistema("pausa"); p>caso 2: biblioteca();

sistema("pausa");

descanso

caso 3: libro de búsqueda();

sistema("pausa");

romper;

caso 4: seareader();

sistema("pausa"); >

romper;

}

else

{

sistema("cls"); >system("color 4e");

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl; >

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;"¡¡¡Tu operación no es válida!!!"lt;lt;endl

system("pausa");

}

}

}

void main() // Principal función

{

int h, l=1

mientras(l)

{

sistema ("cls");

system("color 7c");

coutlt;lt;" "lt;lt;endl; ;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;" Sistema de gestión de libros " lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;lt;" "lt;lt;endl;

coutlt;" "lt;lt;endl; >coutlt;lt;" ------------------"lt;lt;endl;

coutlt;lt;" "lt;lt ;"| |Inicio de sesión de administrador, presione 1||"lt;lt;endl;

coutlt;lt;" "lt;lt;"||Inicio de sesión de estudiante, presione 2 ||"lt;lt ;endl ;

coutlt;lt;" "lt;lt;"||Para salir del sistema, presione 0 ||"lt;lt;endl;

coutlt;lt;" - ------------------"lt;lt;endl;

coutlt;lt;""lt;lt;endl;

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

cingt;gt;h

if(hgt;=0amp;amp;hlt;3)

{

interruptor(h)

{

caso 0:

coutlt;lt;"Gracias por visitarnos este libro Pabellón! "lt;lt;endl;

salir(0);

caso 1:

Librarianland()

;

sistema("pausa");

pausa;

caso 2:

estudiante(); p>sistema("pausa");

romper;

}

}

else

{

sistema("cls");

sistema("color 4e");

coutlt;lt;" "lt;lt;endl; p>

coutlt;lt;" "lt;lt;endl;

p>

coutlt;lt;" "lt;lt;endl; lt;" "lt;lt;endl;

coutlt;lt;" "lt ;lt;"¡¡¡Su operación no es válida!!!"lt;lt;endl

system; ("pausa");

}

}

}