-
Posts
8 -
Cadastrado em
-
Última visita
Reputação
4-
C Senha não apaga quando digitada incorretamente!
GeovaneAvilla respondeu ao tópico de GeovaneAvilla em C/C#/C++
@KXSY amigo, eu ainda sou leigo nessa area, comecei o curso agora, tem coisas que eu nem sei ainda kkkk não to sabendo botar como apaga a senha quando esta incorreta. -
C Senha não apaga quando digitada incorretamente!
GeovaneAvilla respondeu ao tópico de GeovaneAvilla em C/C#/C++
@Lucca Rodrigues é esse mesmo amigo, desculpa kkk porém eu não consegui acrescentar la! -
#include <stdio.h> #include <stdlib.h> #include <string.h> //Biblioteca para usar a funçao strcmp #include <conio.h> #include <windows.h> // CONSTANTES: representando o maximo de caracteres // por variável #define MAX_NAME 50; #define MAX_EMAIL 50; #define MAX_CPF 11; #define MAX_DAY 10; #define MAX_PHONE 15; #define MAX_STREET 50; #define MAX_NUMBER 10; #define MAX_NEIGHBORHOOD 30; #define MAX_CITY 30; #define MAX_STATE 2; #define MAX_CEP 8; #define MAX_COMORBIDITY 20; /* Endereços de variáveis */ char *name; char *email; char *cpf; char *birthDay; char *phoneNumber; char *street; char *streetNumber; char *neighborhood; char *city; char *state; char *cep; char *diagnosisDay; char *comorbidity; // variavel para leitura de dados char leitura[50]; // variavel de tratamento do registro char registro[298]; // ponteiro para arquivo FILE *fp; // FUNÇÕES int validate_password() { char login[20]; char senha[20]; int i, senha_ok; char c; do { system("CLS"); printf(">>> PIM: PROJETO INTEGRADO MULTIDISCIPLINAR - IV! >>>\n\n"); printf(">>> UNIP - Universidade Paulista - Sistema EAD!\n"); printf(">>> Curso Analise e Desenvolvimento de Sistemas!\n"); printf(">>> Desenvolvido por: Geovane Avilla de souza!\n"); printf(">>> Matricula: 0583938\n\n\n"); printf(">>> Sistema de cadastro para pacientes diagnosticados com COVID-19 >>>\n\n\n"); fflush(stdin); printf("Login: "); gets(login); printf("\nSenha: "); i = 0; while((c=getch())!=13){ //13 é o valor de ENTER na tabela ASCII senha[i]=c; i++; printf("*"); //imprime o * Anterisco } senha[i]='\0'; senha_ok = strcmp(senha, "geovane"); if(!senha_ok) return 1; } while (senha_ok); } int read_option(){ // Ler opções do programa int opcao, passagem = 0; do { system("cls"); printf(">>> PIM: PROJETO INTEGRADO MULTIDISCIPLINAR - IV! >>>\n\n"); printf(">>> UNIP - Universidade Paulista - Sistema EAD!>>>\n\n"); printf("Entrada de pacientes diagnosticados com COVID-19!\n\n\n"); printf("Menu Principal!\n"); printf("-------------------\n\n"); printf("1- Cadastrar Paciente\n"); printf("2- Consultar Paciente\n"); printf("3- Pesquisar Paciente (Nome/CPF)\n"); printf("0- Sair do Programa\n\n"); if (passagem) printf("\n *** Opção invalida!\n"); printf ("Escolha uma das opções:\n\n"); printf(">>> "); scanf("%d",&opcao); setbuf(stdin, NULL); printf("\n"); if (opcao != 0 && opcao != 1 && opcao != 2 && opcao != 3) passagem = 1; } while (opcao != 0 && opcao != 1 && opcao != 2 && opcao != 3); return opcao; } /* void pause(char mensagem[]){ printf("%s",mensagem); getch(); } */ void preencher_espacos(char *sequencia, int tamanho) { int tam, espacos, i; strcat(registro, sequencia); tam = strlen(sequencia); espacos = tamanho - tam; for (i=1;i<=espacos;i++) strcat(registro, " "); } void tratar_registro() { strcpy(registro, ""); preencher_espacos(name, 50); preencher_espacos(email, 50); strcat(registro, cpf); strcat(registro, birthDay); preencher_espacos(phoneNumber, 15); preencher_espacos(street, 50); preencher_espacos(streetNumber, 10); preencher_espacos(neighborhood, 30); preencher_espacos(city, 30); strcat(registro, state); strcat(registro, cep); strcat(registro, diagnosisDay); preencher_espacos(comorbidity, 20); strcat(registro, "\n"); } int cadastrar() { int opcao; fp = fopen("arquivo.txt", "a"); if (fp == NULL) { return 0; } do { system("cls"); printf("<<< Entrada de paciente >>>\n\n\n "); fflush(stdin); printf ("\nDigite o Nome do Paciente: "); gets(leitura); name = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!name) { printf ("** Erro: Memoria Insuficiente **"); free(name); return 0; } strcpy(name, leitura); printf ("\nDigite o Email do Paciente: "); gets(leitura); email = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!email) { printf ("** Erro: Memoria Insuficiente **"); free(email); return 0; } strcpy(email, leitura); printf ("\nDigite o CPF do Paciente ( Somente Numeros ): "); gets(leitura); cpf = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!cpf) { printf ("** Erro: Memoria Insuficiente **"); free(cpf); return 0; } strcpy(cpf, leitura); printf ("\nData de nascimento do Paciente?\nNo formato DD/MM/AAAA: "); gets(leitura); birthDay = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!birthDay) { printf ("** Erro: Memoria Insuficiente **"); free(birthDay); return 0; } strcpy(birthDay, leitura); printf ("\nDigite o telefone do Paciente (Somente Numeros ): "); gets(leitura); phoneNumber = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!phoneNumber) { printf ("** Erro: Memoria Insuficiente **"); free(phoneNumber); return 0; } strcpy(phoneNumber, leitura); printf ("\nEndereco:\nLogradouro (rua, avenida, alameda ou outro): "); gets(leitura); street = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!street) { printf ("** Erro: Memoria Insuficiente **"); free(street); return 0; } strcpy(street, leitura); printf ("\nNumero: "); gets(leitura); streetNumber = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!streetNumber) { printf ("** Erro: Memoria Insuficiente **"); free(streetNumber); return 0; } strcpy(streetNumber, leitura); printf ("\nBairro: "); gets(leitura); neighborhood = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!neighborhood) { printf ("** Erro: Memoria Insuficiente **"); free(neighborhood); return 0; } strcpy(neighborhood, leitura); printf ("\nCidade: "); gets(leitura); city = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!city) { printf ("** Erro: Memoria Insuficiente **"); free(city); return 0; } strcpy(city, leitura); printf ("\nEstado: "); gets(leitura); state = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!state) { printf ("** Erro: Memoria Insuficiente **"); free(state); return 0; } strcpy(state, leitura); printf ("\nCEP: "); gets(leitura); cep = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!cep) { printf ("** Erro: Memoria Insuficiente **"); free(cep); return 0; } strcpy(cep, leitura); printf ("\nQual Dia do diagnostico?\nNo formato DD/MM/AAAA:"); gets(leitura); diagnosisDay = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!diagnosisDay) { printf ("** Erro: Memoria Insuficiente **"); free(diagnosisDay); return 0; } strcpy(diagnosisDay, leitura); printf ("\n O paciente tem alguma COMORBIDADE?"); gets(leitura); comorbidity = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!comorbidity) { printf ("** Erro: Memoria Insuficiente **"); free(comorbidity); return 0; } strcpy(comorbidity, leitura); tratar_registro(); fprintf(fp, "%s", registro); printf("\n\n\nCadastrar novo paciente? (1=Sim/0=Não) "); scanf("%d",&opcao); setbuf(stdin, NULL); printf("\n"); } while (opcao != 0); free(name); free(email); free(cpf); free(birthDay); free(phoneNumber); free(street); free(streetNumber); free(neighborhood); free(city); free(state); free(cep); free(diagnosisDay); free(comorbidity); fclose(fp); printf ("\n\nTamanho do registro: %d caracteres\n\n", strlen(registro)); system("pause"); return 1; } /* int comorbidity_option() { // ler tipos de comorbidades printf("Qual o tipo de comorbidade?\nEscolha entre as opções:\n"); printf("1- Diabetes"); printf("2- Obesidade\n"); printf("3- Hipertensão\n"); printf("4- Tuberculose\n"); printf("Opção: "); scanf("%d",&x); printf("\n"); return x; } */ void imprimir() { system("cls"); printf ("*** Consulta de Pacientes Diagnosticados com COVID-19! ***\n\n\n\n\n"); printf ("Nome do Paciente: %s\n", name); printf ("E-mail: %s\n", email); printf ("CPF: %s\n", cpf); printf ("Data de Nascimento: %s\n", birthDay); printf ("Telefone: %s\n", phoneNumber); printf ("Endereco:"); printf ("%s Numero: %s Bairro: %s\n", street, streetNumber, neighborhood); printf ("Cidade: %s Estado: %s CEP: %s\n", city, state, cep); printf ("Data do Diagnostico: %s\n", diagnosisDay); printf ("Comorbidade: %s\n", comorbidity); printf ("\n\nMostrar proximo registro, aperte qualquer tecla para continuar\n\n"); system ("pause"); } int extrair_informacoes() { int i, j; char auxiliar[50]; name = (char *) calloc(51, sizeof(char)); if (!name) { printf ("** Erro: Memoria Insuficiente **"); free(name); return 0; } for (i=0;i<=49;i++) name[i] = registro[i]; for (i=49;i>=0;i--) if (name[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = name[j]; auxiliar[j] = '\0'; strcpy(name, auxiliar); email = (char *) calloc(51, sizeof(char)); if (!email) { printf ("** Erro: Memoria Insuficiente **"); free(email); return 0; } for (i=50;i<=99;i++) email[i - 50] = registro[i]; for (i=49;i>=0;i--) if (email[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = email[j]; auxiliar[j] = '\0'; strcpy(email, auxiliar); cpf = (char *) calloc(12, sizeof(char)); if (!cpf) { printf ("** Erro: Memoria Insuficiente **"); free(cpf); return 0; } for (i=100;i<=110;i++) cpf[i - 100] = registro[i]; birthDay = (char *) calloc(11, sizeof(char)); if (!birthDay) { printf ("** Erro: Memoria Insuficiente **"); free(birthDay); return 0; } for (i=111;i<=120;i++) birthDay[i - 111] = registro[i]; phoneNumber = (char *) calloc(51, sizeof(char)); if (!phoneNumber) { printf ("** Erro: Memoria Insuficiente **"); free(phoneNumber); return 0; } for (i=121;i<=135;i++) phoneNumber[i - 121] = registro[i]; for (i=14;i>=0;i--) if (phoneNumber[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = phoneNumber[j]; auxiliar[j] = '\0'; strcpy(phoneNumber, auxiliar); street = (char *) calloc(51, sizeof(char)); if (!street) { printf ("** Erro: Memoria Insuficiente **"); free(street); return 0; } for (i=136;i<=185;i++) street[i - 136] = registro[i]; for (i=49;i>=0;i--) if (street[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = street[j]; auxiliar[j] = '\0'; strcpy(street, auxiliar); streetNumber = (char *) calloc(11, sizeof(char)); if (!streetNumber) { printf ("** Erro: Memoria Insuficiente **"); free(streetNumber); return 0; } for (i=186;i<=195;i++) streetNumber[i - 186] = registro[i]; for (i=9;i>=0;i--) if (streetNumber[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = streetNumber[j]; auxiliar[j] = '\0'; strcpy(streetNumber, auxiliar); neighborhood = (char *) calloc(31, sizeof(char)); if (!neighborhood) { printf ("** Erro: Memoria Insuficiente **"); free(neighborhood); return 0; } for (i=196;i<=225;i++) neighborhood[i - 196] = registro[i]; for (i=29;i>=0;i--) if (neighborhood[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = neighborhood[j]; auxiliar[j] = '\0'; strcpy(neighborhood, auxiliar); city = (char *) calloc(31, sizeof(char)); if (!city) { printf ("** Erro: Memoria Insuficiente **"); free(city); return 0; } for (i=226;i<=255;i++) city[i - 226] = registro[i]; for (i=29;i>=0;i--) if (city[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = city[j]; auxiliar[j] = '\0'; strcpy(city, auxiliar); state = (char *) calloc(3, sizeof(char)); if (!state) { printf ("** Erro: Memoria Insuficiente **"); free(state); return 0; } for (i=256;i<=257;i++) state[i - 256] = registro[i]; cep = (char *) calloc(9, sizeof(char)); if (!cep) { printf ("** Erro: Memoria Insuficiente **"); free(cep); return 0; } for (i=258;i<=265;i++) cep[i - 258] = registro[i]; diagnosisDay = (char *) calloc(11, sizeof(char)); if (!diagnosisDay) { printf ("** Erro: Memoria Insuficiente **"); free(diagnosisDay); return 0; } for (i=266;i<=275;i++) diagnosisDay[i - 266] = registro[i]; comorbidity = (char *) calloc(21, sizeof(char)); if (!comorbidity) { printf ("** Erro: Memoria Insuficiente **"); free(comorbidity); return 0; } for (i=276;i<=295;i++) comorbidity[i - 276] = registro[i]; for (i=19;i>=0;i--) if (comorbidity[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = comorbidity[j]; auxiliar[j] = '\0'; strcpy(comorbidity, auxiliar); return 1; } int consultar() { system("cls"); fp = fopen("arquivo.txt", "r"); if (fp == NULL) { return 0; } while (fgets(registro, 297, fp) != NULL) { if(extrair_informacoes()) imprimir(); fseek(fp, 2, 1); printf("Posicao do ponteiro corrente: %ld\n", ftell(fp)); } fclose(fp); return 1; } int extrair_informacoes_parciais() { int i, j; char auxiliar[50]; name = (char *) calloc(51, sizeof(char)); if (!name) { printf ("** Erro: Memoria Insuficiente **"); free(name); return 0; } for (i=0;i<=49;i++) name[i] = registro[i]; for (i=49;i>=0;i--) if (name[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = name[j]; auxiliar[j] = '\0'; strcpy(name, auxiliar); cpf = (char *) calloc(12, sizeof(char)); if (!cpf) { printf ("** Erro: Memoria Insuficiente **"); free(cpf); return 0; } for (i=100;i<=110;i++) cpf[i - 100] = registro[i]; street = (char *) calloc(51, sizeof(char)); if (!street) { printf ("** Erro: Memoria Insuficiente **"); free(street); return 0; } for (i=136;i<=185;i++) street[i - 136] = registro[i]; for (i=49;i>=0;i--) if (street[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = street[j]; auxiliar[j] = '\0'; strcpy(street, auxiliar); streetNumber = (char *) calloc(11, sizeof(char)); if (!streetNumber) { printf ("** Erro: Memoria Insuficiente **"); free(streetNumber); return 0; } for (i=186;i<=195;i++) streetNumber[i - 186] = registro[i]; for (i=9;i>=0;i--) if (streetNumber[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = streetNumber[j]; auxiliar[j] = '\0'; strcpy(streetNumber, auxiliar); neighborhood = (char *) calloc(31, sizeof(char)); if (!neighborhood) { printf ("** Erro: Memoria Insuficiente **"); free(neighborhood); return 0; } for (i=196;i<=225;i++) neighborhood[i - 196] = registro[i]; for (i=29;i>=0;i--) if (neighborhood[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = neighborhood[j]; auxiliar[j] = '\0'; strcpy(neighborhood, auxiliar); city = (char *) calloc(31, sizeof(char)); if (!city) { printf ("** Erro: Memoria Insuficiente **"); free(city); return 0; } for (i=226;i<=255;i++) city[i - 226] = registro[i]; for (i=29;i>=0;i--) if (city[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = city[j]; auxiliar[j] = '\0'; strcpy(city, auxiliar); state = (char *) calloc(3, sizeof(char)); if (!state) { printf ("** Erro: Memoria Insuficiente **"); free(state); return 0; } for (i=256;i<=257;i++) state[i - 256] = registro[i]; cep = (char *) calloc(9, sizeof(char)); if (!cep) { printf ("** Erro: Memoria Insuficiente **"); free(cep); return 0; } for (i=258;i<=265;i++) cep[i - 258] = registro[i]; comorbidity = (char *) calloc(21, sizeof(char)); if (!comorbidity) { printf ("** Erro: Memoria Insuficiente **"); free(comorbidity); return 0; } for (i=276;i<=295;i++) comorbidity[i - 276] = registro[i]; for (i=19;i>=0;i--) if (comorbidity[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = comorbidity[j]; auxiliar[j] = '\0'; strcpy(comorbidity, auxiliar); return 1; } void imprimir_parcial() { printf ("Nome do Paciente: %s\n", name); printf ("CPF: %s\n", cpf); printf ("Endereco:"); printf ("%s Numero: %s Bairro: %s\n", street, streetNumber, neighborhood); printf ("Cidade: %s Estado: %s CEP: %s\n", city, state, cep); printf ("Comorbidade: %s\n\n", comorbidity); printf ("\n\nPesquisa Realizada com Sucesso!\n"); } int pesquisar() { char pesquisa[50]; int opcao, passagem = 0, repeticao_da_pesquisa; int sucesso; fp = fopen("arquivo.txt", "r"); if (fp == NULL) { return 0; } do { fseek(fp, 0, 0); sucesso=0; do { system("cls"); printf("*** Tela de Pesquisa por nome ou CPF ***\n\n\n"); if (passagem) printf ("Opcao invalida! Digite 0 para nome ou 1 para CPF.\n\n"); printf("Fazer pesquisa por nome ou CPF? (0=nome/1=CPF): "); scanf("%d",&opcao); setbuf(stdin, NULL); printf("\n"); if (opcao != 0 && opcao !=1) passagem = 1; } while (opcao != 0 && opcao != 1); if (opcao == 0) { printf("\n\nDigite o nome a pesquisar: "); gets(pesquisa); while (fgets(registro, 297, fp) != NULL) { if(extrair_informacoes_parciais()) { if (strcmp(pesquisa, name) == 0) { system("cls"); printf ("*** Resultado da Pesquisa ***\n\n"); printf ("Pesquisa por nome: %s\n\n", pesquisa); imprimir_parcial(); sucesso = 1; break; } } fseek(fp, 2, 1); } if (!sucesso) printf("\n\n\n\nPesquisa nao retornou registro valido!\n\n\n"); } else { printf("\n\nDigite o CPF a pesquisar: "); scanf("%s", &pesquisa); setbuf(stdin, NULL); while (fgets(registro, 297, fp) != NULL) { if(extrair_informacoes_parciais()) { if (strcmp(pesquisa, cpf) == 0) { system("cls"); printf ("*** Resultado da Pesquisa! ***\n\n"); printf ("Pesquisa por CPF: %s\n\n", pesquisa); imprimir_parcial(); sucesso = 1; break; } } fseek(fp, 2, 1); } if (!sucesso) printf("\n\n\n\nPesquisa nao retornou registro valido!\n\n\n"); } printf("\n\nRealiza Nova Pesquisa? (1=Sim/0=Nao): "); scanf("%d",&repeticao_da_pesquisa); setbuf(stdin, NULL); printf("\n"); } while (repeticao_da_pesquisa != 0); fclose(fp); system("pause"); } // FIM FUNÇÕES int main() { int opcao; unsigned int cp=1252; //Respaldo do codepage original da consola unsigned int cpin = GetConsoleCP(); unsigned int cpout = GetConsoleOutputCP(); SetConsoleCP(cp); //Estabelecendo o codepage de entrada 1252(latin2) SetConsoleOutputCP(cp); //Estabelecendo o copage de saída 1252(latin2) if(validate_password()) { do { opcao = read_option(); switch(opcao) { case 0: system("cls"); printf ("* Você acabou de sair do sistema *\n\n"); // É importante voltar o cmd ao estado original, ou pode falhar outros programas. // Sempre será possível mudar o codepage usando SetConsoleCP e SetConsoleOutputCP. SetConsoleCP(cpin); SetConsoleOutputCP(cpout); system("pause"); return 0; case 1: if(!cadastrar()) { printf("\n\nErro na manipulacao do arquivo!\n\n"); return 1; } break; case 2: if (!consultar()) printf ("\n\nHouve um problema com a manipulação do arquivo.\n\n"); break; case 3: pesquisar(); break; } } while (1); } }
-
GeovaneAvilla começou a seguir devair1010
-
C ao compilar o codigo da esse erro error expected ')' before ' ' token
GeovaneAvilla respondeu ao tópico de GeovaneAvilla em C/C#/C++
@devair1010 Então amigo, achei o erro no define, agora o que eu preciso e que não to sabendo fazer é colocar o codigo n opção pesquisar, para que quando eu digite o nome do paciente no pesquisar, ele me dê as informações! conseguirir me ajudar? #include <stdio.h> #include <stdlib.h> #include <string.h> //Biblioteca para usar a funçao strcmp #include <conio.h> #include <windows.h> // CONSTANTES: representando o maximo de caracteres // por variável #define MAX_NAME 50; #define MAX_EMAIL 50; #define MAX_CPF 11; #define MAX_DAY 10; #define MAX_PHONE 15; #define MAX_STREET 50; #define MAX_NUMBER 10; #define MAX_NEIGHBORHOOD 30; #define MAX_CITY 30; #define MAX_STATE 2; #define MAX_CEP 8; #define MAX_COMORBIDITY 20; /* Endereços de variáveis */ char *name; char *email; char *cpf; char *birthDay; char *phoneNumber; char *street; char *streetNumber; char *neighborhood; char *city; char *state; char *cep; char *diagnosisDay; char *comorbidity; // variavel para leitura de dados char leitura[50]; // variavel de tratamento do registro char registro[298]; // ponteiro para arquivo FILE *fp; // FUNÇÕES int validate_password() { char login[20]; char senha[20]; int i, senha_ok; char c; do { system("CLS"); printf(">>> Sistema de cadastro de pacientes diagnosticados com Covid-19 >>>\n\n\n\n\n"); fflush(stdin); printf("Login: "); gets(login); printf("\nSenha: "); i = 0; while((c=getch())!=13){ //13 é o valor de ENTER na tabela ASCII senha[i]=c; i++; printf("*"); //imprime o * Anterisco } senha[i]='\0'; senha_ok = strcmp(senha, "geovane"); if(!senha_ok) return 1; } while (senha_ok); } int read_option(){ // Ler opções do programa int opcao, passagem = 0; do { system("cls"); printf("Menu Principal\n"); printf("--------------\n"); printf("1- Cadastrar Paciente\n"); printf("2- Consultar Paciente\n"); printf("3- Pesquisar Paciente (Nome/CPF)\n"); printf("0- Sair do Programa\n"); if (passagem) printf("\n *** Opção inválida!\n"); printf ("Escolha uma das opções:\n"); printf(">>> "); scanf("%d",&opcao); setbuf(stdin, NULL); printf("\n"); if (opcao != 0 && opcao != 1 && opcao != 2 && opcao != 3) passagem = 1; } while (opcao != 0 && opcao != 1 && opcao != 2 && opcao != 3); return opcao; } /* void pause(char mensagem[]){ printf("%s",mensagem); getch(); } */ void preencher_espacos(char *sequencia, int tamanho) { int tam, espacos, i; strcat(registro, sequencia); tam = strlen(sequencia); espacos = tamanho - tam; for (i=1;i<=espacos;i++) strcat(registro, " "); } void tratar_registro() { strcpy(registro, ""); preencher_espacos(name, 50); preencher_espacos(email, 50); strcat(registro, cpf); strcat(registro, birthDay); preencher_espacos(phoneNumber, 15); preencher_espacos(street, 50); preencher_espacos(streetNumber, 10); preencher_espacos(neighborhood, 30); preencher_espacos(city, 30); strcat(registro, state); strcat(registro, cep); strcat(registro, diagnosisDay); preencher_espacos(comorbidity, 20); strcat(registro, "\n"); } int cadastrar() { int opcao; fp = fopen("arquivo.txt", "a"); if (fp == NULL) { return 0; } do { system("cls"); printf("<<< Entrada de paciente >>>\n\n\n "); fflush(stdin); printf ("\nDigite o Nome do Paciente: "); gets(leitura); name = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!name) { printf ("** Erro: Memoria Insuficiente **"); free(name); return 0; } strcpy(name, leitura); printf ("\nDigite o Email do Paciente: "); gets(leitura); email = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!email) { printf ("** Erro: Memoria Insuficiente **"); free(email); return 0; } strcpy(email, leitura); printf ("\nDigite o CPF do Paciente ( Somente Numeros ): "); gets(leitura); cpf = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!cpf) { printf ("** Erro: Memoria Insuficiente **"); free(cpf); return 0; } strcpy(cpf, leitura); printf ("\nData de nascimento do Paciente?\nNo formato DD/MM/AAAA: "); gets(leitura); birthDay = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!birthDay) { printf ("** Erro: Memoria Insuficiente **"); free(birthDay); return 0; } strcpy(birthDay, leitura); printf ("\nDigite o telefone do Paciente (Somente Numeros ): "); gets(leitura); phoneNumber = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!phoneNumber) { printf ("** Erro: Memoria Insuficiente **"); free(phoneNumber); return 0; } strcpy(phoneNumber, leitura); printf ("\nEndereço:\nLogradouro (rua, avenida, alameda ou outro): "); gets(leitura); street = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!street) { printf ("** Erro: Memoria Insuficiente **"); free(street); return 0; } strcpy(street, leitura); printf ("\nNumero: "); gets(leitura); streetNumber = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!streetNumber) { printf ("** Erro: Memoria Insuficiente **"); free(streetNumber); return 0; } strcpy(streetNumber, leitura); printf ("\nBairro: "); gets(leitura); neighborhood = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!neighborhood) { printf ("** Erro: Memoria Insuficiente **"); free(neighborhood); return 0; } strcpy(neighborhood, leitura); printf ("\nCidade: "); gets(leitura); city = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!city) { printf ("** Erro: Memoria Insuficiente **"); free(city); return 0; } strcpy(city, leitura); printf ("\nEstado: "); gets(leitura); state = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!state) { printf ("** Erro: Memoria Insuficiente **"); free(state); return 0; } strcpy(state, leitura); printf ("\nCEP: "); gets(leitura); cep = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!cep) { printf ("** Erro: Memoria Insuficiente **"); free(cep); return 0; } strcpy(cep, leitura); printf ("\nQual Dia do diagnostico?\nNo formato DD/MM/AAAA: "); gets(leitura); diagnosisDay = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!diagnosisDay) { printf ("** Erro: Memoria Insuficiente **"); free(diagnosisDay); return 0; } strcpy(diagnosisDay, leitura); printf ("\n O paciente tem alguma comorbidade?"); gets(leitura); comorbidity = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!comorbidity) { printf ("** Erro: Memoria Insuficiente **"); free(comorbidity); return 0; } strcpy(comorbidity, leitura); tratar_registro(); fprintf(fp, "%s", registro); printf("\n\n\nCadastrar novo paciente? (1=Sim/0=Não) "); scanf("%d",&opcao); setbuf(stdin, NULL); printf("\n"); } while (opcao != 0); free(name); free(email); free(cpf); free(birthDay); free(phoneNumber); free(street); free(streetNumber); free(neighborhood); free(city); free(state); free(cep); free(diagnosisDay); free(comorbidity); fclose(fp); printf ("\n\nTamanho do registro: %d caracteres\n\n", strlen(registro)); system("pause"); return 1; } /* int comorbidity_option() { // ler tipos de comorbidades printf("Qual o tipo de comorbidade?\nEscolha entre as opções:\n"); printf("1- Diabetes"); printf("2- Obesidade\n"); printf("3- Hipertensão\n"); printf("4- Tuberculose\n"); printf("Opção: "); scanf("%d",&x); printf("\n"); return x; } */ int extrair_informacoes() { int base = 0, topo, suporte; int i, j; char auxiliar[50]; name = (char *) calloc(51, sizeof(char)); if (!name) { printf ("** Erro: Memoria Insuficiente **"); free(name); return 0; } for (i=0;i<=49;i++) name[i] = registro[i]; for (i=49;i>=0;i--) if (name[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = name[j]; auxiliar[j] = '\0'; strcpy(name, auxiliar); email = (char *) calloc(51, sizeof(char)); if (!email) { printf ("** Erro: Memoria Insuficiente **"); free(email); return 0; } for (i=50;i<=99;i++) email[i - 50] = registro[i]; for (i=49;i>=0;i--) if (email[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = email[j]; auxiliar[j] = '\0'; strcpy(email, auxiliar); cpf = (char *) calloc(12, sizeof(char)); if (!cpf) { printf ("** Erro: Memoria Insuficiente **"); free(cpf); return 0; } for (i=100;i<=110;i++) cpf[i - 100] = registro[i]; birthDay = (char *) calloc(11, sizeof(char)); if (!birthDay) { printf ("** Erro: Memoria Insuficiente **"); free(birthDay); return 0; } for (i=111;i<=120;i++) birthDay[i - 111] = registro[i]; phoneNumber = (char *) calloc(51, sizeof(char)); if (!phoneNumber) { printf ("** Erro: Memoria Insuficiente **"); free(phoneNumber); return 0; } for (i=121;i<=135;i++) phoneNumber[i - 121] = registro[i]; for (i=14;i>=0;i--) if (phoneNumber[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = phoneNumber[j]; auxiliar[j] = '\0'; strcpy(phoneNumber, auxiliar); street = (char *) calloc(51, sizeof(char)); if (!street) { printf ("** Erro: Memoria Insuficiente **"); free(street); return 0; } for (i=136;i<=185;i++) street[i - 136] = registro[i]; for (i=49;i>=0;i--) if (street[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = street[j]; auxiliar[j] = '\0'; strcpy(street, auxiliar); streetNumber = (char *) calloc(11, sizeof(char)); if (!streetNumber) { printf ("** Erro: Memoria Insuficiente **"); free(streetNumber); return 0; } for (i=186;i<=195;i++) streetNumber[i - 186] = registro[i]; for (i=9;i>=0;i--) if (streetNumber[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = streetNumber[j]; auxiliar[j] = '\0'; strcpy(streetNumber, auxiliar); neighborhood = (char *) calloc(31, sizeof(char)); if (!neighborhood) { printf ("** Erro: Memoria Insuficiente **"); free(neighborhood); return 0; } for (i=196;i<=225;i++) neighborhood[i - 196] = registro[i]; for (i=29;i>=0;i--) if (neighborhood[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = neighborhood[j]; auxiliar[j] = '\0'; strcpy(neighborhood, auxiliar); city = (char *) calloc(31, sizeof(char)); if (!city) { printf ("** Erro: Memoria Insuficiente **"); free(city); return 0; } for (i=226;i<=255;i++) city[i - 226] = registro[i]; for (i=29;i>=0;i--) if (city[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = city[j]; auxiliar[j] = '\0'; strcpy(city, auxiliar); state = (char *) calloc(3, sizeof(char)); if (!state) { printf ("** Erro: Memoria Insuficiente **"); free(state); return 0; } for (i=256;i<=257;i++) state[i - 256] = registro[i]; cep = (char *) calloc(9, sizeof(char)); if (!cep) { printf ("** Erro: Memoria Insuficiente **"); free(cep); return 0; } for (i=258;i<=265;i++) cep[i - 258] = registro[i]; diagnosisDay = (char *) calloc(11, sizeof(char)); if (!diagnosisDay) { printf ("** Erro: Memoria Insuficiente **"); free(diagnosisDay); return 0; } for (i=266;i<=275;i++) diagnosisDay[i - 266] = registro[i]; comorbidity = (char *) calloc(21, sizeof(char)); if (!comorbidity) { printf ("** Erro: Memoria Insuficiente **"); free(comorbidity); return 0; } for (i=276;i<=295;i++) comorbidity[i - 276] = registro[i]; for (i=19;i>=0;i--) if (comorbidity[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = comorbidity[j]; auxiliar[j] = '\0'; strcpy(comorbidity, auxiliar); } int consultar() { system("cls"); fp = fopen("arquivo.txt", "r"); if (fp == NULL) { return 0; } fgets(registro, 297, fp); extrair_informacoes(); fclose(fp); return 1; } void pesquisar() { system("cls"); printf("*** Pesquisa sendo construída ***\n\n"); system("pause"); } void imprimir() { system("cls"); printf ("*** Consulta de Paciente ***\n\n\n\n\n"); printf ("Nome do Paciente: %s<<<\n", name); printf ("E-mail: %s<<<\n", email); printf ("CPF: %s<<<\n", cpf); printf ("Data de Nascimento: %s\n", birthDay); printf ("Telefone: %s\n", phoneNumber); printf ("Endereço:\n"); printf ("%s número: %s bairro: %s\n", street, streetNumber, neighborhood); printf ("cidade: %s estado: %s CEP: %s\n", city, state, cep); printf ("Data do diagnóstico: %s\n", diagnosisDay); printf ("Comorbidade: %s\n", comorbidity); printf ("\n\n * Dados do paciente recuperados do arquivo *\n\n"); system ("pause"); } // FIM FUNÇÕES int main() { int opcao; unsigned int cp=1252; //Respaldo do codepage original da consola unsigned int cpin = GetConsoleCP(); unsigned int cpout = GetConsoleOutputCP(); SetConsoleCP(cp); //Estabelecendo o codepage de entrada 1252(latin2) SetConsoleOutputCP(cp); //Estabelecendo o copage de saída 1252(latin2) if(validate_password()) { do { opcao = read_option(); switch(opcao) { case 0: system("cls"); printf ("* Você acabou de sair do sistema *\n\n"); // É importante voltar o cmd ao estado original, ou pode falhar outros programas. // Sempre será possível mudar o codepage usando SetConsoleCP e SetConsoleOutputCP. SetConsoleCP(cpin); SetConsoleOutputCP(cpout); system("pause"); return 0; case 1: if(cadastrar()) imprimir(); else { printf("\n\nErro na manipulacao do arquivo!\n\n"); return 1; } break; case 2: if (consultar()) imprimir(); else printf ("\n\nHouve um problema com a manipulação do arquivo.\n\n"); system ("pause"); break; case 3: pesquisar(); break; } } while (1); } } @devair1010 consehuiria me ajudar? -
C ao compilar o codigo da esse erro error expected ')' before ' ' token
GeovaneAvilla postou um tópico em C/C#/C++
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <windows.h> char *name; char *email; char *cpf; char *birthDay; char *phoneNumber; char *street; char *streetNumber; char *neighborhood; char *city; char *state; char *cep; char *diagnosisDay; char *comorbidity; #define MAX_NAME 50; #define MAX_EMAIL 50; #define MAX_CPF 11; #define MAX_DAY 10; #define MAX_PHONE 15; #define MAX_STREET 50; #define MAX_NUMBER 10; #define MAX_NEIGHBORHOOD 30; #define MAX_CITY 30; #define MAX_STATE 2; #define MAX_CEP 8; #define MAX_COMORBIDITY 20; char leitura[50]; char registro[298]; FILE *fp; int validate_password() { char login[20]; char senha[20]; int i, senha_ok; char c; do { system("CLS"); printf(">>> Sistema de cadastro de pacientes diagnosticados com Covid-19 >>>\n\n\n\n\n"); fflush(stdin); printf("Login: "); gets(login); printf("\nSenha: "); i = 0; while((c=getch())!=13){ senha[i]=c; i++; printf("*"); } senha[i]='\0'; senha_ok = strcmp(senha, "geovane"); if(!senha_ok) return 1; } while (senha_ok); } int read_option(){ int opcao, passagem = 0; do { system("cls"); printf("Menu Principal\n"); printf("--------------\n"); printf("1- Cadastrar Paciente\n"); printf("2- Consultar Paciente\n"); printf("3- Pesquisar Paciente (Nome/CPF)\n"); printf("0- Sair do Programa\n"); if (passagem) printf("\n *** Opção inválida!\n"); printf ("Escolha uma das opções:\n"); printf(">>> "); scanf("%d",&opcao); setbuf(stdin, NULL); printf("\n"); if (opcao != 0 && opcao != 1 && opcao != 2 && opcao != 3) passagem = 1; } while (opcao != 0 && opcao != 1 && opcao != 2 && opcao != 3); return opcao; } void preencher_espacos(char *sequencia, int tamanho) { int tam, espacos, i; strcat(registro, sequencia); tam = strlen(sequencia); espacos = tamanho - tam; for (i=1;i<=espacos;i++) strcat(registro, " "); } void tratar_registro() { strcpy(registro, ""); preencher_espacos(name, 50); preencher_espacos(email, 50); strcat(registro, cpf); strcat(registro, birthDay); preencher_espacos(phoneNumber, 15); preencher_espacos(street, 50); preencher_espacos(streetNumber, 10); preencher_espacos(neighborhood, 30); preencher_espacos(city, 30); strcat(registro, state); strcat(registro, cep); strcat(registro, diagnosisDay); preencher_espacos(comorbidity, 20); strcat(registro, "\n"); } int cadastrar() { int opcao; fp = fopen("arquivo.txt", "a"); if (fp == NULL) { return 0; } do { system("cls"); printf("<<< Entrada de paciente >>>\n\n\n "); fflush(stdin); printf ("\nDigite o Nome do Paciente: "); gets(leitura); name = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!name) { printf ("** Erro: Memoria Insuficiente **"); free(name); return 0; } strcpy(name, leitura); printf ("\nDigite o Email do Paciente: "); gets(leitura); email = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!email) { printf ("** Erro: Memoria Insuficiente **"); free(email); return 0; } strcpy(email, leitura); printf ("\nDigite o CPF do Paciente ( Somente Numeros ): "); gets(leitura); cpf = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!cpf) { printf ("** Erro: Memoria Insuficiente **"); free(cpf); return 0; } strcpy(cpf, leitura); printf ("\nData de nascimento do Paciente?\nNo formato DD/MM/AAAA: "); gets(leitura); birthDay = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!birthDay) { printf ("** Erro: Memoria Insuficiente **"); free(birthDay); return 0; } strcpy(birthDay, leitura); printf ("\nDigite o telefone do Paciente (Somente Numeros ): "); gets(leitura); phoneNumber = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!phoneNumber) { printf ("** Erro: Memoria Insuficiente **"); free(phoneNumber); return 0; } strcpy(phoneNumber, leitura); printf ("\nEndereço:\nLogradouro (rua, avenida, alameda ou outro): "); gets(leitura); street = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!street) { printf ("** Erro: Memoria Insuficiente **"); free(street); return 0; } strcpy(street, leitura); printf ("\nNumero: "); gets(leitura); streetNumber = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!streetNumber) { printf ("** Erro: Memoria Insuficiente **"); free(streetNumber); return 0; } strcpy(streetNumber, leitura); printf ("\nBairro: "); gets(leitura); neighborhood = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!neighborhood) { printf ("** Erro: Memoria Insuficiente **"); free(neighborhood); return 0; } strcpy(neighborhood, leitura); printf ("\nCidade: "); gets(leitura); city = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!city) { printf ("** Erro: Memoria Insuficiente **"); free(city); return 0; } strcpy(city, leitura); printf ("\nEstado: "); gets(leitura); state = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!state) { printf ("** Erro: Memoria Insuficiente **"); free(state); return 0; } strcpy(state, leitura); printf ("\nCEP: "); gets(leitura); cep = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!cep) { printf ("** Erro: Memoria Insuficiente **"); free(cep); return 0; } strcpy(cep, leitura); printf ("\nQual Dia do diagnostico?\nNo formato DD/MM/AAAA: "); gets(leitura); diagnosisDay = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!diagnosisDay) { printf ("** Erro: Memoria Insuficiente **"); free(diagnosisDay); return 0; } strcpy(diagnosisDay, leitura); printf ("\n O paciente tem alguma comorbidade?"); gets(leitura); comorbidity = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!comorbidity) { printf ("** Erro: Memoria Insuficiente **"); free(comorbidity); return 0; } strcpy(comorbidity, leitura); tratar_registro(); fprintf(fp, "%s", registro); printf("\n\n\nCadastrar novo paciente? (1=Sim/0=Não) "); scanf("%d",&opcao); setbuf(stdin, NULL); printf("\n"); } while (opcao != 0); free(name); free(email); free(cpf); free(birthDay); free(phoneNumber); free(street); free(streetNumber); free(neighborhood); free(city); free(state); free(cep); free(diagnosisDay); free(comorbidity); fclose(fp); printf ("\n\nTamanho do registro: %d caracteres\n\n", strlen(registro)); system("pause"); return 1; } void extrair_campo(char *campo[]) { int i, j; char auxiliar[50]; // strcpy(name, ""); for (i=0;i<50;i++) *campo[i] = registro[i]; for (i=49;i>=0;i--) if (*campo[i] != ' ') break; for (j=0;j<=i;j++) auxiliar[j] = *campo[j]; auxiliar[j] = '\0'; strcpy(*campo, auxiliar); } int extrair_informacoes() { name = (char *) calloc(MAX_NAME + 1, sizeof(char)); if (!name) { printf ("** Erro: Memoria Insuficiente **"); free(name); return 0; } extrair_campo(name); email = (char *) calloc((MAX_EMAIL + 1), sizeof(char)); if (!email) { printf ("** Erro: Memoria Insuficiente **"); free(email); return 0; } extrair_campo(email); cpf = (char *) calloc((MAX_CPF + 1), sizeof(char)); if (!cpf) { printf ("** Erro: Memoria Insuficiente **"); free(cpf); return 0; } extrair_campo(cpf); birthDay = (char *) calloc((MAX_DAY + 1), sizeof(char)); if (!birthDay) { printf ("** Erro: Memoria Insuficiente **"); free(birthDay); return 0; } extrair_campo(birthDay); phoneNumber = (char *) calloc((MAX_PHONE + 1), sizeof(char)); if (!phoneNumber) { printf ("** Erro: Memoria Insuficiente **"); free(phoneNumber); return 0; } extrair_campo(phoneNumber); street = (char *) calloc((MAX_STREET + 1), sizeof(char)); if (!street) { printf ("** Erro: Memoria Insuficiente **"); free(street); return 0; } extrair_campo(street); streetNumber = (char *) calloc((MAX_NUMBER + 1), sizeof(char)); if (!streetNumber) { printf ("** Erro: Memoria Insuficiente **"); free(streetNumber); return 0; } extrair_campo(streetNumber); neighborhood = (char *) calloc((MAX_NEIGHBORHOOD + 1), sizeof(char)); if (!neighborhood) { printf ("** Erro: Memoria Insuficiente **"); free(neighborhood); return 0; } extrair_campo(neighborhood); city = (char *) calloc((MAX_CITY + 1), sizeof(char)); if (!city) { printf ("** Erro: Memoria Insuficiente **"); free(city); return 0; } extrair_campo(city); state = (char *) calloc((MAX_STATE + 1), sizeof(char)); if (!state) { printf ("** Erro: Memoria Insuficiente **"); free(state); return 0; } extrair_campo(state); cep = (char *) calloc((MAX_CEP + 1), sizeof(char)); if (!cep) { printf ("** Erro: Memoria Insuficiente **"); free(cep); return 0; } extrair_campo(cep); comorbidity = (char *) calloc((MAX_COMORBIDITY + 1), sizeof(char)); if (!comorbidity) { printf ("** Erro: Memoria Insuficiente **"); free(comorbidity); return 0; } extrair_campo(comorbidity); } int consultar() { system("cls"); fp = fopen("arquivo.txt", "r"); if (fp == NULL) { return 0; } fgets(registro, 297, fp); if (!extrair_informacoes()) return 0; // free(name); fclose(fp); return 1; } void pesquisar() { system("cls"); printf("*** Pesquisa sendo construída ***\n\n"); system("pause"); } void imprimir() { system("cls"); printf ("*** Consulta de Paciente ***\n\n\n\n\n"); printf ("Nome do Paciente: %s\n", name); printf ("E-mail: %s\n", email); printf ("Data de Nascimento: %s\n", birthDay); printf ("Telefone: %s\n", phoneNumber); printf ("Endereço:\n"); printf ("%s número: %s bairro: %s\n", street, streetNumber, neighborhood); printf ("cidade: %s estado: %s CEP: %s\n", city, state, cep); printf ("Data do diagnóstico: %s\n", diagnosisDay); printf ("Comorbidade: %s\n", comorbidity); printf ("\n\n * Dados do paciente recuperados do arquivo *\n\n"); system ("pause"); } int main() { int opcao; unsigned int cp=1252; unsigned int cpin = GetConsoleCP(); unsigned int cpout = GetConsoleOutputCP(); SetConsoleCP(cp); SetConsoleOutputCP(cp); if(validate_password()) { do { opcao = read_option(); switch(opcao) { case 0: system("cls"); printf ("* Você acabou de sair do sistema *\n\n"); SetConsoleCP(cpin); SetConsoleOutputCP(cpout); system("pause"); return 0; case 1: if(cadastrar()) imprimir(); else { printf("\n\nErro na manipulacao do arquivo!\n\n"); return 1; } break; case 2: if (!consultar()) printf ("\n\nHouve um problema com a manipulação do arquivo.\n\n"); system ("pause"); break; case 3: pesquisar(); break; } } while (1); } } -
C Problema ao criar sistema de cadastro de covid para a faculdade!
GeovaneAvilla respondeu ao tópico de GeovaneAvilla em C/C#/C++
@Lucca Rodrigues #include <stdio.h> #include <stdlib.h> #include <string.h> //Biblioteca para usar a funçao strcmp #include <conio.h> #include <locale.h> /* Começo Matriz*/ char *name; char *email; char *cpf; char *birthDay; char *phoneNumber; char *street; char *streetNumber; char *neighborhood; char *city; char *state; char *cep; char *diagnosisDay; char *comorbidity; // variavel para leitura de dados char leitura[50]; // variavel de tratamento do registro char registro[297]; // ponteiro para arquivo FILE *fp; // FUNÇÕES int validate_password() { char login[20]; char senha[20]; int i, senha_ok; char c; do { system("CLS"); printf(">>> Sistema de cadastro de pacientes diagnosticados com Covid-19 >>>\n\n\n\n\n"); fflush(stdin); printf("Login: "); gets(login); printf("\nSenha: "); i = 0; while((c=getch())!=13){ //13 é o valor de ENTER na tabela ASCII senha[i]=c; i++; printf("*"); //imprime o * Anterisco } senha[i]='\0'; senha_ok = strcmp(senha, "geovane"); if(!senha_ok) return 1; } while (senha_ok); } int read_option(){ // Ler opções do programa int opcao, passagem = 0; do { system("cls"); printf("Menu Principal\n"); printf("--------------\n"); printf("1- Cadastrar Paciente\n"); printf("2- Consultar Paciente\n"); printf("3- Pesquisar Paciente (Nome/CPF)\n"); printf("0- Sair do Programa\n"); if (passagem) printf("\n *** Opção inválida!\n"); printf ("Escolha uma das opções:\n"); printf(">>> "); scanf("%d",&opcao); getchar(); printf("\n"); if (opcao != 0 && opcao != 1 && opcao != 2 && opcao != 3) passagem = 1; } while (opcao != 0 && opcao != 1 && opcao != 2 && opcao != 3); return opcao; } /* void pause(char mensagem[]){ printf("%s",mensagem); getch(); } */ void preencher_espacos(char *sequencia, int tamanho) { int tam, espacos, i; strcat(registro, sequencia); tam = strlen(sequencia); espacos = tamanho - tam; for (i=1;i<=espacos;i++) strcat(registro, " "); } void tratar_registro() { preencher_espacos(name, 50); preencher_espacos(email, 50); strcat(registro, cpf); strcat(registro, birthDay); preencher_espacos(phoneNumber, 15); preencher_espacos(street, 50); preencher_espacos(streetNumber, 10); preencher_espacos(neighborhood, 30); preencher_espacos(city, 30); strcat(registro, state); strcat(registro, cep); strcat(registro, diagnosisDay); preencher_espacos(comorbidity, 20); } int salvar() { fp = fopen("arquivo.txt", "a"); if (fp == NULL) { return 0; } fprintf(fp, "%s", registro); fclose(fp); return 1; } int cadastrar() { system("cls"); printf("<<< Entrada de paciente >>>\n\n\n "); fflush(stdin); printf ("\nDigite o Nome do Paciente: "); gets(leitura); name = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!name) { printf ("** Erro: Memoria Insuficiente **"); free(name); return 0; } strcpy(name, leitura); printf ("\nDigite o Email do Paciente: "); gets(leitura); email = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!email) { printf ("** Erro: Memoria Insuficiente **"); free(email); return 0; } strcpy(email, leitura); printf ("\nDigite o CPF do Paciente ( Somente Numeros ): "); gets(leitura); cpf = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!cpf) { printf ("** Erro: Memoria Insuficiente **"); free(cpf); return 0; } strcpy(cpf, leitura); printf ("\nData de nascimento do Paciente?\nNo formato DD/MM/AAAA: "); gets(leitura); birthDay = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!birthDay) { printf ("** Erro: Memoria Insuficiente **"); free(birthDay); return 0; } strcpy(birthDay, leitura); printf ("\nDigite o telefone do Paciente (Somente Numeros ): "); gets(leitura); phoneNumber = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!phoneNumber) { printf ("** Erro: Memoria Insuficiente **"); free(phoneNumber); return 0; } strcpy(phoneNumber, leitura); printf ("\nEndereço:\nLogradouro (rua, avenida, alameda ou outro): "); gets(leitura); street = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!street) { printf ("** Erro: Memoria Insuficiente **"); free(street); return 0; } strcpy(street, leitura); printf ("\nNumero: "); gets(leitura); streetNumber = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!streetNumber) { printf ("** Erro: Memoria Insuficiente **"); free(streetNumber); return 0; } strcpy(streetNumber, leitura); printf ("\nBairro: "); gets(leitura); neighborhood = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!neighborhood) { printf ("** Erro: Memoria Insuficiente **"); free(neighborhood); return 0; } strcpy(neighborhood, leitura); printf ("\nCidade: "); gets(leitura); city = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!city) { printf ("** Erro: Memoria Insuficiente **"); free(city); return 0; } strcpy(city, leitura); printf ("\nEstado: "); gets(leitura); state = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!state) { printf ("** Erro: Memoria Insuficiente **"); free(state); return 0; } strcpy(state, leitura); printf ("\nCEP: "); gets(leitura); cep = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!cep) { printf ("** Erro: Memoria Insuficiente **"); free(cep); return 0; } strcpy(cep, leitura); printf ("\nQual Dia do diagnostico?\nNo formato DD/MM/AAAA: "); gets(leitura); diagnosisDay = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!diagnosisDay) { printf ("** Erro: Memoria Insuficiente **"); free(diagnosisDay); return 0; } strcpy(diagnosisDay, leitura); printf ("\n O paciente tem alguma comorbidade?"); gets(leitura); comorbidity = (char *) calloc((strlen(leitura)+1), sizeof(char)); if (!comorbidity) { printf ("** Erro: Memoria Insuficiente **"); free(comorbidity); return 0; } strcpy(comorbidity, leitura); tratar_registro(); if (salvar()) printf ("\n\nDados do paciente salvo em arquivo!\n\n"); else printf ("\n\nHouve um problema com a manipulação do arquivo.\n\n"); free(name); free(email); free(cpf); free(birthDay); free(phoneNumber); free(street); free(streetNumber); free(neighborhood); free(city); free(state); free(cep); free(diagnosisDay); free(comorbidity); printf ("\n\nTamanho do registro: %d caracteres\n\n", strlen(registro)); system("pause"); return 1; } /* int comorbidity_option() { // ler tipos de comorbidades printf("Qual o tipo de comorbidade?\nEscolha entre as opções:\n"); printf("1- Diabetes"); printf("2- Obesidade\n"); printf("3- Hipertensão\n"); printf("4- Tuberculose\n"); printf("Opção: "); scanf("%d",&x); printf("\n"); return x; } */ int consultar() { system("cls"); FILE *fp; fp = fopen("arquivo.txt", "r"); if (fp == NULL) { return 0; } fscanf(fp, "%s", &name); fscanf(fp, "%s", &email); fscanf(fp, "%s", &cpf); fscanf(fp, "%s", &birthDay); fscanf(fp, "%s", &phoneNumber); fscanf(fp, "%s", &street); fscanf(fp, "%s", &streetNumber); fscanf(fp, "%s", &neighborhood); fscanf(fp, "%s", &city); fscanf(fp, "%s", &state); fscanf(fp, "%s", &cep); fscanf(fp, "%s", &diagnosisDay); fscanf(fp, "%s", &comorbidity); fclose(fp); return 1; } void pesquisar() { system("cls"); printf("\nInforme o CPF da pessoa: "); long long cpf_localizador; scanf("%Lu",&cpf_localizador); printf ("*** Consulta de Paciente ***\n\n\n\n\n"); printf ("Nome do Paciente: %s\n", name); printf ("E-mail: %s\n", email); printf ("Data de Nascimento: %s\n", birthDay); printf ("Telefone: %s\n", phoneNumber); printf ("Data do diagnostico: %s\n", diagnosisDay); printf ("Comorbidade: %s\n", comorbidity); printf ("\n\n * Dados do paciente recuperados do arquivo *\n\n"); system("pause"); } void imprimir() { system("cls"); printf ("*** Consulta de Paciente ***\n\n\n\n\n"); printf ("Nome do Paciente: %s\n", name); printf ("E-mail: %s\n", email); printf ("Data de Nascimento: %s\n", birthDay); printf ("Telefone: %s\n", phoneNumber); printf ("Endereço:\n"); printf ("%s número: %s bairro: %s\n", street, streetNumber, neighborhood); printf ("cidade: %s estado: %s CEP: %s\n", city, state, cep); printf ("Data do diagnóstico: %s\n", diagnosisDay); printf ("Comorbidade: %s\n", comorbidity); printf ("\n\n * Dados do paciente recuperados do arquivo *\n\n"); } // FIM FUNÇÕES int main() { int opcao; setlocale(LC_ALL, "Portuguese"); if(validate_password()) { do { opcao = read_option(); switch(opcao) { case 0: system("cls"); printf ("* Você acabou de sair do sistema *\n\n"); system("pause"); return 0; case 1: cadastrar(); break; case 2: if (consultar()) imprimir(); else printf ("\n\nHouve um problema com a manipulação do arquivo.\n\n"); system ("pause"); break; case 3: pesquisar(); break; } } while (1); } } -
C Problema ao criar sistema de cadastro de covid para a faculdade!
GeovaneAvilla respondeu ao tópico de GeovaneAvilla em C/C#/C++
@Lucca Rodrigues Então amigo, foi o que eu disse, eu não sei rs estou ainda na segunda semana de aula, to tentando sei que não esta bom kkkkkkkkkkkkkkkkkkkkkk preciso entender como faz! poderia me ajudar? -
C Problema ao criar sistema de cadastro de covid para a faculdade!
GeovaneAvilla postou um tópico em C/C#/C++
Boa noite, preciso da ajuda de vocês, estou tentando criar um sistema de covid para o projeto da faculdade, porém não estou conseguindo desenvolver algumas coisas! Preciso salvar em arquivo e quando eu salvo vem duplicado, preciso criar a opção pesquisar paciente e não consigo, preciso por a função cadastrar novo paciente? Preciso por login e senha ao entrar no sistema, e por ultimo o sitema quando eu cadastrar um paciente ele me informar se o paciente é maior de 65 anos e se for faz parte do grupo de risco e verificar se o paciente tem alguma comorbidade! #include <stdio.h> #include <stdlib.h> #include <string.h> //Biblioteca para usar a funçao strcmp #include <conio.h> #include <locale.h> /* Começo Matriz*/ char name[50]; char email[50]; char cpf[11]; char birthDay[10]; char phoneNumber[15]; char street[50]; char streetNumber[10]; char neighborhood[30]; char city[30]; char state[2]; char cep[9]; char diagnosisDay[10]; char comorbidity[20]; // FUNÇÕES int validate_password() { char login[20]; char senha[20]; int i, senha_ok; char c; do { system("CLS"); printf(">>> Sistema de cadastro de pacientes diagnosticados com Covid-19 >>>\n\n\n\n\n"); fflush(stdin); printf("Login: "); gets(login); printf("\nSenha: "); i = 0; while((c=getch())!=13){ //13 é o valor de ENTER na tabela ASCII senha[i]=c; i++; printf("*"); //imprime o * Anterisco } senha[i]='\0'; senha_ok = strcmp(senha, "geovane"); if(!senha_ok) return 1; } while (senha_ok); } int read_option(){ // Ler opções do programa int opcao, passagem = 0; do { system("cls"); printf("Menu Principal\n"); printf("--------------\n"); printf("1- Cadastrar Paciente\n"); printf("2- Consultar Paciente\n"); printf("3- Pesquisar Paciente (Nome/CPF)\n"); printf("0- Sair do Programa\n"); if (passagem) printf("\n *** Opção inválida!\n"); printf ("Escolha uma das opções:\n"); printf(">>> "); scanf("%d",&opcao); getchar(); printf("\n"); if (opcao != 0 && opcao != 1 && opcao != 2 && opcao != 3) passagem = 0; } while (opcao != 0 && opcao != 1 && opcao != 2 && opcao != 3); return opcao; } /* void pause(char mensagem[]){ printf("%s",mensagem); getch(); } */ int salvar(void) { FILE *fp; fp = fopen("arquivo.txt", "a"); if (fp == NULL) { return 0; } fprintf(fp, "%s", name); fprintf(fp, "%s", email); fprintf(fp, "%s", cpf); fprintf(fp, "%s", birthDay); fprintf(fp, "%s", phoneNumber); fprintf(fp, "%s", street); fprintf(fp, "%s", streetNumber); fprintf(fp, "%s", neighborhood); fprintf(fp, "%s", city); fprintf(fp, "%s", state); fprintf(fp, "%s", cep); fprintf(fp, "%s", diagnosisDay); fprintf(fp, "%s", comorbidity); fclose(fp); return 1; } void cadastrar(){ system("cls"); printf("<<< Entrada de paciente >>>\n\n\n "); printf("\nDigite o Nome do Paciente: "); scanf ("%[^\n]s", &name); getchar(); printf("\nDigite o Email do Paciente: "); scanf ("%[^\n]s", &email); getchar(); printf("\nDigite o CPF do Paciente ( Somente Numeros "); scanf ("%[^\n]s", &cpf); getchar(); printf("\nData de nascimento do Paciente?\nNo formato DD/MM/AAAA: "); scanf ("%[^\n]s", &birthDay); getchar(); printf("\nDigite o telefone do Paciente (Somente Numeros "); scanf ("%[^\n]s", &phoneNumber); getchar(); printf("\nEndereço:\nLogradouro (rua, avenida, alameda ou outro): "); scanf ("%[^\n]s", &street); getchar(); printf("\nNúmero: "); scanf ("%[^\n]s", &streetNumber); getchar(); printf("\nBairro: "); scanf ("%[^\n]s", &neighborhood); getchar(); printf("\nCidade: "); scanf ("%[^\n]s", &city); getchar(); printf("\nEstado (sigla = XX): "); scanf ("%[^\n]s", &state); getchar(); printf("\nCEP (no formato 99999-999): "); scanf ("%[^\n]s", &cep); getchar(); printf("\nQual Dia do diagnostico?\nNo formato DD/MM/AAAA: "); scanf ("%[^\n]s", &diagnosisDay); getchar(); printf("\n O paciente tem alguma comorbidade?"); scanf ("%[^\n]s", &comorbidity); getchar(); if (salvar()) printf ("\n\nDados do paciente salvo em arquivo!\n\n"); else printf ("\n\nHouve um problema com a manipulação do arquivo.\n\n"); system("pause"); } /* int comorbidity_option() { // ler tipos de comorbidades printf("Qual o tipo de comorbidade?\nEscolha entre as opções:\n"); printf("1- Diabetes"); printf("2- Obesidade\n"); printf("3- Hipertensão\n"); printf("4- Tuberculose\n"); printf("Opção: "); scanf("%d",&x); printf("\n"); return x; } */ int consultar() { system("cls"); FILE *fp; fp = fopen("arquivo.txt", "r"); if (fp == NULL) { return 0; } fscanf(fp, "%s", &name); fscanf(fp, "%s", &email); fscanf(fp, "%s", &cpf); fscanf(fp, "%s", &birthDay); fscanf(fp, "%s", &phoneNumber); fscanf(fp, "%s", &street); fscanf(fp, "%s", &streetNumber); fscanf(fp, "%s", &neighborhood); fscanf(fp, "%s", &city); fscanf(fp, "%s", &state); fscanf(fp, "%s", &cep); fscanf(fp, "%s", &diagnosisDay); fscanf(fp, "%s", &comorbidity); fclose(fp); return 1; } int pesquisar() { system("cls"); printf("*** Pesquisa sendo construída ***\n\n"); system("pause"); } void imprimir() { system("cls"); printf ("*** Consulta de Paciente ***\n\n\n\n\n"); printf ("Nome do Paciente: %s\n", name); printf ("E-mail: %s\n", email); printf ("Data de Nascimento: %s\n", birthDay); printf ("Telefone: %s\n", phoneNumber); printf ("Endereço:\n"); printf ("%s número: %s bairro: %s\n", street, streetNumber, neighborhood); printf ("cidade: %s estado: %s CEP: %s\n", city, state, cep); printf ("Data do diagnóstico: %s\n", diagnosisDay); printf ("Comorbidade: %s\n", comorbidity); printf ("\n\n * Dados do paciente recuperados do arquivo *\n\n"); } // FIM FUNÇÕES int main() { int opcao; setlocale(LC_ALL, "Portuguese"); if(validate_password()) { do { opcao = read_option(); switch(opcao) { case 0: system("cls"); printf ("* Você acabou de sair do sistema *\n\n"); system("pause"); return 0; case 1: cadastrar(); break; case 2: if (consultar()) imprimir(); else printf ("\n\nHouve um problema com a manipulação do arquivo.\n\n"); system ("pause"); break; case 3: pesquisar(); break; } } while (1); } }
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