Ir ao conteúdo
  • Cadastre-se

Heisenbeck

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

posts postados por Heisenbeck

  1. Estou com um problema na hora de mostrar os relatorios. 
    Na hora de puxar o relatorio ele me traz o valor apenas de "0", mesmo com varios dados salvos no arquivo txt, ele nao esta me trazendo os dados corretamente.

    dados_paciente()
    { 
      FILE* arqPac; 
      char nomePa[50]; 
      char cpf[15]; 
      char fonePac[20]; 
      int unidPac;
    int unidDig;
    int total = 0;
    
    printf("\n\t\tPACIENTES POR UNIDADE DA REDE\n\nInsira o numero da unidade em que deseja o relatorio da quantidade de pacientes: ");
    scanf("%d", &unidDig);
    
    arqPac = fopen("DadosPacientes.txt", "r");
    
    if (arqPac == NULL)
    {
        printf("Erro na abertura do arquivo!");
    }
    while (!feof(arqPac))
    {
        setbuf(stdin, NULL);
        fscanf(arqPac, "%s, %s, %d, %d\n", &nomePac, &cpf, &fonePac, &unidadePac);
        if (unidDig== unidPac)
        {
            printf("Nome: %s - ", nomePac);
            printf("CPF: %s - ", cpf);
            printf("Telefone: %d - ", fonePac);
            printf("Unidade cadastrada: %d\n\n", unidPac);
            total++;
        }
    }
    printf("O total da unidade %d é de %d pacientes.\n", unidDig, total);
    system("PAUSE");
    Relatorios();
    }

     

  2. Olá, sou novo por aqui. Preciso desenvolver um programa de cadastro, porém ao salvar em arquivo txt, quando eu vou abrir o arquivo os valores "int idade" e "int CPF" aparece uma sequencia aleatoria de numeros. Segue um print do arquivo abaixo.

    obs.: Ja tentei utilizar; int, "%d" e char "%s"

     

    Outro problema é, ao fazer um cadastro ao termino dele dá a opção de fazer um novo cadastro, porém quando se faz isso um cadastro esta escrevendo em cima do anterior 

     

    Cadastrar() {
    #define SIZE 50
    
        char nome[SIZE][50];
        int idade[SIZE][3];
        char sexo[SIZE][12];
        int CPF[SIZE][15];
        char telefone[SIZE][15];
        int COD[SIZE][15];
        int op;
        FILE* pacientes; // Ponteiro para arquivo
    
        pacientes = fopen("arquivo_pacientes.txt", "a");
        printf("\n\t\tTELA DE CADASTRO DE PACIENTES ");
        static int linha;
        if (pacientes == NULL) {
            printf("Erro! O arquivo nao foi aberto! \n");
        }
        else {
            do {
                printf("\n\nDigite o nome do paciente: ");
                scanf("%s", &nome[linha]);
                fflush(stdin);
                printf("\nDigite a idade: ");
                scanf("%d", &idade[linha]);
                fflush(stdin);
                printf("\nDigite o sexo: ");
                scanf("%s", &sexo[linha]);
                fflush(stdin);
                printf("\nDigite o CPF: ");
                scanf("%d", &CPF[linha]);
                fflush(stdin);
                printf("\nDigite o telefone: ");
                scanf("%s", &telefone[linha]);
                fflush(stdin);
                fprintf(pacientes, "%s\n", nome); 
                fprintf(pacientes, "%d\n", idade);
                fprintf(pacientes, "%s\n", sexo);
                fprintf(pacientes, "%d\n", CPF);
                fprintf(pacientes, "%s\n\n", telefone);
                printf("\n\nDados gravados com sucesso!!\n");
                printf("\nDigite 1 para continuar ou outro valor para finalizar.");
                scanf("%d", &op);
                linha++;
            } while (op == 1);
            fclose(pacientes); // fclose para fechar o arquivo
        }
    }

     

    error.jpg

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!