Ir ao conteúdo
  • Cadastre-se

Posts recomendados

Postado

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

Postado

@KXSY Funcionou!!

Muito obrigado mesmo. Eu substituir o "w+" pelo "a+", assim ele não subscreveu os dados anterior, ele abriu (criou, caso não existisse) o arquivo e continuou a escrever novos dados.

Me ajudou muito amigo👍

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...