Accueil Forum -> Techno Geek -> Programmation  >>  Aide pour un programme en C
9 messages

Aide pour un programme en C

23 novembre 2010 à 10:01 blackjapan  
Bonjour je demande de l'aide pour faire se programme que je doit faire et que je pige rien et ma classe pareil.


Crée un progemme qui permet de saisir une date et de faire les opération suivente:
- Calculer du nombre de jour écouler de puis le 1 janvieer
- Verifier la validiter de la date
- Calculer ou afficher la date de demain
- Calculer ou afficher la date d'hier
- Demande la date d'anniversaire et calculer le nombre de jour resten pour le fete.

Aide pour un programme en C

23 novembre 2010 à 11:50 Ksha  
tiens mon coupain a la voie de rockeur :
#include <stdio.h>
#include <stdlib.h>

int main()
{
int choix_menuP;
int jour, mois, annee, jour_demain, jour_hier, jour_a, mois_a, annee_a;
int nbj, nbf, nbd, nbj_a;
int fin;

while(fin != 0)
{
printf("***SUPER PROGRAMME***nn");
printf("Entre une date sous la forme jours/mois/anneesn");
scanf("%d/%d/%d", &jour, &mois, &annee);
printf("Choisissez ce que vous souhaitez faire : nn");
printf("1 . Calculer le nombre de jours depuis le 1er Janviern");
printf("2 . Verifier la validite de la date actueln");
printf("3 . Afficher la date de demainn");
printf("4 . Afficher la date d'hiern");
printf("5 . Connaitre le nombre de jours restant avant son anniversairen");
scanf("%d", &choix_menuP);


switch(choix_menuP) //Execution du menu
{
case 1: //début premier choix menuP

if(jour < 1 || jour > 31)
printf("Arrete, ca existe pas !n");

if( (annee%4 == 0 && annee%100 != 0) || (annee%400 == 0)) //Année bisexstile ou pas
nbf = 29;
else
nbf = 28;

switch(mois)
{
case 1 : nbj = jour; //janvier
break;
case 2 : nbj = 31 + jour; //fevrier
break;
case 3 : nbj = (31+ nbf) + jour; //mars
break;
case 4 : nbj = (62 + nbf) + jour; //avril
break;
case 5 : nbj = (92 + nbf) + jour; //mai
break;
case 6 : nbj = (123 + nbf) + jour; //juin
break;
case 7 : nbj = (153 + nbf) + jour; //juillet
break;
case 8 : nbj = (184 + nbf) + jour; //aout
break;
case 9 : nbj = (215 + nbf) + jour; //septembre
break;
case 10 : nbj = (245 + nbf) + jour; //octobre
break;
case 11 : nbj = (276 + nbf) + jour; //novembre
break;
case 12 : nbj = (306 + nbf) + jour; //decembre
break;
default : printf("Autiste ! try again");
break;
}
printf("Il y a %d jours depuis le 1er Janvier %dn", nbj, annee);
break; //fin premier choix menuP
case 2: //debut deuxieme choix

if(jour < 1 || jour > 31)
printf("Jour incorrecten");
else printf("Le jour est correcten");

if(mois < 1 || mois > 12)
printf("Mois incorrecten");
else printf("Le mois est correcten");

if(annee < 1 || annee <= 1000)
printf("Remonte pas trop loins quand mêmen");
else if(annee > 1000 && annee < 3000)
printf("Bien, bien !n");
else if(annee >= 3000 && annee <= 5000)
printf("Tu dois aimer futurama, mais va pas trop loins quand memen");
else printf("la tu va beaucoup trop loinsn");
break; //fin deuxeme choix
case 3: //debut troisieme choix

if( (annee%4 == 0 && annee%100 != 0) || (annee%400 == 0)) //Année bisexstile ou pas
nbf = 29;
else
nbf = 28;

jour_demain = jour + 1;

if(jour_demain > 31 && mois == 1)
{
jour_demain = 1;
mois++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else if (jour_demain > nbf && mois == 2)
{
jour_demain = 1;
mois++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else if (jour_demain > 31 && mois == 3)
{
jour_demain = 1;
mois++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else if (jour_demain > 30 && mois == 4)
{
jour_demain = 1;
mois++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else if (jour_demain > 31 && mois == 5)
{
jour_demain = 1;
mois++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else if (jour_demain > 30 && mois == 6)
{
jour_demain = 1;
mois++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else if (jour_demain > 31 && mois == 7)
{
jour_demain = 1;
mois++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else if (jour_demain > 31 && mois == 8)
{
jour_demain = 1;
mois++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else if (jour_demain > 30 && mois == 9)
{
jour_demain = 1;
mois++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else if (jour_demain > 31 && mois == 10)
{
jour_demain = 1;
mois++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else if (jour_demain > 30 && mois == 11)
{
jour_demain = 1;
mois++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else if (jour_demain > 31 && mois == 12)
{
jour_demain = 1;
mois = 1;
annee++;
printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
}
else printf("Demain : %d/%d/%dn", jour_demain, mois, annee);
break; // fin troisieme choix
case 4: //début quatrieme choix
if( (annee%4 == 0 && annee%100 != 0) || (annee%400 == 0)) //Année bisexstile ou pas
nbf = 29;
else
nbf = 28;

jour_hier = jour - 1;

if(jour_hier < 1 && mois == 1)
{
jour_hier = 31;
mois = 12;
annee--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else if (jour_hier < 1 && mois == 2)
{
jour_hier = 31;
mois--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else if (jour_hier < 1 && mois == 3)
{
jour_hier = nbf;
mois--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else if (jour_hier < 1 && mois == 4)
{
jour_hier = 31;
mois--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else if (jour_hier < 1 && mois == 5)
{
jour_hier = 30;
mois--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else if (jour_hier < 1 && mois == 6)
{
jour_hier = 31;
mois--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else if (jour_hier < 1 && mois == 7)
{
jour_hier = 30;
mois--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else if (jour_hier < 1 && mois == 8)
{
jour_hier = 31;
mois--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else if (jour_hier < 1 && mois == 9)
{
jour_hier = 31;
mois--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else if (jour_hier < 1 && mois == 10)
{
jour_hier = 30;
mois--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else if (jour_hier < 1 && mois == 11)
{
jour_hier = 31;
mois--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else if (jour_hier < 1 && mois == 12)
{
jour_hier = 30;
mois--;
printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
}
else printf("Hier nous etions le : %d/%d/%dn", jour_hier, mois, annee);
break; // fin quatrieme choix
case 5: //début cinquieme choix

if( (annee%4 == 0 && annee%100 != 0) || (annee%400 == 0)) //Année bisexstile ou pas
nbf = 29;
else
nbf = 28;

printf("Entre ta date d'anniversaire (Jour/mois/annee) :");
scanf("%d/%d/%d", &jour_a, &mois_a, &annee_a);

switch(mois)
{
case 1 : nbj = jour; //janvier
break;
case 2 : nbj = 31 + jour; //fevrier
break;
case 3 : nbj = (31+ nbf) + jour; //mars
break;
case 4 : nbj = (62 + nbf) + jour; //avril
break;
case 5 : nbj = (92 + nbf) + jour; //mai
break;
case 6 : nbj = (123 + nbf) + jour; //juin
break;
case 7 : nbj = (153 + nbf) + jour; //juillet
break;
case 8 : nbj = (184 + nbf) + jour; //aout
break;
case 9 : nbj = (215 + nbf) + jour; //septembre
break;
case 10 : nbj = (245 + nbf) + jour; //octobre
break;
case 11 : nbj = (276 + nbf) + jour; //novembre
break;
case 12 : nbj = (306 + nbf) + jour; //decembre
break;
default : printf("Autiste ! try again");
break;
}

switch(mois_a)
{
case 1 : nbj_a = jour_a; //janvier
break;
case 2 : nbj_a = 31 + jour_a; //fevrier
break;
case 3 : nbj_a = (31+ nbf) + jour_a; //mars
break;
case 4 : nbj_a = (62 + nbf) + jour_a; //avril
break;
case 5 : nbj_a = (92 + nbf) + jour_a; //mai
break;
case 6 : nbj_a = (123 + nbf) + jour_a; //juin
break;
case 7 : nbj_a = (153 + nbf) + jour_a; //juillet
break;
case 8 : nbj_a = (184 + nbf) + jour_a; //aout
break;
case 9 : nbj_a = (215 + nbf) + jour_a; //septembre
break;
case 10 : nbj_a = (245 + nbf) + jour_a; //octobre
break;
case 11 : nbj_a = (276 + nbf) + jour_a; //novembre
break;
case 12 : nbj_a = (306 + nbf) + jour_a; //decembre
break;
default : printf("Autiste ! try again");
break;
}
if(nbf==29 && (mois_a >= 1 && mois_a < mois))
nbd = (366 - nbj) + nbj_a;
else if (nbf==28 && (mois_a >= 1 && mois_a < mois))
nbd = (365 - nbj) + nbj_a;
else if (mois_a <= 12 && mois_a >= mois)
nbd = nbj_a - nbj;
else printf("Fuckn");

printf("ton annive est dans : %d joursn", nbd);

break;
}

printf("nnn***BY THE SCORPION KING***n");
printf("Tu veux continuez a baver devant mon oeuvre ? (1. Oui - 0. Nan)n");
scanf("%d", &fin);
}

return 0;
}


Aide pour un programme en C

23 novembre 2010 à 12:06 Disparu  
Je viens de le compiler et sur le pc il fait le progamme mais n'affiche rien.

(merci de la distraction, le prof de c est chiant ^^)

Aide pour un programme en C

24 novembre 2010 à 22:18 Disparu  
Mdr, Ksha ya moyen que tu travailles pour moi aussi ?

Aide pour un programme en C

24 novembre 2010 à 22:27 Disparu  
Merci pour le code, je garde ça sous le coude pour voir comment tu as fait

Aide pour un programme en C

24 novembre 2010 à 22:34 PtitKuro    
ça marche nickel, juste à faire quelque modif, ya trop de n pour moi.

Edit : en date j'ai mis le 32/13/2010 : 1-ça existe pas normal, mais 2-Il a quand même fais un calcul qui donne 4203856 jours depuis le 1er janvier o/


Message édité le 24-11-10 à 22:40 par PtitKuro

Aide pour un programme en C

04 décembre 2010 à 22:34 VULCH0K  
WTF ? Pas bien de vomir du code comme sa

Aide pour un programme en C

04 décembre 2010 à 23:48 Shauny    
Mdr Vulchok xD
Sinon le code en lui même j'le trouve plus complexe que ce qu'il pourrait être mais cela ne me choque pas trop ^^ Il est bien drôle =D

Aide pour un programme en C

09 décembre 2010 à 23:15 VULCH0K  
Ha ! Un shauny qui me cour aprés
Je tombe daccord avec toi pour ce qui est de la complexitée.