Zdravím, jsem začátečník a měl bych dotaz ohledně oddělovače zadání je zadat nějaký čas ve tvaru př: 1:42, pokud by ovšem bylo místo dvojtečky něco jiného vypsalo by to chybu...výstup by měl vypadat asi nějak takto.čas:
Zadejte čas:
10:02
Toto je 602 minut.
Zadejte čas:
10.02
Chyba.
Fórum › C / C++
Oddělovač
if(scanf("%u:%2u", &d, &h) != 2 || h >= 60 || d<0 || h<0 )puts("chyba!");
else printf("%ud %uh = %u h\n", d, h, d*60+h);
Tak přesně takhle jsem to tam přidal tu podmínku a když zadám -12:23 tak to hodí nějaké nesmyslné číslo. Nemůže to být tím že je to v unsigned int?
závorky nepoužíváš?
if(scanf("%u:%2u", &d, &h) != 2 || (h >= 60) || (d<0) || (h<0) )puts("chyba!");
else printf("%ud %uh = %u h\n", d, h, d*60+h);
hu
použití signed int je také na místě když předpokládáš vstup signed (i záporných) čísel.
hu
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 38 hostů
Podobná vlákna
Načtení stringu s oddělovači — založil Mach
Moderátoři diskuze