Ir ao conteúdo
  • Cadastre-se

VitinF

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

0
  1. VitinF

    C Exercício em linguagem C

    Bom fiz algumas alterações e consegui um resultado legal, mas ainda não resolvi o problema do E-mail e CEP. E-mail eu preciso verificar se tem "texto@texto" e cep são 7 números mais o traço. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> #define MAX 50 // Definindo o tipo T_pessoa com a struct pessoa typedef struct pessoa { // Atributos de cada T_pessoa char nome[MAX], end[MAX], cidade[MAX], email[MAX]; int cep[7], ano, mes, dia; } T_pessoa; // Funcao que cadastra uma pessoa // Recebe o T_pessoa pessoa que ela vai preencher void CadastrarPessoa(T_pessoa *pessoa) { printf("\n==========================================================================="); printf("\n CADASTRO PESSOA "); printf("\n==========================================================================="); // Recebendo os dados e armazenando em T_pessoa pessoa printf("\n Digite o nome: (somente texto) "); fgets((*pessoa).nome, MAX, stdin); printf("\n Digite o endereço: (rua, numero e bairro) "); fgets((*pessoa).end, MAX, stdin); printf("\n Digite a cidade: (somente texto) "); fgets((*pessoa).cidade, MAX, stdin); printf("\n Digite o e-mail: ([email protected]) "); fgets((*pessoa).email, MAX, stdin); printf("\n Digite o ano de nascimento: (somente 4 numeros) "); scanf("%d", &(*pessoa).ano); printf("\n Digite o mes de nascimento: (somente 2 numeros) "); scanf("%d", &(*pessoa).mes); printf("\n Digite o dia de nascimento: (somente 2 numeros) "); scanf("%d", &(*pessoa).dia); printf("\n Digite o cep (somente 7 numeros): "); scanf("%d", &(*pessoa).cep); } int ValidarData(int dia, int mes, int ano) { if ((dia >= 1 && dia <= 31) && (mes >= 1 && mes <= 12) && (ano >= 1900 && ano <= 2017)) // Dios, Meses e Anos que serão validados. { if ((dia == 29 && mes == 2) && ((ano % 4) == 0)) // Ano bissexto { return 1; } if (dia <= 28 && mes == 2) // Mes de fevereiro contêm apenas 28 dias, exceto nos anos bissextos. { return 1; } if ((dia <= 30) && (mes == 4 || mes == 6 || mes == 9 || mes == 11)) // OS meses 04, 6, 9 e 11 contêm apenas 30 dias { return 1; } if ((dia <=31) && (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes ==8 || mes == 10 || mes == 12)) // OS meses 01, 03, 05, 07, 08, 10 e 12 contêm 31 dias { return 1; } else { return 0; } } else { return 0; } } main() { //Definição de linguagem para aparecer na tela (Acentos e afins) setlocale(LC_ALL, "portuguese"); // variavel do tipo pessoa que sera salva T_pessoa pessoa; // cadastrando pessoa CadastrarPessoa(&pessoa); // limpando tela system("cls"); //Variável para chamar função int verificacao, verificacaoEmail; // Chamando a função Data verificacao = ValidarData(pessoa.dia, pessoa.mes, pessoa.ano); if (verificacao == 1) { if (verificacaoEmail == 1) { // Imprimindo resultados em T_pessoa pessoa printf("\n================================================================="); printf("\n DADOS INFORMADOS "); printf("\n================================================================="); printf("\nNome............: %s", pessoa.nome); printf("\nEndereço........: %s", pessoa.end); printf("\nData nascimento.: %d/%d/%d", pessoa.dia, pessoa.mes, pessoa.ano); printf("\n\nCidade..........: %s", pessoa.cidade); printf("\nE-mail..........: %s", pessoa.email); printf("\nCep.............: %d", pessoa.cep); printf("\n\n"); } else { printf("E-mail invalido"); } } else { printf("Data nascimento invalida\n"); } system("pause"); return 0; }
  2. VitinF

    C Exercício em linguagem C

    @TYSQUARE89 Não onde qual é o erro, mas não esta compilando no if = dia, mes, ano #include <stdlib.h> #include <stdio.h> #include <string.h> #include <conio.h> #define MAX 50 // Definindo o tipo T_pessoa com a struct pessoa typedef struct pessoa { // Atributos de cada T_pessoa char nome[MAX], end[MAX], cidade[MAX], email[MAX], DATA[10]; int cep[7]; } T_pessoa; // Funcao que cadastra uma pessoa // Recebe o T_pessoa pessoa que ela vai preencher void CadastrarPessoa(T_pessoa *pessoa) { printf("-------------------------------------------------------------------------------\n"); printf(" CADASTRO PESSOA \n"); printf("-------------------------------------------------------------------------------"); // Recebendo os dados e armazenando em T_pessoa pessoa printf("\n Digite o nome: "); fgets((*pessoa).nome, MAX, stdin); printf("\n Digite o endereco: "); fgets((*pessoa).end, MAX, stdin); printf("\n Digite a cidade: "); fgets((*pessoa).cidade, MAX, stdin); printf("\n Digite o email ([email protected]): "); fgets((*pessoa).email, MAX, stdin); printf("\n Digite o cep (somente numeros): "); scanf("%d", &(*pessoa).cep); } // verificando se email digitado é válido int VerificaEmail(T_pessoa pessoa) { int i; } //Verificando se a data nascimento é inválida int VerificaData(T_pessoa pessoa) { int dia, mes, ano; if(pessoa.DATA[2]== '/' && pessoa.DATA[5]== '/' && strlen(pessoa.DATA) == 10){ // Use as barras nos lugares corretos // Dia dia = (atoi(pessoa.DATA[0])*10)+atoi(pessoa.DATA[1]); // Mes mes = (atoi(pessoa.DATA[3])*10)+atoi(pessoa.DATA[4]); // Ano ano = (atoi(pessoa.DATA[6])*1000)+(atoi(pessoa.DATA[7])*100)+(atoi(pessoa.DATA[8])*10)+(atoi(pessoa.DATA[9])); if(dia > 0 && dia <= 31){ // Dia correto de cada mês } if(mes > 0 && dia <= 12){ // Mês correto } if(ano > 0){ // Ano } } } main() { T_pessoa pessoa; CadastrarPessoa(&pessoa); printf("\n\n-------------------------------------------------------------------------------\n"); printf(" DADOS \n"); printf("-------------------------------------------------------------------------------"); // Imprimindo resultados em T_pessoa pessoa printf("\nNome................: %s", pessoa.nome); printf("\nEndereço............: %s", pessoa.end); printf("\nCidade..............: %s", pessoa.cidade); printf("\nE-mail..............: %s", pessoa.email); printf("\nCep.................: %d", pessoa.cep); printf("\n\n"); system("pause"); return 0; }
  3. VitinF

    C Exercício em linguagem C

    @TYSQUARE89 Excelente assim ficou do jeito que eu queria mesmo. Você pode me passar uma ideia fazer a verificação nesse código ?
  4. VitinF

    C Exercício em linguagem C

    @TYSQUARE89 Ok, Veja só, fiz a parte de cadastro, estou com erro no data_nas e cep, porque a parte do resultado não imprimi o que eu digito aprece um numero qualquer na data de nascimento e CEP. A parte de verificação estou lendo alguns tópicos para poder fazer pois não sei como se faz ainda. #include <stdio.h> #include <stdlib.h> #include <string.h> int main () { struct cadastro { char nome[50]; char end[50]; char cidade[50]; char email[50]; int cep[9]; int data_nas[10]; }; struct cadastro usuario; printf("\n-------------------Cadastro Usuario------------------------------------\n\n"); printf("Nome Completo: "); fgets(usuario.nome, 50, stdin); printf("\nEndereco: "); fgets(usuario.end, 50, stdin); printf("\nCidade: "); fgets(usuario.cidade, 50, stdin); printf("\nEmail: "); fgets(usuario.email, 50, stdin); printf("\nData de Nascimento: "); scanf("%i", &usuario.data_nas); printf("\nCep: "); scanf("%i", &usuario.cep); printf("\n\n---------------------------Resultado-------------------------------\n\n"); printf("Nome..................: %s\n", usuario.nome); printf("Endereço..............: %s\n", usuario.end); printf("Data de Nascimento....: %i\n", usuario.data_nas); printf("Cidade................: %s\n", usuario.cidade); printf("Cep...................: %i\n", usuario.cep); printf("Email.................: %s\n", usuario.email); return 0; }
  5. Pessoal tudo bem? Me chamo Victor e estou iniciando o curso de Análise e Desenvolvimento de Sistemas, o meu professor passou um exercício em C que precisamos fazer o seguinte: Peca ao usuário para digitar seus dados pessoais (Nome, Endereço, Data de Nascimento, Cidade, CEP, Email), verifique se as informações de Data de Nascimento, CEP e Email fazem sentido, e mostre ao usuário as informações, se estão todas corretas, ou mostre que alguma informação estava errada. Preciso de uma ajuda para resolver essa atividade.

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