Anteprima
Vedrai una selezione di 1 pagina su 5
Programmazione - Esercitazione Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

while(gg1[k][0]<1 || gg1[k][0]>28)

{ printf("i giorni del mese %d vanno da 1 a 28\n\n",gg1[k][1]);

printf("gg : ");

scanf("%d",&gg1[k][0]);

}

break;

case 4:

case 6:

case 9:

case 11:

while(gg1[k][0]<1 || gg1[k][0]>30)

{ printf("i giorni del mese %d vanno da 1 a 30\n\n",gg1[k][1]);

printf("gg : ");

scanf("%d",&gg1[k][0]);

}

break;

default:

while(gg1[k][0]<1 || gg1[k][0]>31)

{ printf("i giorni del mese %d vanno da 1 a 31\n\n",gg1[k][1]);

printf("gg : ");

scanf("%d",&gg1[k][0]);

}

break;

}

if(k!=0) // sel il giorno non è il primo

{ for(i=0;i<k;i++)

{ if(gg1[i][0]==gg1[k][0] && gg1[i][1]==gg1[k][1]) // controllo che non sia già stato inserito

{ printf("questo giorno e' gia' stato inserito!!!\n\nreinserisci ");

k--;

flag=1;

break;

}

}

}

if(flag==1){continue;}

r=DomandaSiNo("\nvuoi inserire altre date disponibili? (s/n) ",r);

}

while (r=='s');

printf("\nIl secondo collega inserisca i giorni in cui e' disponbile\n");

do

{ h++; flag=0;

printf("gg mm : ");

scanf("%d %d",&gg2[h][0],&gg2[h][1]);

while(gg2[h][1]<1 || gg2[h][1]>12) // mese tra 1 e 12

{ printf("il mese deve essere un numero tra 1 e 12\n\n");

printf("mm : ");

scanf("%d",&gg2[h][1]);

}

switch(gg2[h][1]) // in base al mese i giorni cambiano

{ case 2:

while(gg2[h][0]<1 || gg2[h][0]>28)

{ printf("i giorni del mese %d vanno da 1 a 28\n\n",gg2[h][1]);

printf("gg : ");

scanf("%d",&gg2[h][0]);

}

break;

case 4:

case 6:

case 9:

case 11:

while(gg2[h][0]<1 || gg2[h][0]>30)

{ printf("i giorni del mese %d vanno da 1 a 30\n\n",gg2[h][1]);

printf("gg : ");

scanf("%d",&gg2[h][0]);

}

break;

default:

while(gg2[h][0]<1 || gg2[h][0]>31)

{ printf("i giorni del mese %d vanno da 1 a 31\n\n",gg2[h][1]);

printf("gg : ");

scanf("%d",&gg2[h][0]);

}

break;

}

if(h!=0)

{ for(i=0;i<h;i++)

{ if(gg2[i][0]==gg2[h][0] && gg2[i][1]==gg2[h][1])

{ printf("questo giorno e' gia' stato inserito!!!\n\nreinserisci ");

h--;

flag=1;

break;

}

}

}

if(flag==1){continue;}

r=DomandaSiNo("\nvuoi inserire altre date disponibili? (s/n) ",r);

}

while (r=='s');

printf("\n\n Riepilogo giorni liberi dei colleghi\n\n");

for(i=0;i<=k || i<=h;i++) // stampo i giorni inseriti

{ if(i==0)

{ printf(" collega 1 collega 2\n");

printf("giorno mese giorno mese\n");

}

if(i<=k && i<=h)

{ printf(" %3d %3d %3d %3d\n",gg1[i][0],gg1[i][1],gg2[i][0],gg2[i][1]);

}

else if(i>k)

{ printf(" %3d %3d\n",gg2[i][0],gg2[i][1]);

}

else if(i>h)

{ printf(" %3d %3d\n",gg1[i][0],gg1[i][1]);

}

}

flag=0;

for(i=0;i<=k;i++) // controllo se ci sono giorni comuni

{ for(j=0;j<=h;j++)

{ if (gg1[i][0]==gg2[j][0] && gg1[i][1]==gg2[j][1])

{ flag=1;

x++;

comuni[x]=i;

}

}

}

if (flag==1) // stampo i risultati

{ printf("\n\nI colleghi sono entrambi liberi in questi giorni:\n\n");

for(i=0;i<=x;i++)

{ printf(" %02d/%02d\n",gg1[comuni[i]][0],gg1[comuni[i]][1]);

}

Dettagli
Publisher
A.A. 2013-2014
5 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher siboXD di informazioni apprese con la frequenza delle lezioni di Programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Carbonaro Antonella.