Ir ao conteúdo
  • Cadastre-se

Heisenbeck

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

1
  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. @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
  3. @KXSY Ja ajudou bastante, porém esse exemplo ele subscreve os dados armazenados anteriormente...
  4. 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

×
×
  • Criar novo...