Estou começando a aprender a linguagem C. Tenho que fazer um um exercício que pede:
"Escreva um programa que peça três inteiros, correspondentes a dia , mês e ano. Peça os números até conseguir valores que estejam na faixa correta (dias entre 1 e 31, mês entre 1 e 12 e ano entre 1900 e 2100). Verifique se o mês e o número de dias batem (incluindo verificação de anos bissextos). Se estiver tudo certo imprima o número que aquele dia corresponde no ano. Comente seu programa.
PS: Um ano é bissexto se for divisível por 4 e não for divisível por 100, exceto para os anos divisíveis por 400, que também são bissextos."
Pesquisando até encontrei em alguns fóruns a solução para o exercício, mas eu não gostaria de simplesmente copiar e colar para tirar a nota, por isso estou tentando fazer o exercício sem cola. Mas como esse e o primeiro programa que faço, estou tento muitas dificuldades. Por isso conta a ajuda do pessoal do fórum.
Ainda estou no começo, até agora eu só fiz esse pedaço:
#include <stdio.h>
int main()
{
int dia;
int mes;
int ano;
{
do
{
printf ("Digite um dia do mes no formato dd: \n");
scanf ("%d", &dia);
if (dia>31||dia<1)
printf ("Dia invalido, digite novamente!\n\n");
}while (dia>31||dia<1);
printf ("Digite um mes do ano no formato mm: \n");
scanf ("%d", &mes);
if((mes>12)||(mes<1))
printf ("Mes invalido!");
printf ("Digite um ano entre 1900 e 2100; \n");
scanf ("%d", &ano);
}
return(0);
}
No primeiro trecho funcionou belezinha:
do
{
printf ("Digite um dia do mes no formato dd: \n");
scanf ("%d", &dia);
if (dia>31||dia<1)
printf ("Dia invalido, digite novamente!\n\n");
}while (dia>31||dia<1);
Mas agora eu quero fazer o mesmo com o mês e ano, mas não estou conseguindo. Pensei que se repetisse a mesma estrutura do "dia", funcionaria com "mes" e "ano", mas não deu certo:
#include <stdio.h>
int main()
{
int dia;
int mes;
int ano;
{
do
{
printf ("Digite um dia do mes no formato dd: \n");
scanf ("%d", &dia);
if (dia>31||dia<1)
printf ("Dia invalido!\n Digite novamente!\n");
(dia>31||dia<1);
}
}
{
do
{
printf ("Digite um mes do ano no formato mm: \n");
scanf ("%d", &mes);
if (mes>12||mes<1)
printf ("Mes invalido!\n Digite novamente!\n");
(mes>12||mes<1);
}
}
{
do
{
printf ("Digite um ano entre 1900 e 2100; \n");
scanf ("%d", &ano);
if (ano>2100||ano<1900)
printf ("Ano invalido!\n Digite novamente!\n");
while (ano>2100||ano<1900);
}
}
}
Coloquei só a primeira parte, por que foi o que eu "consegui" fazer até agora. E por que quero aprender, não apenas copiar e colar o trabalho de outros. Espero que o pessoal possa me ajudar. E desde já agradeço!
Question
Emerson111
Olá,
Estou começando a aprender a linguagem C. Tenho que fazer um um exercício que pede:
"Escreva um programa que peça três inteiros, correspondentes a dia , mês e ano. Peça os números até conseguir valores que estejam na faixa correta (dias entre 1 e 31, mês entre 1 e 12 e ano entre 1900 e 2100). Verifique se o mês e o número de dias batem (incluindo verificação de anos bissextos). Se estiver tudo certo imprima o número que aquele dia corresponde no ano. Comente seu programa.
PS: Um ano é bissexto se for divisível por 4 e não for divisível por 100, exceto para os anos divisíveis por 400, que também são bissextos."
Pesquisando até encontrei em alguns fóruns a solução para o exercício, mas eu não gostaria de simplesmente copiar e colar para tirar a nota, por isso estou tentando fazer o exercício sem cola. Mas como esse e o primeiro programa que faço, estou tento muitas dificuldades. Por isso conta a ajuda do pessoal do fórum.
Ainda estou no começo, até agora eu só fiz esse pedaço:
Mas agora eu quero fazer o mesmo com o mês e ano, mas não estou conseguindo. Pensei que se repetisse a mesma estrutura do "dia", funcionaria com "mes" e "ano", mas não deu certo:Coloquei só a primeira parte, por que foi o que eu "consegui" fazer até agora. E por que quero aprender, não apenas copiar e colar o trabalho de outros. Espero que o pessoal possa me ajudar. E desde já agradeço!
Edited by Emerson111Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.