Ajuda - Programa C

f0x_

Membro
Boas meu caros amigos.
Estava com umas duvidas em como criar um progama em C++ que me peça uma data, me avalie essa data e depois me diga se o ano dessa data é bissexto.
Sei que haverá várias maneiras mas alguem me pode dar uma ajuda?
Obrigado :)
 
Última edição:
Boas.

Eu já fiz um programa com essa função. Acho que o exercício correspondente se encontra no livro "Linguagem C" de Luís Damas.

Adiante...

É assim: um ano bissexto é definido pelo número do ano certo?

Então, diz alguns anos bissextos a começar pelo ano 2000... Repara que o número dum ano bissexto é sempre múltiplo de 4 (2000, 2004, 2008, 2012, etc).

Com um número múltiplo de 4, por exemplo, o resto da divisão inteira por 4 é sempre 0.

Assim como para ver se um número é par basta ver se o resto da divisão inteira desse número por dois é zero.

Então, basta fazer um if...else, em que é testada a afirmação 'ano % 4 == 0', sendo a variável ano o número do ano correspondente; do género:

Código:
if(ano%4 == 0){
/*código a executar caso seja ano bissexto */
}
else{
/* código a executar caso não seja ano bissexto */

Espero te ter ajudado...

Ainda não estas a trabalhar com estruturas pois não? Senão sabes o que é, é porque ainda não...
 
Boas.

Eu já fiz um programa com essa função. Acho que o exercício correspondente se encontra no livro "Linguagem C" de Luís Damas.

Adiante...

É assim: um ano bissexto é definido pelo número do ano certo?

Então, diz alguns anos bissextos a começar pelo ano 2000... Repara que o número dum ano bissexto é sempre múltiplo de 4 (2000, 2004, 2008, 2012, etc).

Com um número múltiplo de 4, por exemplo, o resto da divisão inteira por 4 é sempre 0.

Assim como para ver se um número é par basta ver se o resto da divisão inteira desse número por dois é zero.

Então, basta fazer um if...else, em que é testada a afirmação 'ano % 4 == 0', sendo a variável ano o número do ano correspondente; do género:

Código:
if(ano%4 == 0){
/*código a executar caso seja ano bissexto */
}
else{
/* código a executar caso não seja ano bissexto */
Espero te ter ajudado...

Ainda não estas a trabalhar com estruturas pois não? Senão sabes o que é, é porque ainda não...
Isso não está correcto. Vê esta thread: http://forum.zwame.pt/showthread.php?t=227835&highlight=bissexto
 
Boas, não basta testar essa condição para verificar se um ano é bissexto. Tens aqui o pseudo-código correcto. Se pesquisares no fórum, vais verificar também que existem vários tópicos referentes a esse problema, sendo que a maioria até tem código.
 
Ups... peço desculpa pelo algoritmo incorrecto... por acaso não me tinha lembrado que havia essas regras dos anos bissextos.

Aqui fica parte do artigo da Wiki, que pode ser visto na integridade em http://pt.wikipedia.org/wiki/Ano_bissexto:

Feitas as correções de calendário definiu-se a nova regra para o cálculo dos anos bissextos:
  1. De 4 em 4 anos é ano bissexto.
  2. De 100 em 100 anos não é ano bissexto.
  3. De 400 em 400 anos é ano bissexto.
  4. Prevalece as últimas regras sobre as primeiras
 
Back
Topo