Ir ao conteúdo
  • Cadastre-se
Jaump

Segue abaixo o código que estou desenvolvendo, preciso gerar 2 relatórios, sendo 1 de ativos e 1 de inativos, mas não está dando certo!

Recommended Posts

Segue abaixo o código, quando compilo, a opção 4 que é de gerar relatórios não funciona. Tenho que gerar dois relatórios, mas não dá certo. Preciso de ajuda!

 

#include <stdio.h>#include <conio.h>#include <string.h>#include <ctype.h>#include <stdlib.h>#include <windows.h>struct sreg {  int cod;  char nome[32], email[51], ativo, inativo; };FILE *parq, *ativo, *inativo;sreg ficha;void cadastrar();void listar();main(){  int op;      parq = fopen("dados.dat", "rb+");  if (parq == NULL)    parq = fopen("dados.dat", "wb+");      do  {    system("cls");    printf("Cadastro de Clientes\n\n\n");    printf("opções:\n\n");    printf("1 - Cadastrar cliente...\n");    printf("2 - Listar Clientes...\n");    printf("3 - Alterar Cliente...\n");    printf("4 - Gerar Relatorios...\n");    printf("5 - Sair");    printf("\n\nEscolha: ");    scanf("%d", &op);        switch (op)    {      case 1:        cadastrar();        break;            case 2:        listar();        break;            case 3:        break;            case 4:        break;              default:         if (op != 5)        {          printf("\n\n\nOpcao invalida!!");          Beep(1000, 700);         }        }  }  while (op != 5);    fclose(parq);}void cadastrar(){  system("cls");  printf("Cadastrar Cliente\n\n\n");  printf("Codigo (nro.): ");  scanf("%d", &ficha.cod);  fflush(stdin);  printf("\nNome: ");  gets(ficha.nome);  printf("\nEmail: ");  gets(ficha.email);  printf("\nAtivo (S ou N): ");  scanf("%c", &ficha.ativo);  ficha.ativo = toupper(ficha.ativo);    fseek(parq, 0, SEEK_END); // posiciona no final do arq.  fwrite(&ficha, sizeof(sreg), 1, parq);  printf("\n\n\nGravando...");  Sleep(400);}void listar(){  system("cls");  printf("Listar Clientes:\n\n\n");    fseek(parq, 0, SEEK_SET); // posiciona no início  fread(&ficha, sizeof(sreg), 1, parq);    while (!feof(parq))  {   printf("Nome: %s", ficha.nome);    printf("\n\n----------------------------------\n\n");    printf("Codigo: %d", ficha.cod);    printf("\n\n----------------------------------\n\n");    printf("Email: %s", ficha.email);     printf("\n\n----------------------------------\n\n");        printf("Status: %c", ficha.ativo);    printf("\n\n----------------------------------\n\n");    fread(&ficha, sizeof(sreg), 1, parq);  }    printf("\n\n\nPressione qualquer tecla para retornar...");  getch();}void gerarRelatorio(){system("cls");printf("Gerando Relatorios: \n\n");printf("Texto: ");ficha.ativo;ficha.inativo;ativo = fopen("ativo.txt", "w");printf("Pessoas cadastradas \n\n");printf("Codigo (nro.): ");scanf("%d", &ficha.cod);fflush(stdin);printf("\nNome: ");gets(ficha.nome);printf("\nEmail: ");gets(ficha.email);printf("\nAtivo (s): ");scanf("%c", &ficha.ativo);ficha.ativo = toupper(ficha.ativo);fseek(ativo, 0, SEEK_END);fwrite(&ficha, sizeof(sreg), 1, ativo);printf("\n\n\nGerando...");Sleep(200);inativo = fopen("inativo.txt", "w");printf("Pessoas cadastradas \n\n");printf("Codigo (nro.): ");scanf("%d", &ficha.cod);fflush(stdin);printf("\nNome: ");gets(ficha.nome);printf("\nEmail: ");gets(ficha.email);printf("\nAtivo (s): ");scanf("%c", &ficha.ativo);ficha.ativo = toupper(ficha.ativo);fseek(inativo, 0, SEEK_END);fwrite(&ficha, sizeof(sreg), 1, inativo);printf("\n\n\nGerando...");Sleep(200);}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×