Salve a tutti eccomi di nuovo qui.Sto svolgendo un esercizio che inserito un anno da tastiera mi stampi il calendario corretto.Ora posto il codice ,la mia difficolta è far stampare esattamente il numero preciso sotto il giorno ,in poche parole il primo giorno del mese viene stampato sempre sotto Domenica!!! Non so come fare !!Grazie in anticipo!!!codice:#include<stdio.h> #define annoiniziale 1752 int main(){ int anno; int inizio; int mese=1; int giorno=1; int colonna=0; printf("inserire anno: "); scanf("%d",&anno); while(mese<=12){ giorno=1; if (mese==1){ printf("GENNAIO\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } else if(mese==2){ printf("FEbbRAIO\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } else if(mese==3){ printf("MARZO\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } else if(mese==4){ printf("APRILE\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } else if(mese==5){ printf("MAGGIO\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } else if(mese==6){ printf("GIUGNO\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } else if(mese==7){ printf("LUGLIO\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } else if(mese==8){ printf("AGOSTO\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } else if(mese==9){ printf("SETTEMbRE\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } else if(mese==10){ printf("OTTObRE\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } else if(mese==11){ printf("NOVEMbRE\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } else if(mese==12){ printf("DICEMbRE\n"); printf("\n"); printf("DOM\tLUN\tMAR\tMER\tGIO\tVEN\tSAb\t\n"); } switch(mese){ case 4: case 6: case 9: case 11: while(giorno<=30){ colonna=0; while(colonna<=6){ if(giorno>30){ break; } else{ printf("%d\t",giorno); colonna++; giorno++; } } printf("\n"); } printf("\n"); mese++; break; case 1: case 3: case 5:case 7: case 8: case 10: case 12: while(giorno<=31){ colonna=0; while(colonna<=6){ if(giorno>31){ break; } else{ printf("%d\t",giorno); colonna++; giorno++; } } printf("\n"); } printf("\n"); mese++; break; case 2: if(anno%400==0){ while(giorno<=29){ colonna=0; while(colonna<=6){ if(giorno>29){ break; } else{ printf("%d\t",giorno); colonna++; giorno++; } } printf("\n"); } printf("\n"); mese++; } else{ while(giorno<=28){ colonna=0; while(colonna<=6){ if(giorno>28){ break; } else{ printf("%d\t",giorno); colonna++; giorno++; } } printf("\n"); } printf("\n"); mese++; } break; } } return 0; }

Rispondi quotando