Ir ao conteúdo
  • Cadastre-se

Gildeone Soares

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

1
  1. fiz da seguinte forma: só que estou sentindo que o loop da validação do celular está entrando diretamente na condição mesmo colocando um numero de celular correto, e peguei a mesma ideia coloquei na data só que a validação nem entra na condição quando digito a data errada, estou me passando por algo ? tem algo que eu não entendi direito ? pois no celular foi corretamente a condição mesmo entrando direto mas na data não vai #include <stdio.h> #include <locale.h> #include <stdlib.h> typedef struct { char nome[41]; int celular; int diaNascimento; int mesNascimento; int anoNascimento; } dados; int main (){ int i, j, celular; long long dig1, dig2, aux; dados y[41]; setlocale(LC_ALL, ""); for (i=0; i<41; i++){ printf ("\n*** Cadastro %d ***\n", i+1); printf ("Nome: "); scanf (" %s", y[i].nome); printf ("Celular: "); scanf ("%d", &y[i].celular); while(celular < 900000000 || celular > 999999999) { // Caso não esteja dentro do intervalo printf("Numero de celular invalido!\nDigite novamente: "); scanf("%d%*c", &celular); } printf ("Data de Nascimento (dia): "); scanf ("%d", &y[i].diaNascimento); while(diaNascimento < 1 || diaNascimento > 31) { printf("Data de nascimento invalido!\nDigite novamente: "); scanf("%d%*c", &diaNascimento); } printf ("Data de Nascimento (mês): "); scanf ("%d", &y[i].mesNascimento); while(mesNascimento < 1 || mesNascimento > 12) { printf("Data de nascimento invalido!\nDigite novamente: "); scanf("%d%*c", &mesNascimento); } printf ("Data de Nascimento (ano): "); scanf ("%d", &y[i].anoNascimento); while(anoNascimento < 1900 || anoNascimento > 2021) { printf("Data de nascimento invalido!\nDigite novamente: "); scanf("%d%*c", &anoNascimento); } } printf ("\n\n*** CONSULTA NO CADASTRO ***\n"); printf ("Escolha uma posição a exibir (1 a 41): "); scanf ("%d", &i); printf ("Nome: %s\n", y[i-1].nome); printf ("Celular: %d\n", y[i-1].celular); printf ("Data de Nascimento: %d/%d/%d\n", y[i-1].diaNascimento); } @Lucca Rodrigues
  2. @Lucca Rodrigues uma dúvida, o loop de verificação seria dentro do (For) ? tipo, toda vez que um numero de celular for inserido ele verificaria né isso ?
  3. Olá, sou iniciante e estou com uma atividade para fazer, necessito dos seguintes passos: . No atributo celular, é preciso validar a entrada para que sejam aceitos números dentro do intervalo 900000000 a 999999999 apenas, e caso o número esteja fora deste intervalo, pedir nova digitação. . Validar também a digitação do dia do mês em um intervalo de 1 a 31 apenas, assim como mês entre 1 e 12, e por fim, ano entre 1900 e 2021, reduzindo as chances de entradas de dados inadequados para cada variável, e em caso de falha em qualquer um dos três dados, solicitar nova digitação eu já fiz uma parte mas essas validações eu não estou conseguindo fazer, a atividade é para sexta e estou sem tempo. segue em baixo o meu código #include <stdio.h> #include <locale.h> typedef struct { char nome[3]; int celular; int diaN; int mesN; int anoN; } dados; int main (){ int i, j; long long dig1, dig2, aux; dados y[3]; setlocale(LC_ALL, ""); for (i=0; i<3; i++){ printf ("\n*** Cadastro %d ***\n", i+1); printf ("Nome: "); scanf (" %s", y[i].nome); printf ("Celular: "); scanf ("%d", &y[i].celular); printf ("Data de Nascimento (dia): "); scanf ("%d", &y[i].diaN); printf ("Data de Nascimento (mês): "); scanf ("%d", &y[i].mesN); printf ("Data de Nascimento (ano): "); scanf ("%d", &y[i].anoN); printf ("\n\n*** CONSULTA NO CADASTRO ***\n"); printf ("Escolha uma posição a exibir (1 a 3): "); scanf ("%d", &i); printf ("Nome: %s\n", y[i-1].nome); printf ("Celular: %d\n", y[i-1].celular); printf ("Data de Nascimento: %d/%d/%d\n", y[i-1].diaN)

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!