cs_badramus
Messages postés15Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention15 mai 2006
-
10 mai 2006 à 10:56
cs_badramus
Messages postés15Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention15 mai 2006
-
12 mai 2006 à 10:51
Bonjour
voici le programme que j'ai pu faire mais ça ne marche comme je le souhaite. veuillez m'aidez a reoudre ce problème.
voici le programme
// naissance.cpp : Defines the entry point for the console application.
//
#include
#include
#include
#include
int annee,mois,jour,correctif,difference,n;
char saisie[5];
bool correct;
int tab_aux[12];
int tab_duree [12]={31,28,31,30,31,30,31,31,30,31,30,31};
char calendrier[13][10]={"janvier","fevrier","mars","avril","mai","juin",
"juillet","aout","septembre","octobre","novembre","decembre"};
char semaine[8][10]={"lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche"};
int main(int argc, char* argv[])
{
do
{
correct=true;
printf("Entrez une annee (comprise entre 1960 et 2099):");
scanf("%d",&annee);
if(n>4||annee==0||annee2099)//eviter une saisie
{
correct=false;
printf("Recommencez!");
}
} while(correct==false);
if((annee-1960)%4==0) //savoir si l'annee est bissextile
correctif=1;
else
correctif=0;
tab_duree[1]=28+correctif;
do
{
correct=true;
printf("Entrez un mois (compris entre 1 et 12):");
scanf("%d",&mois)
}
while(correct==false);
do
{
correct=true;
printf("Entrez un jour (compris entre 1 et 31):");
scanf("%d",&jour)
cin>>saisie;
int n=strlen(saisie);
jour=atoi(saisie);
if(n>2||jourtab_duree[mois-1]) //éviter une saisie incorrecte
{
correct=false;
if(mois!=2)
printf("Recommencez!Le mois de ",calendrier[mois-1]," compte ",tab_duree[mois-1]," jours",endl);
if(mois==2)
{
if(correctif==0)
printf("Recommencez!Le mois de fevrier d'une annee non bissextile compte 28 jours");
else
printf("Recommencez!Le mois de fevrier d'une annee bissextile compte 29 jours");
}
}
} while(correct==false);
// référence choisie : l'année 2099 qui est bissextile et dont le premier
// janvier tombait un samedi.On pourra vérifier!
// ****** premiére étape******
// Déterminer le jour de la semaine correspondant au premier janvier d'une
// année quelconque comprise entre 1960 et 2099
difference=2099-annee;
int jr; //jr=1 correspond au lundi,jr=2 au mardi...
int decalage;
decalage=difference+floor(difference/4); //tenir compte du nombre d'annees bissextiles
jr=6-decalage%7; //6 pour le samedi de l'an 2099
if(jr==0)
jr=7;
printf("le premier janvier de l'annee que vous avez entrer etait un:"
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 10 mai 2006 à 17:16
"l'année 2099 qui est bissextile" ??????
if (R=29){
R=28;
}
else if(R=28,R19>10);
{R=27;
}
ça c'est n'imp en série.
le premier if est une affectation, pas une comparaison, donc ça met R à 29 et le résultat de l'affectation (29) sert au test du if qui est VRAI
en suite R passe à 28.
le else est don jamais exécuté et vu le ";" à la fin, le bloc qui sui ne fait pas parti du else et est toujours exécuté. Donc R passe à 27.
de plus le test du else if est chelou
affectation + la virgule doit être un && je suppose
cs_badramus
Messages postés15Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention15 mai 2006 12 mai 2006 à 10:51
:
je voudrai ajouter le nom et prenom de chaque etudiant
Calculer la moyenne en considerant le coefficient de la matiere.
Comment pourrai je realiser ce programme
Merci
Voici ce que j'ai pu faire pour l'instant
#include <stdio.h>
#include <math.h>
main() {
/* Déclaration des variables utilisees dans le programme */
float Notes[26][10], MoyEtu[26], MoyDev[10];
float TotalDev=0, TotalEtu=0;
int NbEtu, NbDevoirs, i, j;
/* Saisie du nombre de devoirs et d'etudiants */
printf("Entrez le nombre de devoirs: ");
scanf("%i", &NbDevoirs);
printf("Entrez le nombre d'etudiants: ");
scanf("%i", &NbEtu);
/* remplissage du tableau Notes. on demande toute les notes du premier etudiant
avant de passer a l'etudiant suivant. pour cela on se sert de deux boucles for
imbriquees. */
for (i=1;i<=NbEtu;i++){
for (j=1;j<=NbDevoirs;j++){
printf("Entrez la note de l'etudiant %i au devoir %i: ",i,j);
scanf("%f",&Notes[i][j]);
}
}
/* Calcul de la moyenne de chaque etudiant */
for (i=1;i<=NbEtu;i++){
for (j=1;j<=NbDevoirs;j++){
TotalDev=TotalDev + Notes[i][j];
}
MoyEtu[i] = TotalDev / NbDevoirs;
TotalDev=0;
}
/* Calcul de la moyenne de la classe pour chaque devoir */
for (j=1;j<=NbDevoirs;j++){
for (i=1;i<=NbEtu;i++){
TotalEtu=TotalEtu + Notes[i][j];
}
MoyDev[j] = TotalEtu / NbEtu;
TotalEtu=0;
}
/* affichage de la moyenne de chaque etudiant */
printf("\n");
for (i=1;i<=NbEtu;i++) {
printf("Moyenne de l'etudiant %i : %0.1f\n",i,MoyEtu[i]);
}
printf("\n");
/* affichage de la moyenne de la classe pour chaque devoir */
for (j=1;j<=NbDevoirs;j++) {
printf("Moyenne du devoir %i : %0.1f\n",j,MoyDev[j]);
}