Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <time.h>
- int main(int argc, char ** argv) {
- char rep;
- 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;
- srand(time(NULL));
- printf("1 - Saisie du tableau\n");
- printf("2 - Generation automatique du tableau\n");
- printf("3 - Quitter\n");
- scanf("%d",&menu);
- switch(menu)
- {
- case 1 :
- printf("Saisir des dates des naissances (numero du jour) \n");
- for (i=0;i<65;i++) {
- do {
- scanf("%d", &jour);
- tab[i]=jour;
- } while (tab[i]<=0 || tab[i]>365);
- printf("%d ", jour);
- }
- printf("Veuillez saisir un nombre entre 1 et 365");
- break;
- case 2 :
- printf("Generation automatique des dates de naissances\n\n");
- for(i=0; i<65; i++)
- {
- tab[i] = 1+rand()%365;
- printf("%d ",tab[i]);
- }
- break;
- case 3:
- return 0;
- }
- do
- {
- printf("1 - Nombre d'eleves nes le meme jour\n");
- printf("2 - Affichage du tableau des anniversaires\n");
- printf("3 - Semaine pendant laquelle le plus d'etudiants sont nes\n");
- printf("4 - Affichage du nombre d'etudiants nes par mois\n");
- printf("5 - Quitter\n");
- scanf("%d",&menu2);
- switch(menu2)
- {
- case 1 :
- for(i=0; i<65; i++)
- {
- a=tab[i];
- tab2[a-1] = tab2[a-1] + 1;
- }
- for (i=0; i<365; i++) {
- if (tab2[i]==1) {
- printf("%d eleve est ne le jour %d\n", tab2[i], i+1);
- }else if(tab2[i]!=0){
- printf("%d eleves sont nes le jour %d\n", tab2[i], i+1);
- }
- }
- break;
- case 2 :
- for (i=0; i<65; i++) {
- if (tab[i]==1) {
- printf("L'eleve numero %d est ne le %d er jour de l'annee\n", i+1, tab[i]);
- }else{
- printf("L'eleve numero %d est ne le %d eme jour de l'annee\n", i+1, tab[i]);
- }
- }
- break;
- case 3 :
- for (i=0; i<365; i++) {
- semaine[i%52]+=tab2[i];
- // on divise par le nombre de semaine par an; et on ajoute le nombre de naissance du tableau2
- }
- for(i=0; i<52; i++) {
- if (semaine[i] > maxsem) {
- maxsem = semaine[i]; // calcul du max par semaine
- max = i;
- }
- }
- printf("La semaine numero %d est celle ou le plus d'etudiants sont nes\n", max);
- break;
- case 4 :
- // Repartition des éleves en parcourant le tableaux et en incrémentant le mois correspondant
- for (i=0; i<65; i++) {
- if (tab[i]>0 && tab[i]<=30)
- {
- jan++;
- }
- if (tab[i]>30 && tab[i]<=60)
- {
- fev++;
- }
- if (tab[i]>60 && tab[i]<=90)
- {
- mar++;
- }
- if (tab[i]>90 && tab[i]<=120)
- {
- avr++;
- }
- if (tab[i]>120 && tab[i]<=150)
- {
- mai++;
- }
- if (tab[i]>150 && tab[i]<=180)
- {
- juin++;
- }
- if (tab[i]>180 && tab[i]<=210)
- {
- jui++;
- }
- if (tab[i]>210 && tab[i]<=240)
- {
- aout++;
- }
- if (tab[i]>240 && tab[i]<=270)
- {
- sept++;
- }
- if (tab[i]>270 && tab[i]<=300)
- {
- oct++;
- }
- if (tab[i]>300 && tab[i]<=330)
- {
- nov++;
- }
- if (tab[i]>330 && tab[i]<=365)
- {
- dec++;
- }
- }
- printf("%d eleves sont nes en Janvier\n",jan);
- printf("%d eleves sont nes en Fevrier\n",fev);
- printf("%d eleves sont nes en Mars\n",mar);
- printf("%d eleves sont nes en Avril\n",avr);
- printf("%d eleves sont nes en Mai\n",mai);
- printf("%d eleves sont nes en Juin\n",juin);
- printf("%d eleves sont nes en Juillet\n",jui);
- printf("%d eleves sont nes en Aout\n",aout);
- printf("%d eleves sont nes en Septembre\n",sept);
- printf("%d eleves sont nes en Octobre\n",oct);
- printf("%d eleves sont nes en Novembre\n",nov);
- printf("%d eleves sont nes en Decembre\n",dec);
- }
- printf("Voulez-vous conserver les valeurs du tableau et continuer les traitements? (y/all other key)\n");
- scanf(" %c",&rep);
- }
- while(rep=='y');
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement