Código fuente del sistema de gestión de biblioteca c urgente
{ system("cls");
CNode *pNode;
CTelRecord *pTel;
char szName[20], szNumber[ 20], kind[20], escritor[20];
coutlt;lt;"/n\t\t ◇ Ingrese el nombre del libro (ingrese 0 para end ): ";
cin.getline(szName, 20);
while(strcmp(szName, "0")
{
coutlt;lt;"\t ◇Ingrese el número del libro: ";
cin.getline(szNumber, 20);
coutlt;lt;"\t ◇ Ingrese el tipo de libro (ciencias sociales, autor, literatura, libro de referencia, otro): ";
cin.getline(kind, 20);
coutlt; lt; "\t ◇ Por favor ingrese el nombre del autor: ";
cin.getline(autores, 20); system("cls");
coutlt;lt;"\n\t\t ☆Ingrese el nombre del libro (ingrese 0 para finalizar): ";
cin.getline(szName, 20);
}
coutlt;lt;endllt;lt;endl;
}
void DisplayRecord(CList & TelList)
{ system("cls");
coutlt;lt;endllt ;lt;setw( 15)lt;lt;" ☆ Título del libro☆ "lt;lt;setw(15)lt;lt;"☆ Número de libro☆ "lt;lt;setw(15)lt;lt;"☆ Libro escriba☆ "lt;lt ;setw(15)lt;lt;"☆ Autor☆ \n"lt;lt;endl;
TelList..ShowList();
coutlt ;lt;endllt;lt ;endl;
}
void LookUpRecord(CList & TelList)
{ system("cls");
CNode * pLook;
char szName[20];
coutlt;lt;"\n\t☆Ingrese el nombre del libro que está buscando (ingrese 0 al final)";
cin.getline(szName, 20);
while(strcmp (szName, "0"))
{ p>
CTelRecord tele(szName , "0", "0", "0");
pLook=TelList.LookUp(tele);
if(pLook)
{
"☆ Título del libro☆ "lt;lt;setw(15)lt;lt;"☆ Número del libro☆ "lt;lt;sew(15)lt;lt ;"☆ Tipo de libro☆ "lt;setw(15)lt;lt;"☆ Autor☆n"lt;lt;endl;
>
pLook-gt;ShowNode();
}
else
coutlt;lt;"\n\t\t !!!! No puedo encontrar "lt;lt;szNamelt;lt; "ahí ." 20);
}
coutlt;lt;endllt;lt;endl;
}
void DeleteRecord(CList & TelList)
{ system("cls");
CNode *pLook;
char szName[20];
coutlt; "/n\t\t△Ingrese el nombre del libro que desea eliminar (fin de entrada 0)";
cin.getline(szName, 20);
while (strcmp (szName, "0"))
{
CTelRecord tele (szName, "0", "0", "0");
pLook=TelList.LookUp(tele);
if(pLook)
{ p>
coutlt;lt;"/n\t\t☆Registro encontrado en él"lt;lt;szName lt;lt;", content:\n"lt;lt;lt;endl;
coutlt;lt;lt;endllt;lt;setw(15)lt;lt;" ☆Nombre del libro ☆"lt;lt;setw(15)lt;lt;"\t☆Número de libro ☆"lt;lt ;setw(15)lt;lt;"lt ☆ tipo de libro☆"lt;lt;setw(15)lt;lt;"lt ☆ autor☆n"lt;endl;
pLook -gt. else
coutlt;lt;"\n\t\t▲Lo siento, no pude encontrar "lt;lt;szNamelt;lt;" allí." /p>
system("pause");
system("cls");
coutlt;lt;"/n\t△Por favor, introduzca el nombre del libro que desea eliminar (ingrese 0 para finalizar).";
cin.getline(szName, 20);
}
coutlt;lt;endllt ;lt;endl;
}
void StoreFile(CList & TelList)
{
ofstream outfile(" BOOK.dat " ,ios::binary);
if(!outfile)
{
coutlt;lt;"\t\t !!!!Archivo de datos abierto incorrectamente, no se pueden almacenar datos";
return;
<p> }
CNode *pnode;
CTelRecord *pTel;
cadena strName, strNumber
pnode= TelList.GetListHead( );
while(pnode)
{
pTel=(CTelRecord *)pnode-gt
archivo de salida; .write((char *)pTel, sizeof(CTelRecord *);
outfile. sizeof(CTelRecord));
pnode=TelList.GetListNextNode(pnode }
outfile.close();
}
void Operate(string amp.strChoice, CList amp; TelList)
{ void TongJi(CList amp;TelList);
if(strChoice=="1")
AddRecord(TelList);
else if (strChoice=="2")
DisplayRecord(TelList);
else if(strChoice=="3")
LookUpRecord(TelList
else if); (strChoice==" 4")
DeleteRecord(TelList);
else if(strChoice==" 5")
TongJi(TelList);
else if(strChoice==" 0")
StoreFile(TelList);
else
coutlt;lt;"/n \t\t\t!!!! Entrada incorrecta, vuelva a ingresar su selección.
void LoadFile(CList & TelList)
{
ifstream infile("BOOK.dat",ios::binary);
if(!infile)
{
coutlt;lt;"/n\t \t !!!!read((char *)pTel, sizeof(CTelRecord));
pNode=new CNode;
p>
pNode-gt; pTel);
TelList.AddNode(pNode);
}
TelList.DeleteNode(pNode); );