Red de conocimientos turísticos - Información de alquiler - Código fuente del sistema de gestión de biblioteca c urgente

Código fuente del sistema de gestión de biblioteca c urgente

void AddRecord(CList & TelList)

{ 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"))

{

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)

{

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