Esercitazioni del
corso
di Laboratorio di Calcolo (I)
n. 4
uso delle istruzioni di selezione
Attenzione:
il programma di questa esercitazione verra' corretto dal docente
- create un sottodirettorio ex4
(usando il comando mkdir)
- spostatevi in ex4 (usando il
comando cd). Solo i files
contenuti in /home/did.../ex4 verranno presi in considerazione!
- usate emacs per creare il
codice del programma richiesto (esempio: emacs myprog.c &): ricordatevi
che ogni programma dovra'
- iniziare
con una riga di commento in cui indicherete i nomi dei componenti del
gruppo presenti all'esercitazione
- includere il file iostream per consentirvi di usare gli
oggetti di input/output cin e cout (oppure stdio.h per le funzioni scanf e printf)
- contenere la funzione main( ){ ... } all'interno della
quale dovrete scrivere il codice richiesto
- le dichiarazioni delle variabili
devono essere poste all'inizio di main
- tutte le istruzioni devono
terminare con ;
- compilate (g++ myprog.c), eseguite (./a.out) e cercate di comprendere i
risultati ottenuti
- programma: scrivete un
programma in C che, sapendo
che il primo gennaio 2010 era un venerdi', effettui
il calcolo del giorno della
settimana corrispondente ad una certa data del 2010
Si suggerisce di dichiarare le seguenti
variabili intere (i nomi
ovviamente li potete cambiare) e di stabilire una convenzione per il
loro intervallo di variabilita' (ad esempio quella indicata nei
commenti).
int g_mese; /*
giorno del mese da 1 a 31 */
int mese; /* mese, da 1 a 12
*/
int g_sett; /* giorno della settimana, da
1 a 7 */
int sett; /* settimana
dell'anno, da 1 a 53 */
int g_sett0=5; /* il primo gennaio 2010 e' un venerdi' */
int ngiorni; /* variabile intera per il calcolo
del numero di giorni */
Traccia:
l'utente inserisce una data: g_mese e mese
il vostro algoritmo dovra' controllare che sia valida
(il programma dovra' essere protetto contro l'inserimento di valori assurdi!)
dovra' quindi calcolarsi il numero di giorni trascorsi dall'inizio dell'anno
(ngiorni)
ngiorni%7 vi fornira' il resto della divisione per 7, valore legato al giorno della settimana, g_sett, a meno di uno spostamento (g_sett0)
il programma dovra' stampare una stringa diversa a seconda del valore di g_sett (LUN,MAR,MER...)