Un sistema de gestión de redacción de libros en idioma C.

# incluir ltiostream gt

# incluir ltiomanip gt

# incluir ltstring gt

# incluir ltfstream gt

# incluir ltstdio.

Usar espacio de nombres std

const int Maxb = 10000; //La mayoría de los libros

Libros del aula//libros

{

int tag; // Eliminar marca 1: Eliminado 0: No eliminado.

int número; //número ISBN

char nombre[20]; //título del libro

char autor[10]; jefe

char número 2[10]; //Versión

Posición del carácter[20]; //Presione

Tiempo de carga[20]; año

int precio; //Precio

int en el estante//Está en el estante No. 1: En el estante No. 0: ¿Prestado?

Público:

Libro() {}

char * getname(){ return name;}//Obtener el nombre

int get number(){ return number;}//Obtener el número ISBN

int gettag(){ return tag;}//Obtener la etiqueta de eliminación

char * getauthor( ){ return Author;}//Obtener el editor

char * get number 2(){ return number 2;}//Obtener el número de versión

char * get position() { return position;} //Obtener el editor

char * gettime(){ return time;}//Obtener el año de publicación

char getprice(){ return price;}/ /Obtener el precio del libro void del book(){ tag = 1;}//Eliminar libro

Void addbook (int n, char * na, char * au, char * N2, char * da, char * ti, int pr)/ /Agregar libros.

{

etiqueta = 0;

número = n;

precio = pr

strcpy(nombre) , no aplicable);

strcpy (autor, AU);

strcpy (número 2, N2); p>

strcpy(time, ti);

on Shelf = 1;

} void disp() //Libros de salida

{< / p>

cout lt ltsetw(10) lt; ltnumberlt ltsetw(10) lt; ltnamelt ltsetw(10)

lt ltsetw(10) lt; (10) lt; ltlocationlt ltsetw(10) lt; lttimelt ltsetw(10) lt; ltpricelt ltendl

}

} ;Base de datos tipo B//Clase de biblioteca

{

int top//Puntero de registro de libro

libro libro[Maxb];//Registro de libro

Público:

BDatabase() //Constructor, lee book.txt en book[].

{

libro b;

top =-1;

archivo fstream("libro.txt", IOs::in );

mientras (1)

{

archivo read((char *) amp; b, sizeof(b));

si (! archivo) se rompe;

arriba;

libro[top]= b;

}

archivo. close();

}

Nulo clear() //Eliminar todo

{

top =-1;

}

Intaddbook (int n, char * na, char * au, char * N2, char * da, char * ti, int pr) // Agregar libro.

{

libro * p = búsqueda 1(n);

if (p==NULL)

{

arriba;

Libro [arriba]. addbook(n, na, au, n2, da, ti, pr

Devuelve 1;

}

Devuelve 0; p>}

libro * buscar 1(intbookid)//Buscar libros.

{

for(int I = 0; i lt= topi)

if (libro[i].getnumber()= = bookid amp; amp

Libro[I].gettag()==0)

Devolver libro amp[I];

Devolver NULL

} book * search2 (int bookmark, char * name)//Buscar libros por título.

{

for(int I = 0; i lt= topi)

if(strcmp(libro[i]).

getname(), nombre)==0)

{bookid=libro[i]. get number(); ltbr gt devuelve amp libro[I]; ltbr gt}

devuelve NULL

} libro * búsqueda3 (int bookid, char * autor) // presiona editor Buscar libros.

{

for(int I = 0; i lt= topi)

if(strcmp(libro[i]).getauthor(),autor) ==0)

{bookid=libro[i]. get number(); ltbr gt devuelve amp book [I]; ltbr gt}

Devuelve NULL

} void book data() //Mantenimiento de la biblioteca

>Visualización no válida()

{

cout lt ltsetw(10) lt; lt"número de libro"

for(int I = 0; i lt= topi )

if (libro[i].gettag()==0)

libro[i]. disp();

}

~BDatabase() //Destructor, escribe libro[] en el archivo book.txt.

{

fstream file("book.txt", IOs::out);

for(int I = 0; ilt=topi)< / p>

if(libro[i].

gettag()==0)

archivo . write((char *) & libro[i], tamañode(libro[I]);

archivo . close();

}

};void BDatabase::bookdata()

{

int elección = 1;

int elección 2 = 1;

int elección 3 = 1;

int elección4

char bname[40];

Editor de caracteres [40];

char banci[40];

Posición de carga[40];

char año[40];

int valor;

int bookid

libro * b;

y (select!=0)

{

cout lt ltendl lt ltendl

cout lt lt"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *" lt; ltendl

cout lt "* * * 1 más libro* * * *" lt; ltendl

cout lt lt"****tres libros eliminados ***"

cout lt lt"**** 4 libros para consultar***"

cout lt lt"**** 5 para mostrar este libro***"

cout lt lt"**** 6Eliminar todo * * * * *" lt; ltendl

cout lt lt"**** 7Préstamo de libros***"

cout lt lt"**** 8 devolver el libro***"

cout lt lt"**** 0 salir* * * * *" lt; lt lt"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *" lt; ltendl lt lt"Presione el botón para seleccionar la operación que necesita:";

CIN gt;

Y (¡Seleccione! =1.

amplificador elige! = 2 amperios a elegir! = ¡3 amperios a elegir! = 4 amperios a elegir! = 5 amperios a elegir! = ¡6 amperios para elegir! =0){

cout lt ltendl lt lt"* *El número que ingresaste no existe en el menú, vuelve a ingresarlo* *" lt\ a ' lt ltendl lt ltendl

cout lt lt" Seleccione la operación que necesita: ";

CIN gt;

}

Cambiar (seleccionar)

{

Caso 1:

cout lt lt"Ingrese el ISBN (debe ser un número, de lo contrario será anormal):";

CIN gt; gtbookid

cout lt lt"Ingrese el título: ";

CIN gt; gtbname

cout lt lt"Ingrese el editor: ";

CIN gt; gt edit;

cout lt lt "Versión de entrada (debe ser un número, de lo contrario será anormal):"; banchi;

cout lt lt"Ingrese el editor:";

CIN gt; posición gt;

cout lt lt"Ingrese el año de publicación (debe ser un número, de lo contrario no funcionará correctamente):";

CIN gt; gt año;

cout lt lt"Ingrese el precio (debe ser un número, de lo contrario funcionará ser anormal):";

CIN gt; gt valor;

addbook(bookid, bname, editor, banci, posición, año, valor);

cout lt lt" ISBN " < ltbookid lt lt" agregado exitosamente, si desea regresar al menú principal, presione 1, para salir del sistema, presione 0 (asegúrese de ingresar un número)";

CIN gt; gtSelect 4;

while(Select 4 ! = 0 amp ampSelect 4! =1)

{

cout ltError de entrada, por favor volver a ingresar

CIN gt; gtSelect 4;}

Cambiar (opción 4)

{

Caso 1:

elección = 1;

Romper;

Caso 0:

elección = 0;

Roto;}Roto;

Caso 3:

cout lt lt"Ingrese ISBN:";

CIN gt; gtbookid

b = búsqueda 1(bookid );

if (b==NULL)

{

cout lt lt"Este libro no existe"

Romper;

}

b- gt;del libro();

Romper;

Caso 4:

cout lt lt"Método de búsqueda:"

CIN gt ; gtSelect 3;

Cambiar (opción 3)

{

Caso 1 :

{ cout lt lt" Introduzca ISBN: ";//Buscar por número de ISBN < br gtCIN gt; gtbookid ltbr gtb = buscar

1(bookid); ltbr gtif(b = = NULL) lt; br gt{ ltbr gtcout lt "Este libro no existe"

b- gt();

}

Pausa;

Caso 2:

{

cout lt ltPor favor ingrese el título: ";

CIN gt; gtbname

b=search2(bookid, bname);

if(b==NULL)

{

cout lt lt"¡Este libro no existe! ” lt ltendl

Romper;

}

b- gt; disp();

}

Break;

Caso 3:

{

cout lt lt"Ingrese al editor:";

CIN gt;

b=search3(bookid,editor);

if(b==NULL)

{

cout lt lt" Editor en jefe ¡No existe! ” lt ltendl

Romper;

}

b- gt; disp();

}

Romper;

}

Romper;

Caso 5:

disp();

Romper;

Caso 6:

clear();

Romper;

} }

cout lt ltendl lt lt "* * * * *Viaje lento* * * * *"< lt;endl lt ltendl lt ltendl

};

int main()

{

bBase de datos BookDB

cout lt ltendl lt ltendl lt ltendl

cout lt lt"Bienvenido a la biblioteca SCU" ltendl

cout lt lt"Bienvenido a la Biblioteca de la Universidad de Sichuan"< ltendl

cout lt ltendl lt ltendl lt lt"Ingrese 0 para ingresar a la biblioteca"

int w;

CIN gt; gtw;

if (w==0)

datos del libro();

sistema("pausa"); p>

Devuelve 0;

}