Ir para conteúdo
Fórum Script Brasil

Del Piero

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por Del Piero

  1. Bem , boa tarde, achei um código antigo meu bastante util para quem esta aprendendo a programar em C.

    Cadastro de moradores v.3.0!

    cadas.png

     

    Download: Cadastro morador 3.0

     

    #include <stdio.h>
    #include <stdlib.h>
    #define MAX_NUM_MORADOR 100
    #define SOLTEIRO 0
    #define MAX_STRING 50
    /*
    Criador: Eduardo Dantas
    E-mail: dantasleld@gmail.com
    Data: 17/08/2012
    */
    
    
    struct Endereco{
        char CIDADE[MAX_STRING];
        char BAIRRO[MAX_STRING];
        int CEP;
        char RUA[MAX_STRING];
        int NUM;
    };
    struct DataNascimento{
        short dia;
        short mes;
        short ano;
    };
    struct Morador{
        char NOME[MAX_STRING];
        int ESTCIVIL;
        struct DataNascimento NASC;
        char LOCALNASC[MAX_STRING];
        int RG;
        int FONE;
        struct Endereco END;
        char EMPRESA[MAX_STRING];
        char FUNCAO[MAX_STRING];
    };
    int numMoradores = 0;
    struct Morador CADASTRO[MAX_NUM_MORADOR];
    int main()
    {   int op;
        int vetor[MAX_NUM_MORADOR];
    
            void ExibirTodosCadastro();
            void ReceberCadastro();
            void PesquisaPorPosicao();
            void AlterarPorPosicao();
            void ExcluirTudo(struct Morador cadastro[]);
            void ExcluirPorPosicao(struct Morador cadastro[]);
            void SalvarTXT();
        printf("\t# Bem vindo ao cadastro de moradores 3.0 ! #\n");
        printf("\t\t  %c Escolha uma opcao:\n",4);
        printf("\t\t%c 1 - Criar Cadastro\n",16);
        printf("\t\t%c 2 - Ler todos os cadastros\n",16);
        printf("\t\t%c 3 - Pesquisar cadastro por posicao\n",16);
        printf("\t\t%c 4 - Alterar cadastro por posicao\n",16);
        printf("\t\t%c 5 - Excluir todos os cadastros\n",16);
        printf("\t\t%c 6 - Excluir cadastro por posicao\n",16);
        printf("\t\t%c 7 - Salvar dados em documento de texto\n",16);
    
        scanf("%i",&op);
    
            switch (op){
        case 1:
            ReceberCadastro(CADASTRO);
            break;
        case 2:
            ExibirTodosCadastro();
            break;
        case 3:
            PesquisaPorPosicao();
            break;
        case 4:
            AlterarPorPosicao();
            break;
        case 5:
            ExcluirTudo(CADASTRO);
            break;
        case 6:
            ExcluirPorPosicao(CADASTRO);
            break;
        case 7:
            SalvarTXT();
            break;
        default:
            printf("Comando invalido!\n");
            system("pause");
            exit(0);
            }
    
    
    
    system("pause");
        return 0;
    }
    
    void SalvarTXT(){
      void limparBuffer();
      int main();
        char txt[MAX_STRING];
        FILE *arq;// = fopen("Cadastro de Moradores.txt","w");
    
         if (numMoradores == 0){
            printf("Nao existe cadastro!\n");
            system("pause");
            system("cls");
            main();
        }
        printf("(Nao esqueca de por .txt no final)\n");
        printf("Digite o nome do arquivo para salvar:"); limparBuffer();
    
    char c; int x = 0;
        do  {
            c = getchar();
            txt[x] = c;
            ++x;
            } while ( c != '\n');
    
    txt[x-1] = '\0';
    
    arq = fopen(txt,"w");
    
    printf("Salvando arquivo %s ...\n",txt);
        for(int i = 0; i < numMoradores; ++i){
        fprintf(arq,"\n\tMorador %i:\n",i+1);
    
        if (CADASTRO[i].NOME[0] == '\0'){
            fprintf(arq,"Cadastro %i vazio!\n",i+1);
            continue;
        }
            fprintf(arq,"Nome:%s",CADASTRO[i].NOME);
                if (CADASTRO[i].ESTCIVIL == SOLTEIRO)
                    fprintf(arq,"Estado Civil:Solteiro\n");
                else
                    fprintf(arq,"Estado Civil:Casado\n");
            fprintf(arq,"Data de Nascimento:%i/%i/%i\n",CADASTRO[i].NASC.dia,CADASTRO[i].NASC.mes,CADASTRO[i].NASC.ano);
            fprintf(arq,"Local de Nascimento:%s",CADASTRO[i].LOCALNASC);
            fprintf(arq,"RG:%i\n",CADASTRO[i].RG);
            fprintf(arq,"Telefone:%i\n",CADASTRO[i].FONE);
            fprintf(arq,"Endereco:\n");
            fprintf(arq,"Rua:%s",CADASTRO[i].END.RUA);
            fprintf(arq,"Numero:%i\n",CADASTRO[i].END.NUM);
            fprintf(arq,"CEP:%i\n",CADASTRO[i].END.CEP);
            fprintf(arq,"Bairro:%s",CADASTRO[i].END.BAIRRO);
            fprintf(arq,"Cidade:%s",CADASTRO[i].END.CIDADE);
            fprintf(arq,"Empresa:%s",CADASTRO[i].EMPRESA);
            fprintf(arq,"Funcao:%s",CADASTRO[i].FUNCAO);
        }
    
    fclose(arq);
    printf("\n\t Arquivo Salvo com sucesso!\n");
    system("pause");
    system("cls");
    main();
    
    }
    
    void ExcluirPorPosicao(struct Morador cadastro[]){
    int i = 0; char op;
        void limparBuffer();
        if (numMoradores == 0){
            printf("Nao existe cadastro!\n");
            system("pause");
            system("cls");
            main();
        }
    
    
        printf("Tem certeza que deseja excluir todos os cadastros?s/n\n");   limparBuffer();
        scanf("%c",&op);
        if(op != 's'){
            printf("Voce cancelou a exclusao de todos os cadastros.");
            system("pause");
            system("cls");
            main();
            }
    
        printf("Digite a localizacao(1 a %i:",numMoradores); scanf("%i",&i);
        --i;
    
        if(i < 0 || i > numMoradores){
                printf("Valor invalido!\n");
            system("pause");
            system("cls");
            main();
        }
        for(int x = 0 ; x < MAX_STRING ; ++x)
            cadastro[i].NOME[x] = '\0';
            cadastro[i].ESTCIVIL = 0;
            cadastro[i].NASC.dia = 0;
            cadastro[i].NASC.mes = 0;
            cadastro[i].NASC.ano = 0;
        for(int x = 0 ; x < MAX_STRING ; ++x)
            cadastro[i].LOCALNASC[x] = '\0';
            cadastro[i].RG = 0;
            cadastro[i].FONE = 0;
        for(int x = 0 ; x < MAX_STRING ; ++x)
            cadastro[i].END.RUA[x] = '\0';
            cadastro[i].END.NUM = 0;
            cadastro[i].END.CEP = 0;
        for(int x = 0 ; x < MAX_STRING ; ++x){
            cadastro[i].END.BAIRRO[x] = '\0';
            cadastro[i].END.CIDADE[x] = '\0';
            cadastro[i].EMPRESA[x] = '\0';
            cadastro[i].FUNCAO[x] = '\0';
        }
    
        printf("\t\tCadastro excluido com sucesso!\n");
        system("pause");
        system("cls");
        main();
    
    }
    
    void ExcluirTudo(struct Morador cadastro[]){
                void limparBuffer();
        int main();
        char op;
    
        if (numMoradores == 0){
            printf("Nao existe cadastro!\n");
            system("pause");
            system("cls");
            main();
        }
    
        printf("Tem certeza que deseja excluir todos os cadastros?s/n\n");   limparBuffer();
        scanf("%c",&op);
    
          if(op != 's'){
            printf("Voce cancelou a exclusao de todos os cadastros.");
            system("pause");
            system("cls");
            main();
            }
    
    for(int i = 0; i < numMoradores; ++i){
        for(int x = 0 ; x < MAX_STRING ; ++x)
            cadastro[i].NOME[x] = '\0';
            cadastro[i].ESTCIVIL = 0;
            cadastro[i].NASC.dia = 0;
            cadastro[i].NASC.mes = 0;
            cadastro[i].NASC.ano = 0;
        for(int x = 0 ; x < MAX_STRING ; ++x)
            cadastro[i].LOCALNASC[x] = '\0';
            cadastro[i].RG = 0;
            cadastro[i].FONE = 0;
        for(int x = 0 ; x < MAX_STRING ; ++x)
            cadastro[i].END.RUA[x] = '\0';
            cadastro[i].END.NUM = 0;
            cadastro[i].END.CEP = 0;
        for(int x = 0 ; x < MAX_STRING ; ++x){
            cadastro[i].END.BAIRRO[x] = '\0';
            cadastro[i].END.CIDADE[x] = '\0';
            cadastro[i].EMPRESA[x] = '\0';
            cadastro[i].FUNCAO[x] = '\0';
        }
    }
    numMoradores = 0;
        printf("\t\tCadastro excluido com sucesso!\n");
        system("pause");
        system("cls");
        main();
    }
    
    void AlterarPorPosicao(){
        void limparBuffer();
    int i = 0;
        if (numMoradores == 0){
            printf("Nao existe cadastro!\n");
            system("pause");
            system("cls");
            main();
        }
    
        printf("Digite a localizacao(1 a %i:",numMoradores); scanf("%i",&i);
        --i;
    
        if(i < 0 || i > numMoradores){
                printf("Valor invalido!\n");
            system("pause");
            system("cls");
            main();
        }
        limparBuffer();
    
         printf("\t# Iniciar processo de alteracao de cadastro #\n",numMoradores);
            printf("Nome:"); fgets(CADASTRO[i].NOME,MAX_STRING,stdin);
            printf("(0-Solteiro 1-Casado)Estado Civil:"); scanf("%i",&CADASTRO[i].ESTCIVIL);       limparBuffer();
            printf("Data de Nascimento:\n");
            printf("Dia:"); scanf("%i",&CADASTRO[i].NASC.dia);
            printf("Mes:"); scanf("%i",&CADASTRO[i].NASC.mes);
                printf("Ano:"); scanf("%i",&CADASTRO[i].NASC.ano);                                 limparBuffer();
            printf("Local de Nascimento:"); fgets(CADASTRO[i].LOCALNASC,MAX_STRING,stdin);
            printf("RG:"); scanf("%i",&CADASTRO[i].RG);
            printf("Telefone:"); scanf("%i",&CADASTRO[i].FONE);
            printf("Endereco:\n");                                                                 limparBuffer();
            printf("Cidade:"); fgets(CADASTRO[i].END.CIDADE,MAX_STRING,stdin);                     limparBuffer();
            printf("Bairro:"); fgets(CADASTRO[i].END.BAIRRO,MAX_STRING,stdin);                     limparBuffer();
            printf("CEP:"); scanf("%i",&CADASTRO[i].END.CEP);                                      limparBuffer();
            printf("Rua:"); fgets(CADASTRO[i].END.RUA,MAX_STRING,stdin);                           limparBuffer();
            printf("Numero:"); scanf("%i",&CADASTRO[i].END.NUM);                                   limparBuffer();
            printf("Empresa:"); fgets(CADASTRO[i].EMPRESA,MAX_STRING,stdin);                       limparBuffer();
            printf("Funcao:"); fgets(CADASTRO[i].FUNCAO,MAX_STRING,stdin);                         limparBuffer();
            system("cls");
    
        printf("\t\tCadastro alterado com sucesso!\n");
        system("pause");
        system("cls");
        main();
    }
    
    void PesquisaPorPosicao(){
    int i = 0;
        if (numMoradores == 0){
            printf("Nao existe cadastro!\n");
            system("pause");
            system("cls");
            main();
        }
        printf("Digite a localizacao(1 a %i:",numMoradores); scanf("%i",&i);
        --i;
        if(i < 0 || i > numMoradores){
                printf("Valor invalido!\n");
            system("pause");
            system("cls");
            main();
        }
        if (CADASTRO[i].NOME[0] == '\0'){
            printf("Cadastro vazio!\n");
            system("pause");
            system("cls");
            main();
        }
    
         printf("Nome:%s",CADASTRO[i].NOME);
                if (CADASTRO[i].ESTCIVIL == SOLTEIRO)
                    printf("Estado Civil:Solteiro\n");
                else
                    printf("Estado Civil:Casado\n");
            printf("Data de Nascimento:%i/%i/%i\n",CADASTRO[i].NASC.dia,CADASTRO[i].NASC.mes,CADASTRO[i].NASC.ano);
            printf("Local de Nascimento:%s",CADASTRO[i].LOCALNASC);
            printf("RG:%i\n",CADASTRO[i].RG);
            printf("Telefone:%i\n",CADASTRO[i].FONE);
            printf("Endereco:\n");
            printf("Rua:%s",CADASTRO[i].END.RUA);
            printf("Numero:%i\n",CADASTRO[i].END.NUM);
            printf("CEP:%i\n",CADASTRO[i].END.CEP);
            printf("Bairro:%s",CADASTRO[i].END.BAIRRO);
            printf("Cidade:%s",CADASTRO[i].END.CIDADE);
            printf("Empresa:%s",CADASTRO[i].EMPRESA);
            printf("Funcao:%s",CADASTRO[i].FUNCAO);
    
        system("pause");
        system("cls");
       main();
    }
    
    void ExibirTodosCadastro(){
        if (numMoradores == 0){
            printf("Nao existe cadastro!\n");
            system("pause");
            system("cls");
            main();
        }
    
        for(int i = 0; i < numMoradores; ++i){
    
    printf("\n\t%c Morador %i:\n",16,i+1);
    
        if (CADASTRO[i].NOME[0] == '\0'){
            printf("Cadastro %i vazio!\n",i+1);
            continue;
        }
            printf("Nome:%s",CADASTRO[i].NOME);
                if (CADASTRO[i].ESTCIVIL == SOLTEIRO)
                    printf("Estado Civil:Solteiro\n");
                else
                    printf("Estado Civil:Casado\n");
            printf("Data de Nascimento:%i/%i/%i\n",CADASTRO[i].NASC.dia,CADASTRO[i].NASC.mes,CADASTRO[i].NASC.ano);
            printf("Local de Nascimento:%s",CADASTRO[i].LOCALNASC);
            printf("RG:%i\n",CADASTRO[i].RG);
            printf("Telefone:%i\n",CADASTRO[i].FONE);
            printf("Endereco:\n");
            printf("Rua:%s",CADASTRO[i].END.RUA);
            printf("Numero:%i\n",CADASTRO[i].END.NUM);
            printf("CEP:%i\n",CADASTRO[i].END.CEP);
            printf("Bairro:%s",CADASTRO[i].END.BAIRRO);
            printf("Cidade:%s",CADASTRO[i].END.CIDADE);
            printf("Empresa:%s",CADASTRO[i].EMPRESA);
            printf("Funcao:%s",CADASTRO[i].FUNCAO);
        }
        system("pause");
        system("cls");
           main();
    }
    
    void ReceberCadastro(struct Morador cadastro[]){
        void limparBuffer();
        int main();
        if (numMoradores > 0){
            printf("Ja existe cadastro!");
            system("pause");
            system("cls");
            main();
        }
    
            printf("Quantos moradores voce deseja cadastrar?");
        scanf("%i",&numMoradores);
                if (numMoradores > MAX_NUM_MORADOR){
                    printf("Por favor, digite um valor positivo ate 100.");
                    exit(0);
                }
        system("cls");
    
     limparBuffer();
        for(int i = 0;i < numMoradores;++i){
        printf("\t# Iniciar processo de cadastro de %i moradores #\n",numMoradores);
            printf("\n# Cadastrando o %i morador #\n",i+1);
            printf("Nome:"); fgets(cadastro[i].NOME,MAX_STRING,stdin);
            printf("(0-Solteiro 1-Casado)Estado Civil:"); scanf("%i",&cadastro[i].ESTCIVIL);       limparBuffer();
            printf("Data de Nascimento:\n");
            printf("Dia:"); scanf("%i",&cadastro[i].NASC.dia);
            printf("Mes:"); scanf("%i",&cadastro[i].NASC.mes);
                printf("Ano:"); scanf("%i",&cadastro[i].NASC.ano);                                 limparBuffer();
            printf("Local de Nascimento:"); fgets(cadastro[i].LOCALNASC,MAX_STRING,stdin);
            printf("RG:"); scanf("%i",&cadastro[i].RG);
            printf("Telefone:"); scanf("%i",&cadastro[i].FONE);
            printf("Endereco:\n");                                                                 limparBuffer();
            printf("Cidade:"); fgets(cadastro[i].END.CIDADE,MAX_STRING,stdin);                     limparBuffer();
            printf("Bairro:"); fgets(cadastro[i].END.BAIRRO,MAX_STRING,stdin);                     limparBuffer();
            printf("CEP:"); scanf("%i",&cadastro[i].END.CEP);                                      limparBuffer();
            printf("Rua:"); fgets(cadastro[i].END.RUA,MAX_STRING,stdin);                           limparBuffer();
            printf("Numero:"); scanf("%i",&cadastro[i].END.NUM);                                   limparBuffer();
            printf("Empresa:"); fgets(cadastro[i].EMPRESA,MAX_STRING,stdin);                       limparBuffer();
            printf("Funcao:"); fgets(cadastro[i].FUNCAO,MAX_STRING,stdin);                         limparBuffer();
            system("cls");
        }
        printf("\t\tCadastro salvo com sucesso!\n");
        system("pause");
        system("cls");
        main();
    }
    
    void limparBuffer(){
    char c;
        while((c = getchar())!= '\n'&& c!= EOF);
        }
    

     

×
×
  • Criar Novo...