Heisenbeck
Membro Júnior-
Posts
4 -
Cadastrado em
-
Última visita
Reputação
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(); }
-
C Como armazenar numeros corretamente em um arquivo txt
Heisenbeck respondeu ao tópico de Heisenbeck em C/C#/C++
@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 -
C Como armazenar numeros corretamente em um arquivo txt
Heisenbeck respondeu ao tópico de Heisenbeck em C/C#/C++
@KXSY Ja ajudou bastante, porém esse exemplo ele subscreve os dados armazenados anteriormente... -
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 } }
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