Advertisement
vnunesaj

AV1 - Livro

May 1st, 2022
1,556
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.41 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define QTD 100
  5. #define TITULO 20
  6. #define AUTOR 20
  7.  
  8. typedef struct{
  9.     char titulo[TITULO];
  10.     char autor[AUTOR];
  11.     char n[AUTOR];
  12.     float numeroDoCatalogo;
  13.     int anoDePublicacao;
  14.     int numeroDaCopia;
  15.  
  16.     char dataEmprestimo[20];
  17.     char dataRetorno[20];
  18. }LIVRO;
  19.  
  20. int menu(void);
  21. void cadastroLivro(LIVRO[QTD]);
  22. void exibirLivro(LIVRO[QTD]);
  23. void procurarLivroT(LIVRO[QTD]);
  24. void procurarLivroA(LIVRO[QTD]);
  25. void regEmprestimo(LIVRO[QTD]);
  26. void regRetorno(LIVRO[QTD]);
  27. void editLivro(LIVRO[QTD]);
  28.  
  29. int nl = 0;
  30. int emp[QTD];
  31. int ret[QTD];
  32.  
  33. int main(){
  34.     LIVRO biblioteca[QTD];
  35.     menu();
  36. }
  37.  
  38. int menu(void){
  39.         LIVRO biblioteca[QTD];
  40.    
  41.         int opt, i = 1;
  42.         while (i = 1){
  43.         printf("BIBLIOTECA DA IES\n");
  44.         printf("1 - INSERIR NOVO LIVRO\n");
  45.         printf("2 - PROCURAR LIVRO POR TITULO\n");
  46.         printf("3 - PROCURAR LIVRO POR AUTOR\n");
  47.         printf("4 - ALTERAR NOME DO LIVRO\n");
  48.         printf("5 - REGISTRAR DATA DE EMPRESTIMO DE UM LIVRO\n");
  49.         printf("6 - REGISTRAR DATA DE RETORNO DE UM LIVRO\n");
  50.         printf("7 - LISTAR LIVROS EXISTENTES NA BIBLIOTECA\n");
  51.         printf("8 - SAIR\n>> ");
  52.         scanf("%d", &opt);
  53.         switch(opt){
  54.             case 1:
  55.                 system("cls");
  56.                 cadastroLivro(biblioteca);
  57.                 nl += 1;
  58.                 break;
  59.             case 2:
  60.                 system("cls");
  61.                 procurarLivroT(biblioteca);
  62.             case 3:
  63.                 system("cls");
  64.                 procurarLivroA(biblioteca);
  65.                 break;
  66.             case 4:
  67.                 system("cls");
  68.                 editLivro(biblioteca);
  69.                 break;
  70.             case 5:
  71.                 system("cls");
  72.                 regEmprestimo(biblioteca);
  73.                 fflush(stdin);
  74.                 break;
  75.             case 6:
  76.                 system("cls");
  77.                 regRetorno(biblioteca);
  78.                 break;
  79.                 fflush(stdin);
  80.             case 7:
  81.                 system("cls");
  82.                 printf("######################################\n");
  83.                 exibirLivro(biblioteca);
  84.                 break;
  85.             case 8:
  86.                 return 0;
  87.         }
  88.     }
  89. }
  90.  
  91. void editLivro(LIVRO biblioteca[QTD]){
  92.     int opt;
  93.    
  94.     printf("Pesquisar livro por:\n1 - TITULO\n2 - AUTOR\n>> ");
  95.     scanf("%d", &opt);
  96.    
  97.     //Pesquisar por autor
  98.     if(opt == 2){
  99.         procurarLivroA(biblioteca);
  100.     }else{
  101.         procurarLivroT(biblioteca);
  102.     }
  103.     printf("Digite o novo Titulo: ", nl);
  104.     gets(biblioteca[nl-1].titulo);
  105. }
  106.  
  107. void cadastroLivro(LIVRO biblioteca[QTD]){
  108.     char n[1];
  109.  
  110.         printf("Cadastrando livro\n");
  111.        
  112.         fflush(stdin);
  113.        
  114.         printf("Titulo do livro: ");
  115.         gets(biblioteca[nl].titulo);
  116.  
  117.         printf("Autor do livro: ");
  118.         gets(biblioteca[nl].autor);
  119.  
  120.         printf("Numero do catalogo: ");
  121.         scanf("%f", &biblioteca[nl].numeroDoCatalogo);
  122.  
  123.         printf("Ano de publicacao: ");
  124.         scanf("%d", &biblioteca[nl].anoDePublicacao);
  125.  
  126.         printf("Numero da copia: ");
  127.         scanf("%d", &biblioteca[nl].numeroDaCopia);
  128.         printf("######################################\n\n");
  129. }
  130.  
  131. void exibirLivro(LIVRO biblioteca[QTD]){
  132.  
  133.     int i;
  134.  
  135.     for(i = 0; i < nl; i++){
  136.         printf("Livro %d\n", i+1);
  137.         printf("Titulo: %s\n", biblioteca[i].titulo);
  138.         printf("Autor: %s\n", biblioteca[i].autor);
  139.         printf("Numero do catalogo: %.2f\n", biblioteca[i].numeroDoCatalogo);
  140.         printf("Ano de publicacao: %d\n", biblioteca[i].anoDePublicacao);
  141.         printf("Numero da copia: %d\n", biblioteca[i].numeroDaCopia);
  142.         if(emp[i] != 0){
  143.             printf("DATA DE EMPRESTIMO: %s\n", biblioteca[i].dataEmprestimo);
  144.         }
  145.         if(ret[i] != 0){
  146.             printf("DATA DE RETORNO: %s\n", biblioteca[i].dataRetorno);
  147.         }
  148.         printf("######################################\n\n");
  149.     }
  150. }
  151.  
  152. void procurarLivroT(LIVRO biblioteca[QTD]){
  153.     int i;
  154.     char label[TITULO];
  155.    
  156.     fflush(stdin);
  157.    
  158.     printf("Digite o Titulo do livro: ");
  159.     gets(label);
  160.    
  161.     for(i = 0; i < nl; i++) {
  162.         if(strcmp(biblioteca[i].titulo, label) == 0){
  163.             system("cls");
  164.             printf("Livro %d\n", i+1);
  165.             printf("Titulo: %s\n", biblioteca[i].titulo);
  166.             printf("Autor: %s\n", biblioteca[i].autor);
  167.             printf("Numero do catalogo: %.2f\n", biblioteca[i].numeroDoCatalogo);
  168.             printf("Ano de publicacao: %d\n", biblioteca[i].anoDePublicacao);
  169.             printf("Numero da copia: %d\n", biblioteca[i].numeroDaCopia);
  170.             printf("######################################\n\n");
  171.         }
  172.     }
  173. }
  174.  
  175. void procurarLivroA(LIVRO biblioteca[QTD]){
  176.     int i;
  177.     char label[TITULO];
  178.    
  179.     fflush(stdin);
  180.    
  181.     printf("Digite o Autor do livro: ");
  182.     gets(label);
  183.    
  184.     for(i = 0; i < nl; i++) {
  185.         if(strcmp(biblioteca[i].autor, label) == 0){
  186.             system("cls");
  187.             printf("Livro %d\n", i+1);
  188.             printf("Titulo: %s\n", biblioteca[i].titulo);
  189.             printf("Autor: %s\n", biblioteca[i].autor);
  190.             printf("Numero do catalogo: %.2f\n", biblioteca[i].numeroDoCatalogo);
  191.             printf("Ano de publicacao: %d\n", biblioteca[i].anoDePublicacao);
  192.             printf("Numero da copia: %d\n", biblioteca[i].numeroDaCopia);
  193.             printf("######################################\n\n");
  194.         }
  195.     }
  196. }
  197.  
  198. void regEmprestimo(LIVRO biblioteca[QTD]){
  199.     int opt;
  200.    
  201.     fflush(stdin);
  202.    
  203.     printf("Pesquisar livro por:\n1 - TITULO\n2 - AUTOR\n>> ");
  204.     scanf("%d", &opt);
  205.    
  206.     //Pesquisar por autor
  207.     if(opt == 2){
  208.         procurarLivroA(biblioteca);
  209.     }else{
  210.         procurarLivroT(biblioteca);
  211.     }  
  212.     printf("DATA DE EMPRESTIMO: ");
  213.     gets(biblioteca[nl-1].dataEmprestimo);
  214.     emp[nl-1]++;
  215. }
  216.  
  217. void regRetorno(LIVRO biblioteca[QTD]){
  218.     int opt;
  219.    
  220.     fflush(stdin);
  221.    
  222.     printf("Pesquisar livro por:\n1 - TITULO\n2 - AUTOR\n>> ");
  223.     scanf("%d", &opt);
  224.    
  225.     //Pesquisar por autor
  226.     if(opt == 2){
  227.         procurarLivroA(biblioteca);
  228.     }else{
  229.         procurarLivroT(biblioteca);
  230.     }  
  231.     printf("DATA DE RETORNO: ");
  232.     gets(biblioteca[nl-1].dataRetorno);
  233.     ret[nl-1]++;
  234. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement