Queria que alguém me ajudasse, estou fazendo um sistema de gerenciamento de biblioteca e quando realizo o cadastro dos livros todos estão ficando com o mesmo nome, código e autor.
#include<iostream>
#include<cstring>
using namespace std;
struct dados
{
char nome[20],autor[20],cod[20];
};
dados d;
char esc;
int cont = 0, aux=0, salto = 0, saltorRemocao=0, i=0, nao=0,aux1=0;
bool valueFound=false;
void cadastro();
void listar();
void pesquisar();
void alterar();
void excluir();
int main()
{
int op;
do
{
do
{
system("cls");
system("color f0");
cout<<"\t\t|-----------------------------------------------|"<<endl;
cout<<"\t\t| |"<<endl;
cout<<"\t\t| SEJAM BEM VINDOS! |"<<endl;
cout<<"\t\t| |"<<endl;
cout<<"\t\t| SIGBI - GERENCIAMENTO DE BIBLIOTECA |"<<endl;
cout<<"\t\t| |"<<endl;
cout<<"\t\t|---------------------Menu--------------------- |"<<endl;
cout<<"\t\t| |"<<endl;
cout<<"\t\t| 1 - Cadastrar Livro(s) |"<<endl;
cout<<"\t\t| 2 - Listar Acervo |"<<endl;
cout<<"\t\t| 3 - Pesquisar Livro(s) |"<<endl;
cout<<"\t\t| 4 - Alterar Dados do Livro |"<<endl;
cout<<"\t\t| 5 - Emprestimo(s) |"<<endl;
cout<<"\t\t| 6 - Sair |"<<endl;
cout<<"\t\t| |"<<endl;
cout<<"\t\t|-----------------------------------------------|"<<endl;
cout<<endl;
cout<<"\t\t Opcao Escolhida: "; cin>>op;
}while(op<1 || op>6);
switch(op)
{
case 1: cadastro();
break;
case 2: listar();
break;
case 3: pesquisar();
break;
case 4: alterar();
break;
case 5: excluir();
break;
case 6: system("exit");
break;
}// fim switch
nao=0;
}while(op!=6);
}
void alterar()
{
system("cls");
cout<<endl<<endl;
cout<<"\tALTERACAO DE LIVROS"<<endl<<endl;
char codigo[20];
cin.ignore();
cout << "Entre com o codigo do livro a ser pesquisado:";
cin.getline(codigo,20);
for( i=0;i<cont;i++)
{
salto = sizeof(d)*i + sizeof(cont);
if(strcmp(codigo,d.cod)==0)
{
system("cls");
cout<<endl;
cin.ignore();
cout<<"Novo nome do livro:"; cin.getline(d.nome,20);
cout<<"Novo autor do livro:"; cin.getline(d.autor,20);
cout<<"Novo codigo do livro:"; cin.getline(d.cod,20);
nao=1;
}
salto = sizeof(d)*i + sizeof(cont);
}
if(nao==0)
{
cout<<"Livro nao encontrado"<<endl;
system("PAUSE");
}
}
void excluir()
{
system("cls");
cout<<endl;
char codigo[20];
cin.ignore();
cout<<"\EMPRESTIMO DE LIVROS"<<endl<<endl;
cout << "Entre com o codigo do livro a ser emprestado:";
cin.getline(codigo,20);
dados carro1;
valueFound = false;
for( i=0;i<cont;i++)
{
salto = sizeof(d)*i + sizeof(cont);
if(strcmp(codigo,d.cod)==0)
{
valueFound =true;
aux =i;
nao=1;
}
}
if ((aux== (cont-1)& valueFound)){
cont = cont - 1;
}else if (valueFound)
{
for( i=aux;i<cont-1;i++)
{
salto = sizeof(d)*i + sizeof(cont);
salto = sizeof(d)*(i+1) + sizeof(cont);
strcpy(d.cod, carro1.cod);
strcpy(d.nome, carro1.nome);
strcpy(d.autor, carro1.autor);
salto = sizeof(d)*i + sizeof(cont);
aux1=i+1;
}
cont=aux1;
}
if(nao==0)
{
cout<<endl<<"Emprestimo nao efetuado, codigo nao encontrado. "<<endl<<endl;
system("PAUSE");
}else
{
cout<<endl<<endl<<"Emprestado com sucesso!"<<endl<<endl;
system("PAUSE");
}
}
void pesquisar()
{
system("cls");
cout<<endl;
cout<<"\tPESQUISA DE LIVROS"<<endl<<endl;
char codigo[20];
cin.ignore();
cout << "Entre com o codigo do livro a ser pesquisado:";
cin.getline(codigo,20);
for( i=0;i<cont;i++)
{
salto = sizeof(d)*i + sizeof(cont);
if(strcmp(codigo,d.cod)==0)
{
cout<<endl<<"Nome do livro: "<< d.nome<<endl;
cout<<"Autor do livro: " <<d.autor<<endl;
cout<<"Codigo do livro: " << d.cod<<endl<<endl;
nao=1;
}
}
if(nao==0)
{
cout<<endl<<endl<<"Livro nao encontrado!"<<endl<<endl;
}
system("PAUSE");
}
void cadastro()
{
do
{
system("cls");
cout<<endl;
cout<<"\tCADASTRO DE LIVROS"<<endl<<endl;
cin.ignore();
cout<<"Nome do livro:";
cin.getline(d.nome,20);
cout<<"Autor:";
cin.getline(d.autor,20);
cout<<"Codigo do Livro:";
cin.getline(d.cod,20);
salto = sizeof(d)*cont+sizeof(cont);
cont++;
do
{
cout<<"Deseja cadastrar outro Livro (S/N)?: "; cin>>esc;
}while ((toupper(esc)!='N')&&(toupper(esc)!='S'));
}while(toupper(esc)!='N');
}
void listar()
{
system("cls");
cout<<endl;
cout<<"\tACERVO"<<endl<<endl;
for( i=0; i<cont; i++)
{
salto = sizeof(d)*i + sizeof(cont);
cout<<endl<<"Nome do livro: "<< d.nome<<endl;
cout<<"Autor do livro: " <<d.autor<<endl;
cout<<"Codigo do livro: " << d.cod<<endl<<endl<<endl;
}
if(cont!=0)
{
cout << endl << endl << "Total de livros " << i<<endl;
}
system ("PAUSE");
}
Pergunta
virgiliocf
Queria que alguém me ajudasse, estou fazendo um sistema de gerenciamento de biblioteca e quando realizo o cadastro dos livros todos estão ficando com o mesmo nome, código e autor.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.