Ir ao conteúdo
  • Cadastre-se

Montebelo

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

1
  1. Boa noite! Estou começando a aprender C e programando meu primeiro software, procurando coisas pelo google e indo por um processo de tentativa e erro mesmo. Estou fazendo um programa que registre dados de pacientes em um arquivo txt, consegui fazer a parte principal, solicitar dados ao usuário e salvar esses dados no txt principal. Agora o que eu queria é que quando a idade de um paciente for maior que 65, seja registrado em outro txt o CEP (já informado anteriormente) e a idade (já calculada a partir da data de nascimento informada). Não tenho certeza como fazer essa parte. No momento quando o paciente tem mais de 65 anos, o programa acaba ao invés de salvar os dados no segundo txt e retornar ao menu. Podem me ajudar por favor? Segue o trecho do código: void cadastrar() { setlocale(LC_ALL,"portuguese"); FILE*fp; fp = fopen("Pacientes.txt","a"); if (fp == NULL){ printf("Erro na abertura de arquivo."); system("pause"); exit(1); } FILE*fr; fr = fopen("GrupodeRisco.txt","a"); if (fr == NULL){ printf("Erro na abertura de arquivo."); system("pause"); exit(1); } printf(" Digite o nome do paciente: "); fgets(paciente_covid.nome, 100, stdin); paciente_covid.nome[strlen(paciente_covid.nome) - 1] = '\0'; fprintf(fp, "\nNome: %s\n", paciente_covid.nome); printf(" Digite o CPF: "); fgets(paciente_covid.cpf, 100, stdin); paciente_covid.cpf[strlen(paciente_covid.cpf) - 1] = '\0'; fprintf(fp, "CPF: %s\n", paciente_covid.cpf); printf(" Digite o telefone: "); fgets(paciente_covid.tele, 100, stdin); paciente_covid.tele[strlen(paciente_covid.tele) - 1] = '\0'; fprintf(fp, "Telefone: %s\n", paciente_covid.tele); printf(" Digite o nome da rua: "); fgets(paciente_covid.rua, 100, stdin); paciente_covid.rua[strlen(paciente_covid.rua) - 1] = '\0'; fprintf(fp, "Endereço: %s", paciente_covid.rua); printf(" Digite o número do endereço: "); fgets(paciente_covid.numer, 100, stdin); paciente_covid.numer[strlen(paciente_covid.numer) - 1] = '\0'; fprintf(fp, ", %s\n", paciente_covid.numer); printf(" Digite o bairro: "); fgets(paciente_covid.bair, 100, stdin); paciente_covid.bair[strlen(paciente_covid.bair) - 1] = '\0'; fprintf(fp, "Bairro: %s\n", paciente_covid.bair); printf(" Digite a cidade: "); fgets(paciente_covid.cidade, 100, stdin); paciente_covid.cidade[strlen(paciente_covid.cidade) - 1] = '\0'; fprintf(fp, "Cidade: %s", paciente_covid.cidade); printf(" Digite o estado (UF): "); fgets(paciente_covid.uf, 100, stdin); paciente_covid.uf[strlen(paciente_covid.uf) - 1] = '\0'; fprintf(fp, "-%s\n", paciente_covid.uf); printf(" Digite o CEP: "); fgets(paciente_covid.cep, 100, stdin); paciente_covid.cep[strlen(paciente_covid.cep) - 1] = '\0'; fprintf(fp, "CEP: %s\n", paciente_covid.cep); printf(" Digite o endereço de e-mail: "); fgets(paciente_covid.correio, 100, stdin); paciente_covid.correio[strlen(paciente_covid.correio) - 1] = '\0'; fprintf(fp, "E-mail: %s\n", paciente_covid.correio); printf(" Digite a data do diagnóstico: "); fgets(paciente_covid.diag, 100, stdin); paciente_covid.diag[strlen(paciente_covid.diag) - 1] = '\0'; fprintf(fp, "Data de diagnóstico: %s\n", paciente_covid.diag); printf(" Digite as comorbidades (caso paciente não possua, digite n: "); fgets(paciente_covid.comor, 100, stdin); paciente_covid.comor[strlen(paciente_covid.comor) - 1] = '\0'; fprintf(fp, "Comorbidades %s\n", paciente_covid.comor); printf(" Digite o ano de nascimento com 4 digitos: "); scanf("%d",&paciente_covid.niverano); printf(" Digite o número do mês de nascimento com dois digitos: "); scanf("%d",&paciente_covid.nivermes); printf(" Digite o dia de nascimento com 2 digitos: "); scanf("%d",&paciente_covid.niverdia); fprintf(fp, "Data de Nascimento: %d/%d/%d\n", paciente_covid.niverdia, paciente_covid.nivermes, paciente_covid.niverano ); fclose(fp); struct tm dataAtual = pegarDataSistema(); struct tm dataNascimento = pegarDataSistema(); dataNascimento.tm_mday = paciente_covid.niverdia; dataNascimento.tm_mon = paciente_covid.nivermes; dataNascimento.tm_year = paciente_covid.niverano; int idade = calcularIdade(&dataAtual, &dataNascimento); if (idade<=65 && strcmp(paciente_covid.comor,"n")==0) { printf("\nPaciente possui %d anos de idade. \n", idade); } if (idade<=65 && !strcmp(paciente_covid.comor,"n")==0) { printf("\nPaciente possui %d anos de idade e as seguintes comorbidades: %s\n", idade, paciente_covid.comor); } if (idade>65 && strcmp(paciente_covid.comor,"n")==0) { printf("\nPaciente possui %d anos de idade.\nGrupo de risco.\nNão possui comorbidades.\n", idade, paciente_covid.comor); fprintf(fr, "CEP: %s\nIdade: %s", paciente_covid.cep, idade); } fclose(fr); if (idade>65 && !strcmp(paciente_covid.comor,"n")==0) { printf("\nPaciente possui %d anos de idade.\nGrupo de risco.\nNão possui comorbidades.\n", idade, paciente_covid.comor); fprintf(fr, "CEP: %s\nIdade: %s", paciente_covid.cep, idade); } fclose(fr); return (0); }

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...