Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Isadora06

questão de Struct

Recommended Posts

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. 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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.