O Sistersinspirit.ca está aqui para ajudá-lo a encontrar respostas para todas as suas dúvidas com a ajuda de especialistas. Explore respostas detalhadas para suas dúvidas de uma comunidade de especialistas em diferentes campos. Conecte-se com uma comunidade de especialistas prontos para ajudar você a encontrar soluções precisas para suas dúvidas de maneira rápida e eficiente.

( LINGUAGEM C )
Escreva um algoritmo que tenha uma estrutura para armazenar informações de livros (título do livro, nome do autor, preço e número de páginas). implemente um procedimento principal que irá solicitar os dados de dois livros e crie duas funções : uma para exibir o livro e a outra que exiba o livro que tenha menor quantidade de páginas.​

Sagot :

Resposta:

#include <stdio.h>

#include <stdlib.h>

int i,aux;

int c=1;

struct liv{

       char titulo[3][100];

       char autor[3][100];

       int preco[3];

   };

   int paginas[2];

   struct liv livro;

void livros(){

   c = 1;

   for(i=1;i<=2;i++)

   {

       printf("\n########## DADOS DO %d LIVRO ##########",c);

       printf("\n\nTitulo do %d livro:",c);

       printf("%s",livro.titulo[i]);

       printf("\nAutor do %d livro:",c);

       printf("%s",livro.autor[i]);

       printf("\nPreco do %d livro:",c);

       printf("%d R$",livro.preco[c]);

       printf("\nNumero de paginas do %d livro:",c);

       printf("%d\n",paginas[i]);

       printf("\n####################\n");

       c++;

   }

   void pergunta();

   pergunta();

}

void menor(){

   if(paginas[1]<=paginas[2])

   {

       printf("\nO numero com menor paginas é o primeiro!\n");

       printf("\n\nTitulo do 1 livro:");

       printf("%s",livro.titulo[1]);

       printf("\nAutor do 1 livro:");

       printf("%s",livro.autor[1]);

       printf("\nPreco do 1 livro:");

       printf("%d R$\n",livro.preco[1]);

       void pergunta();

       pergunta();

   }

   if(paginas[1]>paginas[2])

   {

       printf("\nO numero com menor paginas é o segundo!\n");

       printf("\n\nTitulo do 2 livro:");

       printf("%s",livro.titulo[2]);

       printf("\nAutor do 2 livro:");

       printf("%s",livro.autor[2]);

       printf("\nPreco do 2 livro:");

       printf("%dR$\n",livro.preco[2]);

       void pergunta();

       pergunta();

   }

}

void pergunta(){

   printf("O que deseja fazer? \n 1 --> Exibir os livros \n 2 --> Exibir o livro com menor paginas\n 3 --> Sair\n");

   scanf("%d",&aux);

   switch(aux)

   {

       case 1:

           livros();

           break;

       case 2:

           menor();

           break;

       case 3:

           break;

       default:

           printf("\nComando nao entendido, tente novamente...\n");

           pergunta();

   }

}

int main(){

   fflush(stdin);

   printf("########## DADOS DO %d LIVRO ##########",c);

   printf("\nDigite o titulo do %d livro:",c);

   fgets(livro.titulo[1],100,stdin);

   fflush(stdin);

   printf("\nDigite o autor do %d livro:",c);

   fgets(livro.autor[1],100,stdin);

   fflush(stdin);

   printf("\nDigite o preco do %d livro:",c);

   scanf("%d",&livro.preco[1]);

   printf("\nDigite o numero de paginas do %d livro:",c);

   scanf("%d",&paginas[1]);

   c=2;

   fflush(stdin);

   printf("########## DADOS DO %d LIVRO ##########",c);

   printf("\nDigite o titulo do %d livro:",c);

   fgets(livro.titulo[2],100,stdin);

   fflush(stdin);

   printf("\nDigite o autor do %d livro:",c);

   fgets(livro.autor[2],100,stdin);

   fflush(stdin);

   printf("\nDigite o preco do %d livro:",c);

   scanf("%d",&livro.preco[2]);

   printf("\nDigite o numero de paginas do %d livro:",c);

   scanf("%d",&paginas[2]);

   pergunta();

return 0;

}