Advertisement
Kazuyha

Untitled

Mar 29th, 2015
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.70 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4.  
  5.  
  6. int main(int argc, char ** argv) {
  7. char rep;
  8. int tab[65],i,menu,menu2,jour,tab2[365],a,semaine[52], maxsem=0, max = 0,jan=0,fev=0,mar=0,avr=0,mai=0,juin=0,jui=0,aout=0,sept=0,oct=0,nov=0,dec=0;
  9. srand(time(NULL));
  10.  
  11.  
  12. printf("1 - Saisie du tableau\n");
  13. printf("2 - Generation automatique du tableau\n");
  14. printf("3 - Quitter\n");
  15. scanf("%d",&menu);
  16.  
  17. switch(menu)
  18. {
  19.  
  20. case 1 :
  21.  
  22.  
  23. printf("Saisir des dates des naissances (numero du jour) \n");
  24. for (i=0;i<65;i++) {
  25. do {
  26. scanf("%d", &jour);
  27. tab[i]=jour;
  28. } while (tab[i]<=0 || tab[i]>365);
  29. printf("%d ", jour);
  30. }
  31.  
  32.  
  33. printf("Veuillez saisir un nombre entre 1 et 365");
  34. break;
  35.  
  36. case 2 :
  37. printf("Generation automatique des dates de naissances\n\n");
  38. for(i=0; i<65; i++)
  39. {
  40. tab[i] = 1+rand()%365;
  41. printf("%d ",tab[i]);
  42.  
  43. }
  44. break;
  45.  
  46. case 3:
  47.  
  48. return 0;
  49.  
  50. }
  51. do
  52. {
  53. printf("1 - Nombre d'eleves nes le meme jour\n");
  54. printf("2 - Affichage du tableau des anniversaires\n");
  55. printf("3 - Semaine pendant laquelle le plus d'etudiants sont nes\n");
  56. printf("4 - Affichage du nombre d'etudiants nes par mois\n");
  57. printf("5 - Quitter\n");
  58. scanf("%d",&menu2);
  59. switch(menu2)
  60. {
  61. case 1 :
  62. for(i=0; i<65; i++)
  63. {
  64. a=tab[i];
  65. tab2[a-1] = tab2[a-1] + 1;
  66. }
  67.  
  68. for (i=0; i<365; i++) {
  69. if (tab2[i]==1) {
  70. printf("%d eleve est ne le jour %d\n", tab2[i], i+1);
  71. }else if(tab2[i]!=0){
  72.  
  73. printf("%d eleves sont nes le jour %d\n", tab2[i], i+1);
  74. }
  75. }
  76. break;
  77. case 2 :
  78. for (i=0; i<65; i++) {
  79. if (tab[i]==1) {
  80. printf("L'eleve numero %d est ne le %d er jour de l'annee\n", i+1, tab[i]);
  81. }else{
  82. printf("L'eleve numero %d est ne le %d eme jour de l'annee\n", i+1, tab[i]);
  83. }
  84. }
  85. break;
  86. case 3 :
  87.  
  88.  
  89.  
  90. for (i=0; i<365; i++) {
  91. semaine[i%52]+=tab2[i];
  92. // on divise par le nombre de semaine par an; et on ajoute le nombre de naissance du tableau2
  93. }
  94. for(i=0; i<52; i++) {
  95. if (semaine[i] > maxsem) {
  96. maxsem = semaine[i]; // calcul du max par semaine
  97. max = i;
  98. }
  99. }
  100.  
  101. printf("La semaine numero %d est celle ou le plus d'etudiants sont nes\n", max);
  102. break;
  103. case 4 :
  104. // Repartition des éleves en parcourant le tableaux et en incrémentant le mois correspondant
  105. for (i=0; i<65; i++) {
  106. if (tab[i]>0 && tab[i]<=30)
  107. {
  108. jan++;
  109. }
  110. if (tab[i]>30 && tab[i]<=60)
  111. {
  112. fev++;
  113. }
  114. if (tab[i]>60 && tab[i]<=90)
  115. {
  116. mar++;
  117. }
  118. if (tab[i]>90 && tab[i]<=120)
  119. {
  120. avr++;
  121. }
  122. if (tab[i]>120 && tab[i]<=150)
  123. {
  124. mai++;
  125. }
  126. if (tab[i]>150 && tab[i]<=180)
  127. {
  128. juin++;
  129. }
  130. if (tab[i]>180 && tab[i]<=210)
  131. {
  132. jui++;
  133. }
  134. if (tab[i]>210 && tab[i]<=240)
  135. {
  136. aout++;
  137. }
  138. if (tab[i]>240 && tab[i]<=270)
  139. {
  140. sept++;
  141. }
  142. if (tab[i]>270 && tab[i]<=300)
  143. {
  144. oct++;
  145. }
  146. if (tab[i]>300 && tab[i]<=330)
  147. {
  148. nov++;
  149. }
  150. if (tab[i]>330 && tab[i]<=365)
  151. {
  152. dec++;
  153. }
  154. }
  155. printf("%d eleves sont nes en Janvier\n",jan);
  156. printf("%d eleves sont nes en Fevrier\n",fev);
  157. printf("%d eleves sont nes en Mars\n",mar);
  158. printf("%d eleves sont nes en Avril\n",avr);
  159. printf("%d eleves sont nes en Mai\n",mai);
  160. printf("%d eleves sont nes en Juin\n",juin);
  161. printf("%d eleves sont nes en Juillet\n",jui);
  162. printf("%d eleves sont nes en Aout\n",aout);
  163. printf("%d eleves sont nes en Septembre\n",sept);
  164. printf("%d eleves sont nes en Octobre\n",oct);
  165. printf("%d eleves sont nes en Novembre\n",nov);
  166. printf("%d eleves sont nes en Decembre\n",dec);
  167. }
  168. printf("Voulez-vous conserver les valeurs du tableau et continuer les traitements? (y/all other key)\n");
  169. scanf(" %c",&rep);
  170. }
  171. while(rep=='y');
  172.  
  173. return 0;
  174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement