Ragazzi devo realizzare un calendario perpetuo
ho realizzato tutto gli script,mi sono trovato in che giorno inizia la settimana.

ho questo schema

D L M M G V S
i dati in input sono aanno = l'anno da controllare (bisestile?)
amese = mese da visualizzare (30,31,29 giorni?)

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>




int riga;
int start; //scarto
int x;
int w;
int t;
int i;
int ws;
int settimana;
int mese;
int giorni;
int amese;
int aanno;

main(){


printf("#######################################\n" );
printf(" Calendario\n");
printf("#######################################\n" );

printf("Inserisci il mese del quale vuoi visualizzare il calendario: es(12)\n");
scanf("%d",&amese);
printf("\nInserisci l'anno del quale vuoi visualizzare il calendario:es(2001)\n");
scanf("%d",&aanno);
printf("\n");

printf("D\t");
printf("L\t");
printf("M\t");
printf("M\t");
printf("G\t");
printf("V\t");
printf("S\t");
printf("\n");

//bisestile?
if(aanno % 4 == 0 && aanno % 100 != 0 || aanno % 400 == 0){ x=1;} else {x=0;}


switch(amese){
case 1:
w=30;
break;

case 2:
if(x==1){
w=29;
}
else {w=28;}
break;


case 3:
w=31;
break;

case 4:
w=30;
break;

case 5:
w=31;
break;

case 6:
w=30;
break;

case 7:
w=31;
break;

case 8:
w=31;
break;

case 9:
w=30;
break;

case 10:
w=31;
break;

case 11:
w=30;
break;

case 12:
w=31;
break;

default:
printf("ERRORE");

}



ws = (aanno+ (aanno- 1 ) /4 - (aanno - 1) / 100 + (aanno - 1) /400) %7; //formula per il calcolo del primo giorno della sett
switch(ws){//calcolo gli spazi da saltare
case 1: start=0; break; //domenica
case 2: start=1; break; //lunedi
case 3: start=2; break; //martedi
case 4: start=3; break; //mercoledi
case 5: start=4; break; //giovedi
case 6: start=5; break; //venerdi
case 7: start=6; break; //sabato
}



for(i=-1;i<start;i++){printf(" \t"); t++;} //??
for(x=5-t;x<4;x++){printf("%d\t",x); }

for(giorni=7-t+1;giorni<=w+1;giorni++){

if(giorni == 7-t+1 ||giorni== 14-t+1 || giorni == 21-t+1 || giorni == 28-t+1) {printf("\n");}
printf("%d\t",giorni);}





getch();
}


oltre questo non riesco a proseguire,sono un neofita col C..
in pratica ho start che sono le \t che ho saltato
con un ciclo for inserisco le tabulazioni
ora dovrei ricompletare la riga

non riesco a trovare un algoritmo che mi permetta,sapendo il numero delle tabulazioni da scarta,di continuare la riga e poi andare a capo appena sn stati scritti 7 numeri


il risultato che ottengo è sempre questo

D L M M G V S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
etc

ovvero il valore della prima riga non cambia con i mesi,ma il valore restituito da ws(il giorno in cui inizia la settimana 1=domenica,2=lunedi)è giusto

sto impazzendo