Opcode
08-02-2011, 16:15
*premessa* non chiedo come risolvere il problema, ma vorrei un aiuto a capire la seguente traccia
8. Dato un numero intero tra 1 e 12, che rappresenta il mese corrente, stam-
pare il nome del mese per esteso ("Gennaio" ... "Dicembre") attraverso
una serie di if annidati.
9. Svolgere l'esercizio precedente utlizzando l'istruzione if else - if
10. Svolgere l'esercizio precedente utilizzando l'istruzione switch
La traccia #8 non mi è molto chiara... io userei il sistema if else - if descritto nel #9 per fare quanto richiesto con un if, o in assoluto uno switch come richiesto nel #10.
Ma qui si richiede in breve di controllare quale è il valore di x (numero in input) tramite una serie di if nidificati... come dovrei fare?
Io ho pensato ad una serie di if-else nidificati, tipo:
[...]
if (x != 12) {
if (x != 11) {
[...]
if (x != 1) {
fprintf(stderr, "Error: invalid month number.\n");
}
else {
printf("January\n");
}
}
else {
printf("November\n");
}
}
else {
printf("December\n");
}
Secondo voi questa soluzione risolve la traccia? non faccio uso nè di switch ne di else-if, altri modi di nidificare gli if per fare questa esclusione non me ne vengono... Ovviamente questa soluzione non mi serve (per chi non l'avesse capito) per sviluppare qualche applicazione, ma è una traccia di compiti passati all'uni, e visto che è un po' strana, ma immagino sia fatta proprio per mettere alla prova gli studenti, preferisco non farci la figura del pollo non avendo capito quello che viene chiesto. Per come l'ho capita io cosi dovrebbe essere giusto, mi sbaglio forse?
Grazie, e scusate per la domanda un po' nabba ma preferisco chiedere un parere amico.
8. Dato un numero intero tra 1 e 12, che rappresenta il mese corrente, stam-
pare il nome del mese per esteso ("Gennaio" ... "Dicembre") attraverso
una serie di if annidati.
9. Svolgere l'esercizio precedente utlizzando l'istruzione if else - if
10. Svolgere l'esercizio precedente utilizzando l'istruzione switch
La traccia #8 non mi è molto chiara... io userei il sistema if else - if descritto nel #9 per fare quanto richiesto con un if, o in assoluto uno switch come richiesto nel #10.
Ma qui si richiede in breve di controllare quale è il valore di x (numero in input) tramite una serie di if nidificati... come dovrei fare?
Io ho pensato ad una serie di if-else nidificati, tipo:
[...]
if (x != 12) {
if (x != 11) {
[...]
if (x != 1) {
fprintf(stderr, "Error: invalid month number.\n");
}
else {
printf("January\n");
}
}
else {
printf("November\n");
}
}
else {
printf("December\n");
}
Secondo voi questa soluzione risolve la traccia? non faccio uso nè di switch ne di else-if, altri modi di nidificare gli if per fare questa esclusione non me ne vengono... Ovviamente questa soluzione non mi serve (per chi non l'avesse capito) per sviluppare qualche applicazione, ma è una traccia di compiti passati all'uni, e visto che è un po' strana, ma immagino sia fatta proprio per mettere alla prova gli studenti, preferisco non farci la figura del pollo non avendo capito quello che viene chiesto. Per come l'ho capita io cosi dovrebbe essere giusto, mi sbaglio forse?
Grazie, e scusate per la domanda un po' nabba ma preferisco chiedere un parere amico.