Ir ao conteúdo

Posts recomendados

Postado

Olá, estou realizando um trabalho pra faculdade, porém estou tendo muitas dificuldades em continuar o código sou bem iniciante na programação e estou sofrendo um pouco pra aprender

o que aprendo é mais no youtube e em forum, gostaria de uma ajuda como eu poderia dar sequencia nesse código e se tem algo que eu tenha que mudar 

 

basicamente o que eu fiz até agora foi com a ajuda de um amigo, porém ele não está tendo tempo para me auxiliar

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <conio.h>

char user[];
int dataNas;
int mesNasc;
int anoNasc;
char password[];
int option;
int escolhaMenu;
char nome[];
int cpf;
int telefone;
char end[];
int cep;
char email[];
char dataDiag;
char comorbidade[];

int main(){
    setlocale(LC_ALL, "Portuguese");
    primeiraTela();
    loginTela();
    principalMenu();
}

void primeiraTela(){
    printf("Sistema Cadastro Covid");
    printf("\n        _v1.0_");
    printf("\n--------WELCOME--------\n");
    system("pause");
    system("cls");
    }

void loginTela(){
    printf("Digite o nome de usuario: ");
    scanf("%s", user);
    printf("Digite a senha: ");
    int p=0;
    do{
        password[p]=getch();
        if(password[p]!='\r'){
            printf("*");
        }
        p++;
    }while(password[p-1]!='\r');
    password[p-1]='\0';
    printf("\nAcesso Liberado\n");
    system("pause");
    system("cls");
}

void principalMenu(){
    printf("Sistema Cadastro Covid");
    printf("\n          ---");
    printf("\n--------WELCOME--------\n");
    printf("## ESCOLHA UMA OPÇÃO DE 1 A 6 ##\n");
    printf("1 - Informações Desenvolvedores\n");
    printf("2 - Cadastro Pacientes com covid\n");
    printf("3 - Imprimir arquivo Pacientes\n");
    printf("4 - Imprimir Grupo de Risco\n");
    printf("5 - Enviar para Secretaria de Saúde\n");
    printf("6 - Sair\n");
    scanf("%d", &option);

    switch(option){
        case 1 :
            informacaoDev();
        break;

        case 2 :
            coletaInformacao();
        break;

        case 3 :
            imprimirInformacao();
        break;

        case 4 :
            printf("Batata");
        break;

        case 5 :
            printf("Batata");
        break;

        case 6 :
            printf("Finalizando o Programa");
            exit(0);
        break;

        default :
            printf("## ESCOLHA UMA OPÇÃO DE 1 A 6 ##\n");
            scanf("%i", option);
    }
}

void informacaoDev(){
    system("cls");
    printf("---------- Informações do DEV ----------\n");
    printf("Desenvolvedor: M\n");
    printf("Celular: \n");
    printf("Email:\n");
    printf("Pressione 1 para voltar ao menu e 0 para sair ");
    scanf("%d", &escolhaMenu);
    if(escolhaMenu == 1){
        system("cls");
        principalMenu();
    } else{
        printf("Finalizando o Programa");
        exit(0);
    }
}
void coletaInformacao(){
    char nome[50][50],diaNasc[5][50],anoNasc[5][50],mesNasc[5][50];
    char mes[5][50],cpf[5][50],telefone[5][50], cep[5][50];
    char email[5][50];
    char comorbidade[5][50];
    int i,j,quant;
    FILE *arquivo;

    printf("Quantas pessoas voce quer cadastrar? \n");
    scanf("%d", & quant);

    for(i=0;i<quant;i++){
        printf("Digite nome: ");
        scanf("%s", &nome);
        printf("Digite dia: ");
        scanf("%s", &diaNasc);
        printf("Digite o mês: ");
        scanf("%s", &mesNasc);
        printf("Digite o ano: ");
        scanf("%s", &anoNasc);
        printf("Digite o CPF: ");
        scanf("%i", &cpf);
        printf("Digite o telefone: ");
        scanf("%i", &telefone);
        printf("Digite o Endereço: ");
        fgets(end, 256, stdin);
        printf("%s", end);
        printf("Digite o CEP: ");
        scanf("%i", &cep);
        printf("Digite o email: ");
        scanf("%s", &email);
        printf("Digite a Data do Diagnostico: ");
        scanf("%i", &dataDiag);
        printf("Digite a Comobridade do Paciente: ");
        scanf("%s", &comorbidade);
    }

    void imprimiInformacao(){
    printf("\n-------------------------------------------------------------------------------\n");
    printf("Listar pessoas cadastradas\n\n");
    for(i=0;i<quant;i++){
        printf("NOME ------: %s\n",nome[i]    );
        printf("DIA --: %s\n",diaNasc[i]);
        printf("MES ----: %s\n",mesNasc[i]  );
        printf("ANO ----: %s\n",anoNasc[i]  );
        printf("CPF/CNPJ --: %s\n",cpf[i]     );
        printf("TELEFONE --: %s\n",telefone[i]     );
        printf("END --: %s\n",end[i]     );
        printf("CEP --: %s\n",cep[i]     );
        printf("EMAIL --: %s\n",email[i]     );
    }

    arquivo=fopen("nome_do_arquivo.txt","w");
    for(i=0;i<quant;i++){
        fprintf(arquivo,"%s\n",nome[i]);
        fprintf(arquivo,"%s\n",diaNasc[i]);
        fprintf(arquivo,"%s\n",mesNasc[i]);
        fprintf(arquivo,"%s\n",anoNasc[i]);
        fprintf(arquivo,"%s\n",cpf[i]);
        fprintf(arquivo,"%s\n",telefone[i]);
        fprintf(arquivo,"%s\n",end[i]);
        fprintf(arquivo,"%s\n",cep[i]);
        fprintf(arquivo,"%s\n",email[i]);
        fprintf(arquivo,"%s\n",dataDiag);
        fprintf(arquivo,"%s\n",comorbidade);
    }

 

  • Obrigado 1
Postado
3 horas atrás, Victor Sgargetta disse:
char user[];

 

Não pode declarar isso. Tem que ter um tamanho fixo, conhecido na hora em que está compilando o programa.

 

Crie um registro para o cadastro. É muito mais fácil porque pode tratar como unidade.

  • Curtir 1
Postado

@Victor Sgargetta      seu código tem erros , e não nem compila  mesmo  ,     muitas variáveis globais ,   é melhor que sejam locais ,  e usar vetores e/ou matrizes é bem  melhor do que variáveis simples , mas uma struct ou typedef struct é muito melhor , pois você terá muitas variáveis em um só lugar ,  e corrigindo seu código  , só para compilar ,  ele ficou assim , ;.,...,   .

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <locale.h>
#include <conio.h>
#define getch()  _getch()

char user       [10][25];
char diaNasc    [10][15];
char mesNasc    [10][10];
char anoNasc    [10][10];
char password   [10][25];
char nome       [10][25];
char cpf        [10][15];
char telefone   [10][15];
char end        [10][25];
char cep        [10][15];
char email      [10][25];
char dataDiag   [10][15];
char comorbidade[10][25];
int  option  ,     quant;
int  escolhaMenu        ;


typedef struct
{
    char user       [25];
    char diaNasc    [15];
    char mesNasc    [10];
    char anoNasc    [10];
    char password   [25];
    char nome       [25];
    char cpf        [15];
    char telefone   [15];
    char end        [25];
    char cep        [15];
    char email      [25];
    char dataDiag   [15];
    char comorbidade[25];
    int  option,   quant;
    int  escolhaMenu    ;
}dados;

int primeiraTela      ();
int loginTela         ();
int principalMenu     ();
int informacaoDev     ();
int coletaInformacao  ();
int imprimirInformacao(FILE* arquivo);
int main() 
{
    dados d[10];                                       // um vetor para a struct Toda
    printf("nome ");                                   // msg
    fgets(d[0].nome,sizeof(nome), stdin);              // como funciona com struct
    printf("nome -> %s\n\tTecle", d[0].nome);          // testar
    getch();

    FILE* arquivo = fopen("cadastro.txt","a+");        // tenta avrir o arquivo para ler e/ou gravar nele a partir do final
    if (!arquivo)arquivo = fopen("cadastro.txt", "w"); // se não existir cria e abre e reseta o arquivo para gravar a partir do inicio
    setlocale(LC_ALL, "Portuguese");
    //primeiraTela();
    //loginTela();
    do
    {
        option = principalMenu();
        switch (option)
        {
        case 1:
            informacaoDev();
            break;
        case 2:
            coletaInformacao();
            break;
        case 3:
            imprimirInformacao(arquivo);
            break;
        case 4:
            printf("Batata");
            break;
        case 5:
            printf("Batata");
            break;
        case 6:
            printf("\n\tFinalizando o Programa\n\n");
            break;;
        default:
            printf("## ESCOLHA UMA OPÇÃO DE 1 A 6 ##\n");
            scanf("%i", option);
        }
        printf("\tTecle\n");
        getch();
    } while ( option != 6);
    fclose(arquivo);
    printf("\n\n\n");
    return 0;
}

int primeiraTela() 
{
    printf("Sistema Cadastro Covid  \n\
           \r        _v1.0          \n\
           \r--------WELCOME--------\n");
    system("pause");
    system("cls");
    return 0;
}

int loginTela() 
{
    printf("Digite o nome de usuario: ");
    scanf("%s", user);
    printf("Digite a senha: ");
    int p = 0;
    do 
    {
        password[0][p] = getch();
        if (password[p][0] != '\r') 
        {
            printf("*");
        }
        p++;
    } while (password[0][p - 1] != '\r');
    password[0][p - 1] = '\0';
    printf("\nAcesso Liberado\n");
    return 0;
}

int principalMenu()
{
    system("cls");
    printf("\n\nSistema Cadastro Covid        \n\
        \r            ---                     \n\
        \r  --------WELCOME--------           \n\
        \r ## ESCOLHA UMA OPÇÃO DE 1 A 6 ##   \n\
        \r 1 - Informações Desenvolvedores    \n\
        \r 2 - Cadastro Pacientes com covid   \n\
        \r 3 - Imprimir arquivo Pacientes     \n\
        \r 4 - Imprimir Grupo de Risco        \n\
        \r 5 - Enviar para Secretaria de Saúde\n\
        \r 6 - Sair  \n   > "                  );
    return getch() - 48;
}

int informacaoDev() 
{
    system("cls");
    printf("---------- Informações do DEV ----------\n\
          \rDesenvolvedor -:                        \n\
          \rCelular -------:                        \n\
          \rEmail ---------:                        \n\
         \rPressione 1 para voltar ao menu e 0 para sair ");
    scanf("%d", &escolhaMenu);
    if (escolhaMenu == 1) 
    {
        system("cls");
        principalMenu();
    }
    else 
    {
        printf("Finalizando o Programa");
        exit(0);
    }
}
int coletaInformacao()
{
    int i, j;
    FILE* arquivo;

    printf("Quantas pessoas voce quer cadastrar? \n");
    scanf("%d", &quant);

    for (i = 0; i < quant; i++)
    {
        printf("o nome --------------------: ");
        scanf("%s", &nome[i]);
        printf("o dia ---------------------: ");
        scanf("%s", &diaNasc[i]);
        printf("o mês ---------------------: ");
        scanf("%s", &mesNasc[i]);
        printf("o ano ---------------------: ");
        scanf("%s", &anoNasc[i]);
        printf("o CPF ---------------------: ");
        scanf("%s", &cpf[i]);
        printf("o telefone ----------------: ");
        scanf("%s", &telefone[i]); 
        printf("o Endereço ----------------: ");
        scanf("%s", &end[i]);
        printf("o CEP ---------------------: ");
        scanf("%s", &cep[i]);
        printf("o email -------------------: ");
        scanf("%s", &email[i]);
        printf("a Data do Diagnostico -----: ");
        scanf("%s", &dataDiag[i]);
        printf("a Comobridade do Paciente -: ");
        scanf("%s", &comorbidade[i]);
    }
    for (int i = 0; i < quant; i++)
    {
        printf("NOME ------: %s\n\
              \rDIA -------: %s\n\
              \rMES -------: %s\n\
              \rANO -------: %s\n\
              \rCPF/CNPJ --: %s\n\
              \rTELEFONE --: %s\n\
              \rEND -------: %s\n\
              \rCEP -------: %s\n\
              \rEMAIL -----: %s\n",
            nome[i], diaNasc[i], mesNasc[i],
            anoNasc[i], cpf[i], telefone[i],
            end[i], cep[i], email[i]);
    }
    return 0;
}

int imprimirInformacao(FILE* arquivo)
{
    int i;
    printf("\n-------------------------------------------------------------------------------\n\
            \rListar pessoas cadastradas\n\n");
    FILE* arq = fopen("nome_do_arquivo.txt", "w"); 
    for (i = 0; i < quant; i++)
    {
        printf("NOME ------: %s\n\
              \rDIA -------: %s\n\
              \rMES -------: %s\n\
              \rANO -------: %s\n\
              \rCPF/CNPJ --: %s\n\
              \rTELEFONE --: %s\n\
              \rEND -------: %s\n\
              \rCEP -------: %s\n\
              \rEMAIL -----: %s\n",
            nome[i], diaNasc[i], mesNasc[i],
            anoNasc[i], cpf[i], telefone[i],
            end[i], cep[i], email[i]);
        fprintf(arq, "Nome -: %s  \
                    \rDia --: %s  \
                    \rMes --: %s  \
                    \rAno --: %s  \
                    \rCpf --: %s  \
                    \rTeL --: %s  \
                    \rEnd --: %s  \
                    \rCep --: %s  \
                    \rEmaiL : %s  \
                    \rDiag -: %s  \
                    \rCmrb -: %s\n",
        nome[i],diaNasc[ i], mesNasc[i], 
        anoNasc[i], cpf[ i],telefone[i],
        end[ i],cep[     i], email[  i], 
        dataDiag[i]    ,comorbidade[i]);
    }
    fclose(arq);
    return 0;
}

 

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