Ciao a tutti ho provato a fare questo esercizio:
"Scrivi un programma di modo che l'utente inserisca un orario nel formato 12 ore e lo trasformi nel formato 24 ore. L'input deve avere la forma ore:minuti seguito da AM/PM"
Io l'ho fatto in questo modo:
Il problema è che mi stampa dei numeri strani in "ore2"... Cosa ho sbagliato?codice:#include <stdio.h> int main(void) { int ore, minuti, ore2; char gg[1]; printf("Inserisci un orario nel formato 12 ore: "); scanf("%d:%d %s", &ore, &minuti, gg); if (gg[0]=='A') { ore2 = ore; } else if (gg[0]=='P') { switch (ore) { case 1: ore2 = 13; break; case 2: ore2 = 14; break; case 3: ore2 = 15; break; case 4: ore2 = 16; break; case 5: ore2 = 17; break; case 6: ore2 = 18; break; case 7: ore2 = 19; break; case 8: ore2 = 20; break; case 9: ore2 = 21; break; case 10: ore2 = 22; break; case 11: ore2 = 23; break; case 12: ore2 = 00; break; } } printf("%d:%d %s", ore2, minuti, gg); return 0; }![]()

Rispondi quotando


