e_ale92
Utente Èlite
- Messaggi
- 17,014
- Reazioni
- 5,013
- Punteggio
- 228
salve ragazzi,
oggi in laboratorio dovevo realizzare un programma in C che inserita una data del tipo
giorno: 16
mese: 11
anno: 2011
verificasse che la data è corretta.
in pratica, se inserisco 42/14/2011 dice che la data è sbagliata e ripete il ciclo di inserimento.
io ho sviluppato l'algoritmo e il diagramma di flusso, però causa pullman (:evil:) ho lasciato l'aula prima di scrivere il codice e ora ho un problemino...
ah! dimenticavo... va fatto come Chiamata a funzione e quindi la verifica va fatta in un sottoprogramma.
il problema è che io non ho capito bene come scrivere le funzioni da richiamare, e dato che questa è il primo programma che faccio con questo procedimento ho difficoltà.
io ho fatto così:
int verifica_data = funzione di verifica da richiamare e che restituisce un valore intero
int g,m,a = variabili per giorno, mese, anno
valido = variabile per stabilire se il giorno è presente nel mese (0 = non presente; 1 = presente)
e ho strutturato così il programma:
nel sottoprogramma, scritto sotto il main ho messo
ora sperando che abbiate capito tutto (altrimenti consigli per spiegare che cosa ho fatto??), vi chiedo...
come scrivo una funzione? o meglio, come faccio a capire come scriverla per questo o per quel programma??
oggi in laboratorio dovevo realizzare un programma in C che inserita una data del tipo
giorno: 16
mese: 11
anno: 2011
verificasse che la data è corretta.
in pratica, se inserisco 42/14/2011 dice che la data è sbagliata e ripete il ciclo di inserimento.
io ho sviluppato l'algoritmo e il diagramma di flusso, però causa pullman (:evil:) ho lasciato l'aula prima di scrivere il codice e ora ho un problemino...
ah! dimenticavo... va fatto come Chiamata a funzione e quindi la verifica va fatta in un sottoprogramma.
il problema è che io non ho capito bene come scrivere le funzioni da richiamare, e dato che questa è il primo programma che faccio con questo procedimento ho difficoltà.
io ho fatto così:
int verifica_data = funzione di verifica da richiamare e che restituisce un valore intero
int g,m,a = variabili per giorno, mese, anno
valido = variabile per stabilire se il giorno è presente nel mese (0 = non presente; 1 = presente)
e ho strutturato così il programma:
Codice:
int verifica_data( [COLOR="#FF0000"][I]punto poco chiaro... insomma, che metto?[/I][/COLOR] );
main() {
int g,m,a, presente;
leggi g,m,a;
presente = verifica_data;
while (presente == 0)
{
printf la data è sbagliata // ripete il ciclo e il controllo
leggi g,m,a;
}
printf la data è corretta
}
nel sottoprogramma, scritto sotto il main ho messo
Codice:
int verifica_data( [COLOR="#FF0000"][I]richiamo quella di sopra[/I][/COLOR] )
{
int g,m,a,valido;
if (il mese inserito è compreso tra 1 e 12)
{
switch(m)
{
...
... // serie di 12 case in cui verifico con un if se il giorno inserito è compreso tra 1 e l'ultimo giorno di quel mese... 31 per gennaio (case 1=, 28 per febbraio (case 2) ecc.
... se è compreso, valido = 1;
altrimenti valido = 0;
}
return valido; // per ritornare al main
}
p.s. vabbè lasciate perdere le parentesi per ora
ora sperando che abbiate capito tutto (altrimenti consigli per spiegare che cosa ho fatto??), vi chiedo...
come scrivo una funzione? o meglio, come faccio a capire come scriverla per questo o per quel programma??