lucasl.b
18-12-2011, 23:34
Prima di iniziare a parlare del problema specifico,Mi presento sono nuovo sul forum faccio un saluto allo staf !
Recentemente avevo sviluppato una funzione che mi fungeva da calendario restituiendomi il giorno della settimana dandogli una data.. facendo un ciclo e dando + più di un giorno,sembra in modo molto strano restituirmi solo il primo giorno della settimana che gli viene passato (in pratica il primo valore che gli viene letto dal ciclo dal ciclo).
Posto il Listato in modo che tutti quanti potete capire #include "stdafx.h"
char datestr[9],cc;//vettore per registrare la data
int giorno,mese,year, month,anno,scelta ;
using namespace std;
void cerca(int day,int month,int year)// che giorno della settimana è in una determinata data
{
cout<<day;
time_t rawtime;
struct tm * timeinfo;
char * weekday[] = { "Sunday", "Monday",
"Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"};
time ( &rawtime );
timeinfo = localtime ( &rawtime );
timeinfo->tm_year = year - 1900;
timeinfo->tm_mon = month - 1;
timeinfo->tm_mday = day;
mktime ( timeinfo );
cout<<weekday[timeinfo->tm_wday];
}
void main()
{
time_t now;
struct tm ts;
char buf[80];
// Get current time
time(&now);
ts = *localtime(&now);
strftime(buf, sizeof(buf), "%d", &ts);
giorno=atoi(buf);
strftime(buf, sizeof(buf), "%m", &ts);
mese=atoi(buf);
strftime(buf, sizeof(buf), "%y", &ts);
anno=atoi(buf);
cerca(giorno,mese,anno);
for (giorno=giorno; giorno<31; giorno++)
{
cerca(giorno,mese,anno);
}
getch();
}
Se provate a compilarlo vi rendete conto che stamperà solo un giorno della settimana ripetuto 30 volte, anzi che stampare 30 giorni della settimana!
Ringrazio in anticipo per la collaborazione
Recentemente avevo sviluppato una funzione che mi fungeva da calendario restituiendomi il giorno della settimana dandogli una data.. facendo un ciclo e dando + più di un giorno,sembra in modo molto strano restituirmi solo il primo giorno della settimana che gli viene passato (in pratica il primo valore che gli viene letto dal ciclo dal ciclo).
Posto il Listato in modo che tutti quanti potete capire #include "stdafx.h"
char datestr[9],cc;//vettore per registrare la data
int giorno,mese,year, month,anno,scelta ;
using namespace std;
void cerca(int day,int month,int year)// che giorno della settimana è in una determinata data
{
cout<<day;
time_t rawtime;
struct tm * timeinfo;
char * weekday[] = { "Sunday", "Monday",
"Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"};
time ( &rawtime );
timeinfo = localtime ( &rawtime );
timeinfo->tm_year = year - 1900;
timeinfo->tm_mon = month - 1;
timeinfo->tm_mday = day;
mktime ( timeinfo );
cout<<weekday[timeinfo->tm_wday];
}
void main()
{
time_t now;
struct tm ts;
char buf[80];
// Get current time
time(&now);
ts = *localtime(&now);
strftime(buf, sizeof(buf), "%d", &ts);
giorno=atoi(buf);
strftime(buf, sizeof(buf), "%m", &ts);
mese=atoi(buf);
strftime(buf, sizeof(buf), "%y", &ts);
anno=atoi(buf);
cerca(giorno,mese,anno);
for (giorno=giorno; giorno<31; giorno++)
{
cerca(giorno,mese,anno);
}
getch();
}
Se provate a compilarlo vi rendete conto che stamperà solo un giorno della settimana ripetuto 30 volte, anzi che stampare 30 giorni della settimana!
Ringrazio in anticipo per la collaborazione