Aiuto programma

jacjac1991
Devo creare un programma che mi permetta di capire la settimana dell'anno in base al numero del giorno che inserisco (non che compreso tra $1<=x<=366$ visto che quest'anno è bisestile) Programma in C
Come posso fare????

Risposte
vict85
"jacjac1991":
Devo creare un programma che mi permetta di capire la settimana dell'anno in base al numero del giorno che inserisco (non che compreso tra $1<=x<=366$ visto che quest'anno è bisestile) Programma in C
Come posso fare????


Ma come è scritto il giorno?
Ti basta mandare da giorno a numero del giorno ($1<=x<=366$) e poi dividere per 7 (arrotondando per eccesso).

jacjac1991
no, forse mi sono espresso male io, io intendevo dire che nel programma appena digiti il gg ke deve essere compreso tra $1$ e$366$ deve comparire la settimana di appartenenza
esempio digito $32$ deve saltare fuori 4a settimana dell'anno 2008

vict85
"jacjac1991":
no, forse mi sono espresso male io, io intendevo dire che nel programma appena digiti il gg ke deve essere compreso tra $1$ e$366$ deve comparire la settimana di appartenenza
esempio digito $32$ deve saltare fuori 4a settimana dell'anno 2008


#include <math.h>

#define G-INIZ 1      /* giorno della settimana di inizio dell'anno in numero sottratto di uno */

[...]

int settimana, giorno;

[...]

settimana = (int) ceil((double) (giorno + G-INIZ)/7);


Comunque il giorno 32 è la 5 settimana. Se non ci credi guarda il calendario.

jacjac1991
"vict85":
[quote="jacjac1991"]no, forse mi sono espresso male io, io intendevo dire che nel programma appena digiti il gg ke deve essere compreso tra $1$ e$366$ deve comparire la settimana di appartenenza
esempio digito $32$ deve saltare fuori 4a settimana dell'anno 2008


#include <math.h>

#define G-INIZ 1      /* giorno della settimana di inizio dell'anno in numero sottratto di uno */

[...]

int settimana, giorno;

[...]

settimana = (int) ceil((double) (giorno + G-INIZ)/7);


Comunque il giorno 32 è la 5 settimana. Se non ci credi guarda il calendario.[/quote]
ci credo ci credo avevo soltanto fatto un'esempio :o

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.