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:
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;
}
Il problema è che mi stampa dei numeri strani in "ore2"... Cosa ho sbagliato?