1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| void menu(){
tlune info; /*variable de type tlune comprenant les donnees du probleme*/
int reponse; /* reponse rentree par l'utilisateur*/
int i,j,k,l,m,n; /*compteurs affichant les resultats*/
double datedecimale; /*variable representant l'annee en decimale*/
int nombrecycles; /* variable representant le nombre de cycles*/
double tempsjulien[4]; /*tableau contenant le temps Julien depuis 1900 pour les differentes phases 1ere case:nouvelle lune 2e case 1er quart de lune 3e case dernier quart de lune et 4e case pleine lune*/
double datephase[4]; /*variable representant la date pour chaque phase en fonction du nombre de cycles depuis 1900 et du temps Julien*/
double correctionJEDSun[4]; /* facteur de correction pour le soleil pour chaque phase*/
double correctionJEDLuna[4]; /*facteur de correction pour la lune pour chaque phase*/
double ArgLatJED[4]; /*variable representant l'argument de la latitude en jour julien*/
double correctionNewetPleinelune[4];/*facteur de correction pour la nouvelle et la plein lune*/
double correctionFirstLastQuarter[4];/*correction pour le 1er et le dernier quart de lune*/
double correctionFirstLastQuarter2[4];/*nouvelle correction pour le 1er et le dernier quart de lune*/
int conversion1[4];
double conversion2[4];
int conversion3[4];
int conversion4[4];
int conversion5[4];
int conversion6[4];
int conversion7[4];
int conversion8[4];
float conversion9[4];
int jour[4];// variable qui va contenir le jour pour la phase concernee
float decimalfractionday [4];
int heure[4];//variable qui va contenir l'heure pour la phase concernee
float minute[4];//variable qui va contenir la minute pour la phase concernee
int mois[4];//variable qui va contenir le mois pour la phase concernee
float annee[4];//variable qui va contenir l'anne pour la phase concernee
do {
F_BLUE();
printf("---------------------Salutations-----------------\n");
printf("Bienvenue sur le programme de Carlito et Justin portant sur 'La Lune '\n");
printf("Que voulez-vous faire ?\n");
printf("1°) Entrez la date recherchée\n");
printf("2°) Initier les calculs\n");
printf("3°)Voir les crédits\n");
printf("4°) Quitter le programme\n");
F_NORM();
scanf("%i",&reponse);
} while(reponse<1 || reponse>4);
switch(reponse){ //switch permettant de mener a bien les differentes actions possibles du menu
case 1: saisie();
break;
case 2: datedecimale=date(info.jour,info.mois,info.annee);//case 2 correspond a tous les calculs
printf("voici la date rentrée en décimale:%d\n",datedecimale);
nombrecycles=nbcycles(datedecimale);
printf("nombre de cycles lunaires depuis janvier 1900:%d\n",nombrecycles);
tpsjulien(nombrecycles, tempsjulien);
for(i=0;i<4;i++){
printf("le calcul du temps T en siecle Julien pour la phase %i depuis 1900 donne:%d\n",i+1,tempsjulien[i]);}
datphse(nombrecycles,tempsjulien,datephase);
for(j=0;i<4;j++){
printf("le calcul des dates de phases significatives de la lune donne:%d\n",datephase[j]);
}
correctJEDSun(nombrecycles,tempsjulien,correctionJEDSun);
for(k=0;k<4;k++){
printf("la correction sur le calcul du jour julien donne:%d\n",correctionJEDSun[k]);
}
conversCorrecSundeg(correctionJEDSun);
for(l=0;l<4;l++){
printf("la conversion en degres de la correction donne:%d\n",correctionJEDSun[l]);
}
correctJEDLuna(nombrecycles,tempsjulien,correctionJEDLuna);
for(m=0;m<4;m++){
printf("la correction d'erreur pour chaque phase dans l'ordre croissant donne:%d\n",correctionJEDLuna[m]);
}
conversCorrecLunadeg(correctionJEDLuna);
ArgLatitudeJED(nombrecycles,tempsjulien,ArgLatJED);
conversArgLatdeg(ArgLatJED);
correctNewetPleinelune(tempsjulien,correctionJEDSun,correctionJEDLuna,ArgLatJED,correctionNewetPleinelune);
correctFirstLastQuarter(tempsjulien,correctionJEDSun,correctionJEDLuna,ArgLatJED,correctionFirstLastQuarter);
correctFirstLastQuarter2(tempsjulien,correctionJEDSun,correctionJEDLuna,ArgLatJED,correctionFirstLastQuarter2);
calcul(datephase,correctionNewetPleinelune,correctionFirstLastQuarter2);
convers1(datephase,conversion1);
convers2(datephase,conversion1,conversion2);
convers3(conversion1,conversion3);
convers4(conversion1,conversion3,conversion4);
convers5(conversion4,conversion5);
convers6(conversion5,conversion6);
convers7(conversion6,conversion7);
convers8(conversion5,conversion7,conversion8);
convers9(conversion5,conversion7,conversion2,conversion8,conversion9);
calculjour(conversion9,jour);
fractiondecimalejour(conversion9,jour,decimalfractionday);
calculheure(decimalfractionday,heure);
calculminute(decimalfractionday,minute);
calculmois(conversion8,mois);
calculannee(mois,conversion6,annee);
affichage(jour,mois,annee,heure,minute);
break;
case 3: printf(" G² Production-2006 \n\n\n Garcia Christophe \n Grave Justin \n Les phases de la lune \n ");
break;
case 4: exit(1);
}
} |
Partager