Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Questão: Uma determinada biblioteca possui obras de ciências exatas, humanas e biológicas, totalizando 1500 volumes, distribuídos em cada uma das áreas. O proprietário resolveu agrupar as informações de cada livro no seguinte registro:
Código de catalogação
Doação (S/N)
Nome da obra
Nome do autor
Editora
Área
Construir um programa que:
a) cadastre todos os volumes de cada uma das áreas em três vetores distintos;
b)permita ao usuário fazer consulta as informações cadastradas fornecendo o código de catalogação e a área. Existindo tal livro as informação são exibidas, caso contrario enviar mensagem de aviso. A consulta se repete ate que o usuário digite código finalizador = -1.
Não está rodando e o pior nem diz qual o erro. /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/sad.gif&key=02b1574f7da1e723d8a7dbae07272745fb341b432c19ce24d0490ce410222838" alt="sad.gif" />/>/>/>/>/>
O que eu fiz:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define tam 3
struct obras_biblioteca{
int codigo;
char titulo[30], autor[30],editora[10], doacao, area;
}area_exatas[tam],area_humanas[tam],area_biologia[tam];
main (){
int i, resp=1,codigo, codigo_livro;
char area, op;
printf("\n\n MENU\n\n");
printf("1 - Para Cadastrar Livros.\n");
printf("2 - Para Pesquisar Livros.\n");
printf("Opção desejada:");
scanf("%c",&op);
if(op=='1'){
for(i=0;i<tam;i++){
if(resp==1){
printf("Informe a área do livro:{H - A - B]\n");
scanf("%c",&area);
if((area=='H')|| (area=='h')) {
printf("Informe o código do livro:\n");
scanf("%d",&area_humanas[i].codigo);
printf("Informe o título do livro:\n");
scanf("%s",&area_humanas[i].titulo);
printf("Informe o nome do autor do livro:\n");
scanf("%s",&area_humanas[i].autor);
printf("Informe a editora do livro:\n");
scanf("%s",&area_humanas[i].editora);
printf("O livro está sendo doado?[s-N]\n");
scanf("%c",&area_humanas[i].doacao);
}
else if ((area=='E')|| (area=='e')) {
printf("Informe o código do livro:\n");
scanf("%d",&area_exatas[i].codigo);
printf("Informe o título do livro:\n");
scanf("%s",&area_exatas[i].titulo);
printf("Informe o nome do autor do livro:\n");
scanf("%s",&area_exatas[i].autor);
printf("Informe a editora do livro:\n");
scanf("%s",&area_exatas[i].editora);
printf("O livro está sendo doado?[s-N]\n");
scanf("%c",&area_exatas[i].doacao);
}
else{
printf("Informe o código do livro:\n");
scanf("%d",&area_biologia[i].codigo);
printf("Informe o título do livro:\n");
scanf("%s",&area_biologia[i].titulo);
printf("Informe o nome do autor do livro:\n");
scanf("%s",&area_biologia[i].autor);
printf("Informe a editora do livro:\n");
scanf("%s",&area_biologia[i].editora);
printf("O livro está sendo doado?[s-N]\n");
scanf("%c",&area_biologia[i].doacao);
}
Printf("Deseja cadastrar mais livro? [sIM = 1; NÃO = 0]\n");
scanf("%c",&resp);
}
}
}
else if(op=='2'){
printf("Informe o código do livro:");
scanf("%d",&codigo_livro);
printf("Informe a área do livro [H - E - B]:");
scanf("%c",&area);
if(area=='E'){
for(i=0;i<tam;i++){
if(codigo_livro==area_exatas[i].codigo){
printf("Título do livro: %s",area_exatas[i].titulo);
printf("Autor do livro: %s",area_exatas[i].autor);
printf("Editora do livro: %s",area_exatas[i].editora);
printf("livro doado: %c",area_exatas[i].doacao);
}
} }
else if(area=='B'){
for(i=0;i<tam;i++){
if(codigo_livro==area_biologia[i].codigo){
printf("Título do livro: %s",area_biologia[i].titulo);
printf("Autor do livro: %s",area_biologia[i].autor);
printf("Editora do livro: %s",area_biologia[i].editora);
printf("livro doado: %c",area_biologia[i].doacao);
}
} }
else{
for(i=0;i<tam;i++){
if(codigo_livro==area_humanas[i].codigo){
printf("Título do livro: %s",area_humanas[i].titulo);
printf("Autor do livro: %s",area_humanas[i].autor);
printf("Editora do livro: %s",area_humanas[i].editora);
printf("livro doado: %c",area_humanas[i].doacao);
}
} }
}
system("pause");
}
Agradeço desde já!
O erro estava na linha 100 Printf("Deseja cadastrar mais livro? [sIM = 1; NÃO = 0]\n");
sem querer coloquei em maiusculo!
Código C é sensitive case, ou seja, tem que respeitar letras maiúsculas e minúsculas.
Troque "Printf" por "printf".