Aide C++

Bonjour j’essaye de faire un petit programme qui permet de donner le jour et le mois du lendemain! mais j’ai un problème! je passe toujours au 31 mars au 32 mars et ce pour touts les mois ! -_- et pas moyen de voir l’erreur …
Edité le 24/09/2009 à 20:17

Voici mon code :


// TD2 EXO3.cpp : définit le point d'entrée pour l'application console.
//

#include "stdafx.h"
#include<iostream>
using namespace std;


void main()
{	
	int jour , mois ;
	cout<<("Entrer un mois")<<endl;
	cin>> mois;
			while( mois<1 || mois>12)
			{
				cout<<("Erreur de saisie")<<endl;
				cout<<("Entrer un autre mois entre 1 et 12")<<endl;
					cin>> mois;
			}
	if( mois==1 || mois==3 || mois==5 || mois==7 || mois==8 || mois==10 || mois==12)
	{
	cout<<("Entrer un jour entre 1 et 31")<<endl;
	cin>> jour ;
			while( jour<1 || jour>31)
			{
					cout<<("Erreur de saisie")<<endl;
					cout<<("Entrer un autre jour entre 1 et 31")<<endl;
					cin>> jour;
			}}
	
	if( mois==4 || mois==6 || mois==9 || mois==11)
	{
	cout<<("Entrer un jour entre 1 et 30")<<endl;
	cin>> jour ;
			while( jour<1 || jour>30)
			{
					cout<<("Erreur de saisie")<<endl;
					cout<<("Entrer un autre jour entre 1 et 30")<<endl;
					cin>> jour;
			}}
	if( mois==2 )
	{
	cout<<("Entrer un jour entre 1 et 28")<<endl;
	cin>> jour ;
			while( jour<1 || jour>28)
			{
					cout<<("Erreur de saisie")<<endl;
					cout<<("Entrer un autre jour entre 1 et 28")<<endl;
					cin>> jour;
			}}
	if (mois==12 && jour==31)
	{
		cout<<"Demain, nous serons le : 01/01"<<endl;
		}


	if (mois==2 && jour<28) 
	{ 
		cout<<"Demain, nous serons le : "<<jour+1<<"/"<<mois <<endl;
			}
	else if (mois==2 && jour==28)
	{	cout<<"Demain, nous serons le : 1 /"<<mois+1<<endl;
	}


	if (mois==4 || mois==6 || mois==9 || mois==11 && jour<30) 
	{ 
		cout<<"Demain, nous serons le : "<<jour+1<<"/"<<mois <<endl;
			}
	else if (mois==4 || mois==6 || mois==9 || mois==11 && jour==30)
	{	cout<<"Demain, nous serons le : "<<1<<"/"<<mois+1<<endl;
	}


	if (mois==1 || mois==3 || mois==5 || mois==7 || mois==8 || mois==10 || mois==12 && jour<31) 
	{ 
		cout<<"Demain, nous serons le : "<<jour+1<<"/"<<mois <<endl;
			}
	else if (mois==1 || mois==3 || mois==5 || mois==7 || mois==8 || mois==10 || mois==12 && jour==31)
	{
		cout<<"Demain, nous serons le : 1 / "<<mois+1 <<endl;
	} 

				
system("pause");
}

Edité le 24/09/2009 à 20:10

dans ton dernier if, il doit manquer une parenthèse générale sur le choix du mois pour ensuite faire le & avec le ‘jour’

ce qui donnerait :

if ( (mois==1 || mois==3 || mois==5 || mois==7 || mois==8 || mois==10 || mois==12) && jour<31) 
	{ 
		cout<<"Demain, nous serons le : "<<jour+1<<"/"<<mois <<endl;
	}
else if ( (mois==1 || mois==3 || mois==5 || mois==7 || mois==8 || mois==10 || mois==12) && jour==31)
{
	cout<<"Demain, nous serons le : 1 / "<<mois+1 <<endl;
}

à tester.

Pas de pbm ! je vais tester sa ce soir! La je suis en prog Xhtml et Css -_-

DateAdd existe en C++ non?

Sinon c’est bonjour les ennuis pour gerer les années bisextile.

On a pas a les gerer^^ On reste sur une année “standard”

C’est bon après quelques autres modif du meme genre j’arrive a un truc qui fonctionne !
merci de ton aide