Cómo ingresan los usuarios la información del libro.

# incluir ltiostream.h gt

# incluir ltstring.h gt

# incluir ltiomanip.h gt

Libro de texto//Libro de texto

{

Privado:

static int n; //miembro estático

Número de carácter [15] //número de libro

char; nombre[30]; //El nombre del libro

char autor[20]; //El autor de este libro

char fenlei[15] //Tipo de libro

p>

char language[15]; //El idioma del libro

char Zhuangtai[5] //El estado del libro

Público:

libro();//Constructor

libro(char a[], char b[], char c[], char d[], char e[], char f []);/ /Constructor

void setbook(); //Establecer función de entrada

void out com() //Función de salida

Clase amiga arry//Sí Metaclase

};

arry //arry clase

{

Privado:

Libro* a ;//Submiembro

int len//Longitud

Público:

arry(int s){ len = s; len]; libro::libro();}//Constructor

~ arry(){ eliminar[]a;}//Destructor

void add() //Agregar Función

void del(); //Eliminar función

void find(); //Buscar función

void modificar() //Modificar función

void sort(); //Función de clasificación

void count(); //Función estadística

void get() //Función de préstamo

void back(); //Función de retorno de libro

void print(); //Función de visualización

int menu() //Función de menú

};

int libro::n = 0;

Libro::libro() //Constructor

{ strcpy(número, " - "); strcpy (nombre, "-");

strcpy (autor, "-"); strcpy (distribución, "-");

strcpy (idioma, "- "); strcpy(Zhuangtai, "-");}

Libro:: libro (char a [], char b [], char c [], char d [], char e [], char f[])//Constructor.

{ strcpy(número, a); strcpy(nombre, b);

strcpy(autor, c); strcpy(language, e); strcpy(banker, f);

n;}

Void book::setbook() //Establece la función de entrada.

{ cout lt lt"Ingrese los datos del libro"

cout lt lt"Ninguno"< ltsetw(20) lt"Título"

lt lt; "Idioma" < ltsetw(10) lt; lt "Estado"

CIN gt; gtws gt gt número gt gt nombre gt gt autor gt gtfenlei gt gt banquero gt gt;

n;}

Libro vacío::outcom() //Función de salida

{ if(strlen(número)!=0)

cout lt lt número lt ltsetw(21) lt; ltnamelt ltsetw(16) lt; ltauthorlt ltsetw(14) lt; ltZhuang Tailt ltendl

}

void ary::Add()//Agregar función

{ if(book::n!=0)

{

for(int I = libro::n-1;i ltleni)

{

a[i 1]. book::setbook();

cout lt lt "¿Quieres continuar agregando? OK(y)/Cancelar(n):";

char c;

CIN gt; gtc;

if(c=='y'||c=='Y ')continuar;

si no(c == ' N ' | | c = = ' N '){ cout lt; "No agregar!" lt ltendl return }

else { cout lt lt"¡Error de selector, salir por defecto!"

Devolución;}

}

}

Otro

{

para ( int I = 0; I ltleni )

{

A[I].

book::setbook();

cout lt lt "¿Quieres continuar agregando? OK(y)/Cancelar(n):";

char c;

CIN gt; gtc;

if(c=='y'||c=='Y ')continuar;

si no(c == ' N ' | | c = = ' N '){ cout lt; "No agregar!" lt ltendl return }

else { cout lt lt"¡Error de selector, salir por defecto!"

Volver;}

}

}

}

voidary::del()//Eliminar función

{

cout lt lt"Seleccione el método de eliminación (ruta)"

cout lt lt"1. Eliminar por número"

cout lt lt"2. Eliminar por título"

cout lt lt"Ingrese el número del método:";

int i, j, k;

char c;

CIN gt;

if (k==1)

{ char n[15];

cout lt lt"Ingrese un número:";

CIN gt;

{ for (I = 0; i lt book:: n; i)

Si (!strcmp(a[i].Cantidad, n))

{

j = I;

cout lt lt " para ser eliminado Mensaje: "

cout lt "Ninguno" < ltsetw(20) lt "Título"

lt "Idioma" < ltsetw(10) lt; "Estado"

a[j].

book::out com();

cout lt lt"¿Está seguro de que desea eliminarlo? OK(y)/Cancelar(N)";

CIN gt; ;

if(c=='y'||c=='Y ')

{ for(I = j;ilt书::n-1;i)< / p>

a[I]= a[I 1];

cout lt lt"La información ha sido eliminada:"

libro::n-;return;

p>

}

si no(c=='n'||c=='N ')

{

cout lt lt" ¡Cancelar eliminación! " lt ltendl

Regresar }

else { cout lt "¡Error de selección, salir de forma predeterminada!" p>Return;}

p>

}

}

cout lt lt"¡El contenido que desea eliminar no existe!" lt ltendl regresa; /p>

}

Si (k==2)

{

char m[40];

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

CIN gt; gtm;

{

for(I = 0;ilt书::n;i)

if (! strcmp (a[i].Nombre, m))

{

j = I;

cout lt lt "Información a eliminar:"

cout lt "Ninguno" < ltsetw(20) lt; "Título"

lt lt"Idioma" < ltsetw(10) lt; "Estado"

a[j].

book::out com();

cout lt lt"¿Está seguro de que desea eliminarlo? OK(y)/Cancelar(N)";

CIN gt; ;

if(c=='y'||c=='Y ')

{

for(I = j;ilt书:: n -1;i)

a[I]= a[I 1];

cout lt lt"La información ha sido eliminada"

libro: :n -; devolver

}

si(c=='n'||c=='N ')

{

cout lt lt"¡Cancelar eliminación!" "¡Seleccione Error, salga de forma predeterminada!" lt ltendl devuelve; }

}

}

cout lt lt “El contenido que desea eliminar no existe !” lt ltendl devuelve ;

}

}

void ary::Buscar()//Buscar función

{

cout lt lt"Por favor seleccione el método de búsqueda"

cout lt lt"1. Buscar por número"

cout lt lt"2. Buscar por título y autor "

cout lt lt"Ingrese el método: ";

int i, j, k;

CIN gt; gtk;

If (k== 1)

{ char n[15];

cout lt lt"Ingrese un número:";

CIN gt ; gtn;

for(I = 0;i lt libro::n;i)

if (!strcmp(a[i].Cantidad, n))

{

j = I;

cout lt lt"La información del libro que estás buscando:"

cout lt lt"Ninguno"< ltsetw(20) lt;lt"Título "

lt lt"idioma" < ltsetw(10) lt"estado"

a[j]. book::out com();

return;

}

else { cout lt lt "¡Este libro no está escondido en un museo!" romper;}

}

else if(k==2)

{

char n[40]; 20];

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

CIN gt; gtn gt gtm;

for(I = 0; I libro: :n;i)

if (!strcmp(a[i].nombre,n) y amp amp!strcmp(a[i].autor,m))

{

j = I;

cout lt lt"La información del libro que estás buscando:"

cout lt lt"No"< ltsetw (20 ) lt; lt "Título"

lt lt "Idioma" < ltsetw(10) lt "Estado"

a[j].

book::out com();

Return;

}

else { cout lt lt "¡Este libro no está escondido en un museo!" Return;}

}

}

void ary::modify()//modificar función

{

cout lt lt"Seleccione el método de modificación"

cout lt lt"1. Modificar por número"

cout lt lt"2. Modificar por título"

cout lt lt"3. Modificar según autor"

cout lt lt"4. Modificar por categoría"

cout lt lt"5. Modificar por idioma"

cout lt lt"6. Modificar por estado"

cout lt lt"Ingrese el método:";

int k, I, j;

char A[15];

char b[50];

char c[20];

char d[15];

char e[10];

char f[5];

CIN gt; gtk;

if (k== 1)

p>

{

cout lt lt"Ingrese un número:";

CIN gta;}

else if(k==2 )

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

CIN gt; gtb;}

else if(k= =3)

{ cout lt lt"Ingrese el nombre del autor:";

CIN gt;}

else if(k==4 )

{

cout lt ltIngrese el nombre de la categoría: "";

CIN gt;}

else if( k==5)

{ cout lt ltIngrese el nombre del idioma (chino, inglés u otro): ";

CIN gt; gte;}

else if(k==6)

{ cout lt lt"Ingrese el estado (prestado (n)/no prestado (y): ";

CIN gt; gtf; }

else { cout lt lt"Error de entrada, salir de la modificación por defecto!" libro:: n; i)

Si(! strcmp(a[i].No.,A)||! strcmp(a[i].nombre,b)||! strcmp(a[i].autor,c)||! strcmp(a[i].fenlei,d)||! strcmp(a[i].idioma,e)||! strcmp(a[i]. Banquero, f))

{

j = I;

cout lt lt"La información que desea modificar:"

cout lt"Ninguno" < ltsetw(20) lt"Título"

lt"Idioma" < ltsetw(10) lt"Estado"

a[j].

book::out com();

cout lt lt "¿Está seguro de que realmente desea modificarlo? Aceptar (Sí)/Cancelar (No): "

char c;

CIN gt; gtc;

if(c=='y ')

a[j]. book::setbook();

book::n-;return;}

else if(c = = ' n '){ cout lt"Cancelar modificación"

}

else cout lt lt"¡El contenido que desea modificar no existe!" sort()//Función de clasificación

{

cout lt lt"Seleccione el método de clasificación"

cout lt lt"1. Ordenar por número"

cout lt lt"2. Ordenar por título"

cout lt lt"3. Ordenar por autor"

cout lt lt"Método de entrada: ";

int k;

int i, j;

libro s;

CIN gtk; if(libro ::n gt;1)

{

if (k==1)

for(I = 0;ilt libro::n -1 ;i)

{

for(j = 0;j ltbook::n-1-I;j)

if(strcmp(a [j ].No., a[j 1]. ]= s ;}

}

si no(k==2)

for(I = 0;ilt书::n-1;i )

{

for(j = 0;j ltbook::n-1-I;j)

if( strcmp(a[j]. nombre, a[j i nombre)>0)

{ s = a[j]; a[j]= a[j 1]; >

}

else if(k==3)

for(I = 0;ilt书::n-1;i)

{

for(j = 0;j ltbook::n-1-I;j)

if(strcmp(a[j].Autor, a[j 1].

Autor)>0)

{ s = a[j]; a[j]= a[j 1]; a[j 1]= }

}

else cout lt lt"Selección incorrecta, no ordenada de forma predeterminada!"

else if(book::n==0)

cout lt lt " ¡No se puede comparar! ” lt ltendl

else if(book::n = = 1);

}

voidary::count()/ /Función de préstamo

{

cout lt "Colección actual de la biblioteca:" < ltbook::n lt "libro"

}

void arry::get()

{

char s[40];

int I;

cout lt lt "Ingrese el título del libro que desea tomar prestado "

CIN gt; gts;

{ for (I = 0; i lt book:: n; i)

if (! strcmp (a [i]. nombre, s) y amp. amp (strcmp (a [i]). Zhuang Tai, "y") == 0 || strcmp (a [i] , Zhuang Tai ," Y")==0))

{

cout lt lt"Información sobre el libro que desea pedir prestado:"

cout lt lt"No" < ltsetw(20) lt; lt"Título"

lt lt"Idioma" < ltsetw(10) lt"Estado"

A[I] . book::out com();

cout lt lt" se puede pedir prestado, ya sea para pedir prestado OK (y)/Cancelar (N), ingrese: "

char c;

p>

CIN gt; gtc;

if(c=='y ')

strcpy(a[i]). Banquero, "n");

Devolución;}

De lo contrario{

cout lt lt"¡Cancelar el préstamo!" p>}

}

else if(!strcmp(a[i]. Nombre y dirección. amp(strcmp(a[i]).

Zhuang Tai, " n")==0||strcmp(a[i]. Zhuang Tai, " n")==0))

{

cout lt lt" Este libro ha sido prestado"

}

}

cout lt lt"¡Este libro no está escondido en el museo!" lt ltendl

}

voidary::back()//función de retorno

{

char n[15];

int I ;

cout lt ltIngrese el código del libro que desea devolver:

CIN gt; gtn;

{ for(I = 0; Ilt book ::n;i)

if (!strcmp(a[i].Cantidad, n) y amp ampstrcmp(a[i].Tabla bancaria, "y")!=0)

{ cout lt lt"Información sobre el libro que desea devolver:"

cout lt lt"Ninguno"< ltsetw(20) lt"Título"

lt lt"Idioma" < ltsetw(10) lt; lt"Estado"

A[I]. book::out com();

cout lt "Confirmar si se debe devolver el libro: Confirmar (y)/no (n)" ltendl

char c;

CIN gt; gtc;

if(c=='y ')

strcpy(a[i]). Zhuangtai, "y");

cout lt lt"Devolver el libro correctamente"

Devolver;}

else if(c=='n ')

{

cout lt lt"Cancelar devolución"

Regresar;}

else { cout lt lt"Error de entrada. Salida predeterminada !" lt ltendl

Return;}

}

}

cout lt "El libro que desea devolver no está oculto en ¡La biblioteca está prestada!" lt ltendl

}

void ary:: print()//display function

{

cout lt lt"Ninguno"< ltsetw(20) lt; lt"Título"

lt lt"Idioma" < ltsetw(10) lt"Estado"

for (int i; = 0; i lt libro: :n; i)

A[i].

book::out com();

}

Int arry::menu() //Función de menú

{

int I;

cout lt lt"¡Bienvenido al sistema de gestión de bibliotecas!" .Eliminar "

cout lt lt" 3. Buscar "

cout lt lt" 4. Modificar "

cout lt lt" 5. Ordenar"

cout lt lt"6. Estadísticas"

cout lt lt"7. Pedir prestado libros"

cout lt lt"8. Devolver libros"

cout lt lt"9. Mostrar"

cout lt lt"10. Salir y finalizar el programa"

cout lt lt"Seleccione (1~10) para ejecutar el programa"

for(;;)

{

CIN gt; gt i;

if (i lt1 | | I gt ; 10 )

cout lt lt"Error de entrada, ¡inténtalo de nuevo y selecciona (1~10)!:" lt ltendl

else break}

Regresar I;

}

Void main() //función principal

{

char c = ' y

int n;

cout lt "Ingrese el número de libros que desea crear - n" < endl

CIN gtn;

llevar un (n);

while(c=='y'||c=='Y ')

{

Cambiar(a. menu() )

{

Caso 1: a . add();

Caso 2: a . p>

Caso tres: a. buscar(); romper;

Caso cuatro: a. modificar(); romper;

Caso cinco: a. a. imprimir (); romper;

Caso 6: a. contar();

Caso 8: a . back(); break;

Caso 9: a . print(); "Salir del programa, ¡gracias por usarlo! " lt ltendl

}

cout lt lt" ¿Quieres continuar volviendo a la página de inicio? (Sí/No): ";

CIN gt; gtc;

}

}