Preciso das 3 vistas, alguém me ajuda?


Preciso das 3 vistas, alguém me ajuda?

1 Resposta

  • Felipe

    Sistema para o controle de armazenamento de obras para arquitetos.

    #include

    #include

    void menu(){

      printf ("nn1 - Cadastrarn");

      printf ("2 - Listar todos os livros.n");

      printf ("3 - Listar todas as revistas.n");

      printf ("4 - Listar as obras por caixa.n");

      printf ("0 - Sairnn");

    }

    FILE* AbreArquivo(char modo, char caminho[100]){

      FILE *arquivo;

      switch(modo){

          case 'g':

              arquivo = fopen(caminho,"wt");

              break;

          case 'l':

              arquivo = fopen(caminho,"rt");

              break;

          case 'a':

              arquivo = fopen(caminho,"a");

              break;

      }

      if(arquivo==NULL){

          printf("Nao foi possivel abrir o arquivo");

          exit(0);

      }

      return arquivo;

    }

    void FecharArquivo(FILE *arquivo){

      fclose(arquivo);

    }

    void Cadastra(char titulo[70],char editora[70], char autor[70], int caixa, int ano, int ISBN){

      FILE *arquivo;

      arquivo = AbreArquivo('a', "mapa.txt");

      fprintf(arquivo, "%[^n]s %[^n]s %[^n]s %d %d %dn", titulo, autor, editora, caixa, ano, ISBN);

      FecharArquivo(arquivo);

    }

    void CadastraRevista(char titulo[70],char editora[70], char autor[70], int caixa, int ano, int ISBN){

      FILE *arquivo;

      arquivo = AbreArquivo('a', "mapa.txt");

      fprintf(arquivo, "%[^n]s %[^n]s %[^n]s %d %d %dn", titulo, autor, editora, caixa, ano, ISBN);

      FecharArquivo(arquivo);

    }

    void Listar(){

      FILE *arquivo;

      char titulo[70];

      char autor[70];

      char editora[70];

      int caixa;

      int ano;

      int ISBN;

      arquivo = AbreArquivo('l',"mapa.txt");

      while(!feof(arquivo)){

          fscanf(arquivo,"%s %s %s %d %d %d ", &titulo, &autor, &editora, &caixa, &ano, &ISBN);

          setbuf(stdin,NULL);

          for(int i=0; i<70; i++)printf ("*");

          printf("nTitulo: %s   -   Autor: %s  -  Editora: %s  -  Caixa: %d  -  Ano: %d  -  ISBN: %dnn", titulo,editora ,autor , caixa, ano, ISBN);

      }

      FecharArquivo(arquivo);

    }

    int main(){

      char titulo[70];

      char autor[70];

      char editora[70];

      int caixa;

      int ano;

      int ISBN;

      int opcao;

     

      menu();

      do{

          printf("nDigite uma opcao: ");

          scanf("%d", &opcao);

          system("cls");

          switch(opcao){

              case 1:

                  printf("nDigite o titulo: ");

                  setbuf(stdin,NULL);

                  fgets(titulo, 70, stdin);

                  printf("nDigite o autor: ");

                  setbuf(stdin,NULL);

                  fgets(autor,70, stdin);

                  printf("nDigite o editora: ");

                  setbuf(stdin,NULL);

                  fgets(editora, 70,stdin );

                  printf("nDigite a caixa: ");

                  scanf("%d", &caixa);

                  printf("nDigite o ano: ");

                  scanf("%d", &ano);

                  printf("nDigite o ISBN: ");

                  scanf("%d", &ISBN);

                  Cadastra(titulo, autor, editora, caixa, ano, ISBN);

                  system("pause");

                  break;

              case 2:

                  Listar();

                  system("pause");

                  break;

              case 3:

                  printf("nnFinalizando...nn");

                  system("pause");

                  exit(0);

                  break;

              default:

                  printf("nnOpcao invalida! Tente Novamente!nn");

                  system("pause");

          }

      }while(opcao!=3);

      return 0;

    }

    O código foi feito em C, uma linguagem antiga, mas que ainda é muito importante atualmente, tendo em mente que é uma das primeiras linguagem que a maioria dos programadores tem contato

    Espero ter ajudado!

Clique aqui para adicionar a sua resposta.