Newsgroup: it.comp.programmare
Titolo: Programma generare giorni dell'anno

Salve a tutti, mi sapete dire se si trova in rete
un prog , magari scritto in C per generare tutti i giorni
dell'anno partendo da un dato giorno , che possa creare
anche dei file.txt con la data ,1gennaio2006, magari creando
anche le cartelle dei  mesi .
Grazie a tutti
Ciao


Veramente mi sembra ti abbiano
gia' risposto su it.comp.lang.c
Dubito che tu possa trovare codice gia' pronto per un
problema cosi' specifico e cosi' banale.
Se lo trovi difficile allora forse e' meglio che
ti metti a studiare il C da capo.
Comunque ecco un esempio di codice:
void fun(int anno, int mese, int giorno)
{
    char ladata[60];
    char *Mesi[13]={"",
   "gennaio","febbraio","marzo","aprile","maggio","giugno",
   "luglio","agosto","settembre","ottobre","novembre","dicembre"};
    int Giorni[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    // controlla se l'anno e' bisestile
    // un anno e' bisestile se e' divisibile per 4,
    // esclusi i secoli che sono bisestili solo se divisibili per 400.
    if ((anno%4)==0 && (anno%100)!=0 || (anno%400)==0) Giorni[2]=29;
    // genero le varie stringhe nella variabile ladata
    while (mese<=12)
    {
      while (giorno<=Giorni[mese])
      {
        sprintf(ladata,"%02d%s%d.txt",giorno,Mesi[mese],anno);
        /* qui stampo la stringa contenuta in ladata che corrisponde a,
           ad esempio "16giugno2006". Tu invece di stamparla puoi farci
           quel che ti pare: memorizzarla, aprirci un file etc. */
        printf("%s\n",ladata);
        giorno++;
      }
      mese++; giorno=1;
    }
}
invocando la funzione con l'anno il mese e il giorno di partenza
generi tutte le stinghe fino a 31dicembreAAAA dove AAAA e' l'anno.
Poi con le stringhe ci farai quello che ci devi fare.
La gestione delle directory tipicamente dipende dal sistema
operativo e non dal linguaggio C. Quindi devi andare a leggerti
nel tuo sistema e nel tuo compilatore quali istruzioni hai a 
disposizione per manipolare le cartelle. Comunque
si riduce tutto ad aggiungere una o due righe di codice.
Puoi anche sfruttare la funzione system()  e dare direttamente
istruzioni del tipo system("mkdir gennaio"), dove "mkdir" dipendera'
dall'istruzione che si usa per costruire una cartella nel tuo s.o.
ciao,
g.


... ti ringrazio molto, le directory so come crearle,
cmq sei stato più chiaro dell'user che ha risposto su lang C.
Grazie
Ciao

In java sarebbe ancora più semplice.

[...]
In java sarebbe ancora più semplice.
mi sà di si! :-)
ma mi servein C.
Ciao

[...]
mi servirebbe un altro aiuto:dopo aver compilato
 il prog e aggiunto delle linee che aprono e chiudono il file
si blocca con una eccezione, mi sai dire il motivo?
while (mese<=12)
{
while (giorno<=Giorni[mese])
{
sprintf(ladata,"%02d%s%d%s.txt\n",giorno,Mesi[mese],anno,day[numgiorno]);
    printf("LADATA:%s\n",ladata);
    fp=fopen(ladata,"a");
    fprintf(fp,"%s\n",ladata);
    fclose(fp);
    giornianno+=1;printf("NUMERO GIORNO ANNO:%d\n",giornianno);
    /*if(numgiorno<6)numgiorno++;*/
    numgiorno++;
    if(numgiorno>7)numgiorno=1;
giorno++;
}
mese++; giorno=1;
}

    fprintf(fp,"%s\n",ladata);
Meglio:
	/* Nel caso che fopen fallisca... */
	if (NULL == (fp = fopen(ladata, "a")))
	{
		/* ...diciamo perche'. */
		fprintf(stderr, "Non sono riuscito ad aprire '%s': %s\n",
			ladata, strerror(errno));
		abort();
	}
	fprintf(fp, "%s\n", ladata);
Leonardo
-- 
Nach doiligh domhsa mo chailin a mholadh
'S ni he amhain mar bhi si or
Bhi si mar gath greine a dhul in eadan na gloinne
Is bhi sceimh mhna na finne le mo cailin or

[...]
ok, grazie 1000.
Ciao