Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

RenanMaia

Membros Juniores
  • Total de itens

    7
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Olá, estou fazendo um programa de cadastro de produtos e cliente, no menu de cadastros tem a opção "Pesquisar cliente". Nessa opção é pedido o CPF do cliente ha ser localizado! o problema é que as informações de todos os clientes estão em um arquivo .txt! como eu posso fazer para alem de achar o CPF mostrar as informações do usuário correspondentes ao CPF pesquisado? Me perdoem qualquer erro grosseiro no código! faz pouco tempo que comecei a programar. segue o código #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> struct servicos { int numero_servico; float valor_servico; char codigo_servico[5]; int codigo_cliente; }; struct servicos serv[4]; struct cadastro { char primeiro_nome[15]; char ultimo_nome[15]; char cpf[15]; char data_nasc[11]; }; int main() { FILE *cliente_file[200]; FILE *lerBackUp; FILE *BackUP; FILE *descricao; int opcao, opcao2, opcao3; char ler_descricao[1000]; int conta_cliente; char confirma_cpf[15]; struct cadastro { char primeiro_nome[15]; char ultimo_nome[15]; char cpf[15]; char data_nasc[11]; }; struct cadastro cliente[200]; while(opcao < 1 || opcao > 7) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" MENU "); puts("----------------------"); puts("1 - Tipos de servicos"); puts("2 - Cadastro de Clientes"); puts("3 - Cadastrar os servicos prestados"); puts("4 - servicos (por dia)"); puts("5 - servicos prestados por valor"); puts("6 - relatorio geral"); puts("7 - Sair"); puts("----------------------"); scanf("%i", &opcao); opcao2 = 0; opcao3 = 0; switch (opcao) { case 1: system("cls"); while(opcao2 < 1 || opcao2 > 5) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRAR SERVICOS "); puts("----------------------"); puts("1 - PINTURA "); puts("2 - JARDINAGEM "); puts("3 - FAXINA "); puts("4 - REFORMA EM GERAL "); puts("5 - VOLTAR "); puts("----------------------"); scanf("%i", &opcao2); switch (opcao2) { case 1: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" PINTURA "); puts("----------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao pintura.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #100\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 2: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" JARDINAGEM "); puts("----------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao jardinagem.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #200\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 3: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" FAXINA "); puts("----------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao faxina.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #300\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 4: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" REFORMA GERAL "); puts("----------------------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao rg.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #400\n"); printf("\nDigite Enter para voltar!"); fclose(descricao); system("pause"); opcao2 = 0; break; case 5: system("cls"); opcao = 0; } } break; case 2: while (opcao3 < 1 || opcao3 > 5) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRAR CLIENTES "); puts("----------------------"); puts("1 - Cadastrar Cliente "); puts("2 - Pesquisar Cliente "); puts("3 - Listar Clientes "); puts("4 - Excluir Cliente "); puts("5 - Voltar "); puts("----------------------"); scanf("%i", &opcao3); switch (opcao3) { case 1: system("cls"); lerBackUp = fopen("BackUp.txt", "r"); if(lerBackUp == NULL) { printf("\a Arquivo nao encontrado!\n"); getchar(); break; } fscanf(lerBackUp, "%i", &conta_cliente); fclose(lerBackUp); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRO "); puts("----------------------"); puts("Primeiro nome: "); scanf("%s", cliente[conta_cliente].primeiro_nome); puts("Ultimo Nome: "); scanf("%s", cliente[conta_cliente].ultimo_nome); puts("CPF: "); scanf("%s", cliente[conta_cliente].cpf); puts("Data de Nascimento: "); scanf("%s", cliente[conta_cliente].data_nasc); puts("----------------------"); getchar(); cliente[conta_cliente].primeiro_nome[0] = toupper(cliente[conta_cliente].primeiro_nome[0]); cliente[conta_cliente].ultimo_nome[0] = toupper(cliente[conta_cliente].ultimo_nome[0]); cliente_file[conta_cliente] = fopen("clientes\\client.txt", "a"); fprintf(cliente_file[conta_cliente], "\n\n"); fputs("---------------------------\n", cliente_file[conta_cliente]); fputs(" CADASTRO \n", cliente_file[conta_cliente]); fputs("---------------------------\n", cliente_file[conta_cliente]); fprintf(cliente_file[conta_cliente], "Nome: %s %s\n", cliente[conta_cliente].primeiro_nome, cliente[conta_cliente].ultimo_nome); fprintf(cliente_file[conta_cliente], "CPF: %s\n", cliente[conta_cliente].cpf); fprintf(cliente_file[conta_cliente], "Data de Nascimento: %s\n", cliente[conta_cliente].data_nasc); fprintf(cliente_file[conta_cliente], "Numero Do Cliente: #%i\n", conta_cliente); fputs("---------------------------", cliente_file[conta_cliente]); fclose(cliente_file[conta_cliente]); conta_cliente++; BackUP = fopen("BackUp.txt", "w"); fprintf(BackUP, "%i", conta_cliente); fclose(BackUP); system("cls"); printf("Cadastro efetuado com sucesso!\n"); system("pause"); opcao3 = 0; break; case 2: system("cls"); puts("======================"); puts(" PRESTADORA DE SERVICOS "); puts("======================"); puts(" PESQUISAR CLIENTES "); puts("---------------------------------------------------------"); printf("Digite o CPF do cliente (incluindo pontos e traço): \n"); scanf("%s", confirma_cpf); system("pause"); break; case 3: system("cls"); system("pause"); break; case 4: system("cls"); system("pause"); break; case 5: opcao = 0; break; } } system("cls"); break; case 3: system("cls"); break; case 4: system("cls"); break; case 5: system("cls"); break; case 6: system("cls"); break; case 7: system("cls"); exit(0); break; } } return 0; }
  2. @devair1010 Nossa obrigado eu tava batendo a cabeça com isso! valeu mesmo.
  3. Olá, estou fazendo um programa de cadastro de produtos e cliente, ai quando eu abro o primeiro ou segundo item do menu, "tipos de serviços" e "cadastro de clientes" (por enquanto só mexi nesses dois itens) funciona normal mas depois que eu volto para o menu principal e tento abrir um dos dois de novo eles não abrem! Obs: sou novo em programação, me perdoem qualquer erro grosseiro no código! #include <stdio.h> #include <stdlib.h> #include <ctype.h> struct servicos { int numero_servico; float valor_servico; char codigo_servico[5]; int codigo_cliente; }; struct servicos serv[4]; struct cadastro { char primeiro_nome[15]; char ultimo_nome[15]; char cpf[15]; char data_nasc[11]; }; int main() { FILE *cliente_file[200]; FILE *lerBackUp; FILE *BackUP; FILE *descricao; int opcao, opcao2, opcao3; char ler_descricao[1000]; int conta_cliente; struct cadastro { char primeiro_nome[15]; char ultimo_nome[15]; char cpf[15]; char data_nasc[11]; }; struct cadastro cliente[200]; while(opcao < 1 || opcao > 7) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" MENU "); puts("----------------------"); puts("1 - Tipos de servicos"); puts("2 - Cadastro de Clientes"); puts("3 - Cadastrar os servicos prestados"); puts("4 - servicos (por dia)"); puts("5 - servicos prestados por valor"); puts("6 - relatorio geral"); puts("7 - Sair"); puts("----------------------"); scanf("%i", &opcao); switch (opcao) { case 1: system("cls"); while(opcao2 < 1 || opcao2 > 5) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRAR SERVICOS "); puts("----------------------"); puts("1 - PINTURA "); puts("2 - JARDINAGEM "); puts("3 - FAXINA "); puts("4 - REFORMA EM GERAL "); puts("5 - VOLTAR "); puts("----------------------"); scanf("%i", &opcao2); switch (opcao2) { case 1: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" PINTURA "); puts("----------------------"); puts("Descricao: "); descricao = fopen("descricao pintura.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #100\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 2: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" JARDINAGEM "); puts("----------------------"); puts("Descricao: "); descricao = fopen("descricao jardinagem.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #200\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 3: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" FAXINA "); puts("----------------------"); puts("Descricao: "); descricao = fopen("descricao faxina.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #300\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 4: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" REFORMA GERAL "); puts("----------------------------------"); puts("Descricao: "); descricao = fopen("descricao rg.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #400\n"); printf("\nDigite Enter para voltar!"); fclose(descricao); system("pause"); opcao2 = 0; break; case 5: system("cls"); opcao = 0; } } break; case 2: while (opcao3 < 1 || opcao3 > 5) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRAR CLIENTES "); puts("----------------------"); puts("1 - Cadastrar Cliente "); puts("2 - Pesquisar Cliente "); puts("3 - Listar Clientes "); puts("4 - Excluir Cliente "); puts("5 - Voltar "); puts("----------------------"); scanf("%i", &opcao3); switch (opcao3) { case 1: system("cls"); lerBackUp = fopen("BackUp.txt", "r"); if(lerBackUp == NULL) { printf("\a Arquivo nao encontrado!\n"); getchar(); exit(0); } fscanf(lerBackUp, "%i", &conta_cliente); fclose(lerBackUp); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRO "); puts("----------------------"); puts("Primeiro nome: "); scanf("%s", cliente[conta_cliente].primeiro_nome); puts("Ultimo Nome: "); scanf("%s", cliente[conta_cliente].ultimo_nome); puts("CPF: "); scanf("%s", cliente[conta_cliente].cpf); puts("Data de Nascimento: "); scanf("%s", cliente[conta_cliente].data_nasc); puts("----------------------"); cliente[conta_cliente].primeiro_nome[0] = toupper(cliente[conta_cliente].primeiro_nome[0]); cliente[conta_cliente].ultimo_nome[0] = toupper(cliente[conta_cliente].ultimo_nome[0]); cliente_file[conta_cliente] = fopen("clientes\\client.txt", "w"); fputs("---------------------------\n", cliente_file[conta_cliente]); fputs(" CADASTRO \n", cliente_file[conta_cliente]); fputs("---------------------------\n", cliente_file[conta_cliente]); fprintf(cliente_file[conta_cliente], "Nome: %s %s\n", cliente[conta_cliente].primeiro_nome, cliente[conta_cliente].ultimo_nome); fprintf(cliente_file[conta_cliente], "CPF: %s\n", cliente[conta_cliente].cpf); fprintf(cliente_file[conta_cliente], "Data de Nascimento: %s\n", cliente[conta_cliente].data_nasc); fprintf(cliente_file[conta_cliente], "Numero Do Cliente: #%i\n", conta_cliente); fputs("---------------------------", cliente_file[conta_cliente]); fclose(cliente_file[conta_cliente]); conta_cliente++; BackUP = fopen("BackUp.txt", "w"); fprintf(BackUP, "%i", conta_cliente); fclose(BackUP); system("cls"); printf("Cadastro efetuado com sucesso!\n"); system("pause"); opcao3 = 0; break; case 2: system("cls"); system("pause"); break; case 3: system("cls"); system("pause"); break; case 4: system("cls"); system("pause"); break; case 5: system("pause"); break; } } system("cls"); break; case 3: system("cls"); break; case 4: system("cls"); break; case 5: system("cls"); break; case 6: system("cls"); break; case 7: system("cls"); exit(0); break; } } return 0; }
  4. @cyer , muito obrigado! era exatamente isso que eu precissava!
  5. Olá, gostaria de saber se da para criar um vetor em uma variável do tipo FILE *. Faz pouco tempo que comecei a programar, desculpe a ignorância! E se sim, como?
  6. Noooosa, funcionou obrigado de verdade! faz mais de umas 4 horas que eu to batendo cabeça com isso e não acho uma solução! mas eu sinceramente ainda n entendi o porque de mudar o && pelo ||. porque tipo, pro loop parar não era necessario que os parametros fossem tanto o enter quanto a senha correta para para? mas mesmo não tendo intendido muito obrigado você é d+.!!!
  7. Olá, comecei a aprender a programar a pouco tempo, e resolvi criar um programa simples que pedia em um livro que estou lendo, acontece que sempre que aprendo algo novo quero desenvolver dentro deste programa. o meu problema atual é em uma comparação de strings! estou tentando fazer uma senha que quando digitada apareça asteriscos e até que está dando certo, mas o problema é que na hora de fazer o login mesmo a senha estando errada, ela passa pelo meu loop que tem como Parâmetros o enter e a função "strcmp()" que compara a senha registrada com a que foi digitada já tentei de tudo, alguém pode me ajudar? segue o código. ps: O código não está pronto! falta arrumar a parte "Poblemas Mecanicos". ps2: Por favor, me perdoem qualquer erro como indentação, falta de comentarios, entre outros. como eu disse comecei a pouco tempo! #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #define ANO 2018 int main() { int cont, i, opcao, problema, poblema_motor, poblema_freio, poblema_suspencao; float orcamento_motor[2], orcamento_freio[2], orcamento_suspencao[2];; while (opcao < 1 || opcao >3 || opcao > 'a' || opcao < 'z') { puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" MENU "); puts("1 - Poblemas mecanicos"); puts("2 - Fale conosco"); puts("3 - Cadastre-se"); puts("4 - Entre"); puts("5 - Sair"); puts("-------------------"); scanf("%d", &opcao); switch (opcao) { case 1: // limpando a tela system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts("POBLEMAS MECANICOS"); puts("indique onde se encontra o seu problema: "); puts("1 - Motor"); puts("2 - Freios"); puts("3 - Suspencao"); scanf("%d", &problema); switch (problema) { case 1: // limpando a tela system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" MOTOR "); puts("Indique qual seu problema com o motor: "); puts("1 - Falta de potencia"); puts("2 - Baixo rendimento com gasolina"); puts("3 - Motor acelerado"); scanf("%d", &poblema_motor); switch (poblema_motor) { case 1: orcamento_motor[0] = 100.00; break; case 2: orcamento_motor[1] = 200.00; break; case 3: orcamento_motor[2] = 300.00; break; default: printf("\n \a Opcao invaida!"); } break; case 2: // limpando a tela system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" FREIOS "); puts("Indique qual seu problema com os freios: "); puts("1 - chiado ao precionar o freio"); puts("2 - o carro nao para ao precionar o freio"); puts("3 - mal cheiro ao precionar o freio"); scanf("%d", &poblema_freio); switch (poblema_freio) { case 1: orcamento_freio[0] = 100.00; break; case 2: orcamento_freio[1] = 200.00; break; case 3: orcamento_freio[2] = 300.00; break; default: puts("\a opcao invalida!\n\n"); break; } break; case 3: // limpando a tela system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" SUSPECAO "); puts("Indique qual seu problema com a suspencao: "); puts("1 - Barulhos ao passar por buracos"); puts("2 - Assoalho raspando em lombadas"); puts("3 - Troca compreta de jogo de suspencoes"); scanf("%d", &poblema_suspencao); switch (poblema_suspencao) { case 1: orcamento_suspencao[0] = 100.00; break; case 2: orcamento_suspencao[1] = 200.00; break; case 3: orcamento_suspencao[2] = 300.00; break; default: puts("\a opcao invalida!"); break; } break; default: puts("\a opcao invalida!"); } break; case 2: ////////////////////////////CONTATOS/////////////////////////////////// system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" CONTATOS "); putchar('\n'); puts("Whasapp: 11 00000000"); puts("Facebook: facebook.com/teste"); puts("Email: teste@gmail.com"); break; case 3: //////////////////////////CADASTRO DE USUARIO///////////////////// system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" CADASTRO "); struct cadastro { char primeiro_nome[15]; char segundo_nome[15]; char email[30]; char senha; char salva_senha[15]; char cpf[15]; char cidade[20]; char rua[20]; char numero[10]; int idade; }usuario, endereco; struct data { int dia, mes, ano; }aniversario; putchar('\n'); puts(" Dados pessoais "); puts("-------------------"); putchar('\n'); puts("Digite seu nome: "); scanf("%s", usuario.primeiro_nome); puts("digite seu ultimo nome: "); scanf("%s", usuario.segundo_nome); puts("digite seu email: "); scanf("%s", usuario.email); // colocando asterisco na senha puts("digite uma senha de 10 digitos: "); i = 0; fflush(stdin); do { usuario.senha = getch(); if (isalnum(usuario.senha)) { usuario.salva_senha[i] = usuario.senha; i++; putchar('*'); } else if(usuario.senha == 8 && i) //8 é o caractere BackSpace na tabela ASCII, && a analisa se a é diferente de 0 { usuario.salva_senha[i]='\0'; i--; printf("\b \b"); //Apagando o caractere digitado } }while (usuario.senha != 13); usuario.salva_senha[i] = '\0'; putchar('\n'); puts("Digite seu cpf: "); scanf("%s", usuario.cpf); putchar('\n'); puts("Data de nascimento "); puts("-------------------"); putchar('\n'); puts("Dia: "); scanf("%d", &aniversario.dia); puts("mes: "); scanf("%d", &aniversario.mes); puts("ano: "); scanf("%d", &aniversario.ano); putchar('\n'); puts(" Endereco: "); puts("-------------------"); putchar('\n'); fflush(stdin); puts("Digite o nome da sua cidade: "); fgets(endereco.cidade, 20, stdin); puts("Digite o nome da sua rua: "); scanf("%s", endereco.rua); puts("Digite o numero da sua casa: "); scanf("%s", endereco.numero); //limpando a tela system("cls"); // Deixando iniciais maiusculas usuario.primeiro_nome[0] = toupper(usuario.primeiro_nome[0]); usuario.segundo_nome[0] = toupper (usuario.segundo_nome[0]); endereco.cidade[0] = toupper (endereco.cidade[0]); endereco.rua[0] = toupper (endereco.rua[0]); //definindo idade usuario.idade = ANO - aniversario.ano; //exibindo informações putchar('\n'); printf("------------------------------\n"); printf(" informações do cadastro \n"); printf("------------------------------\n"); printf("Nome: %s %s\n", usuario.primeiro_nome, usuario.segundo_nome); printf("cpf: %s\n", usuario.cpf); printf("Data de nascimento: %d/%d/%d\n", aniversario.dia, aniversario.mes, aniversario.ano); printf("idade: %d\n", usuario.idade); printf("endereco: %s, Rua %s, %s\n", endereco.cidade, endereco.rua, endereco.numero); printf("------------------------------\n"); printf("\n"); break; case 4: //////////////////////////// LOGIN DO USUARIO /////////////////////////////// system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" ENTRE "); struct entre { char confirma_email[30]; char confirma_senha[15]; }; struct entre login; putchar('\n'); i = 0; do { fflush(stdin); printf("Digite seu email: "); scanf("%s", login.confirma_email); if (strcmp(usuario.email, login.confirma_email) != 0) //CONFERE EMAIL { printf("\a Email invalido!\n"); } }while(strcmp(usuario.email, login.confirma_email) != 0); printf("Digite sua senha: "); fflush(stdin); do{ usuario.senha = getch(); if(isprint(usuario.senha)) //Analisa se o valor de c é imprimível { login.confirma_senha[i] = usuario.senha; i++; printf("*"); //Imprimindo apenas o asterisco * } else if( usuario.senha == 8 && i ) { login.confirma_senha[i] = '\0'; i--; printf("\b \b"); //Apagando os caracteres digitados } if(usuario.senha == 13 && strcmp(login.confirma_senha, usuario.salva_senha) != 0) { fflush(stdin); putchar('\n'); printf("\a Senha invalida!\n"); for(cont = 0; cont <= 15; cont++) { login.confirma_senha[cont] = '\0'; } printf("Digite sua senha: "); } }while(usuario.senha != 13 && strcmp(login.confirma_senha, usuario.salva_senha) != 0); usuario.senha = '\0'; printf("\nBem Vindo, %s!\n", usuario.primeiro_nome); break; case 5: // limpando a tela system("cls"); // função que sai do programa exit(0); break; default: putchar('\n'); printf("\a opcao invalida!\n"); break; } } return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×