ako mám ošetriť, že do dátoveho typu integer nebude môcť užívateľ zadať niečo iné(písmeno, reťazec, desatiné čislo...)?
ide mi o to aby sa program nezasekol keď si vypýta celé číslo a ja mu zadám písmeno ale aby ma na to upozornil a trval na tom že chce celé číslo
Fórum › Pascal
Ošetrenie dátoveho typu
Nech si ho zadat jako řetězec (string). Potom na něj pošli proceduru Val, která se ho pokusí převést na číslo. Pokud se jí to povede, vrátí ve třetím parametru nulu. Pokud vrátí něco jiného, vynadej uživateli a zadávání opakuj.
Pozn. č. 1: ten chybový kód znamená přímo na kolikátém znaku v tom řetězci došlo k chybě.
Pozn. č. 2: typ čísla si Val zjišťuje z typu proměnné, do které ho necháš uložit výsledek. Když to má být celé číslo, nahlásí u desetinné tečky chybu.
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Moje stránka.
To Mircosoft :
vidis... dobrej napad - proceduru val sem neznal...
jinak ja to mam ošetřený takhle:
//predpoklada se použití jednotky windows a crt
write ('Zadej číslo: ');
{$I-}
readln (cislo);
{$I+}
if ioresult<>0 then
begin
repeat
MessageBox (0, 'To neni platne cislo!' , 'Chyba v zadani', 0 + MB_ICONHAND + MB_SYSTEMMODAL);
gotoxy(wherex,wherey-1);
delline;
write ('Zadej číslo: ');
{$I-}
readln (cislo);
{$I+}
until ioresult=0;
end;
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, 10 hostů
Podobná vlákna
Změna datového typu — založil Nicolas
Dotaz ohledně datoveho typu char — založil DELL
Zápis struktury či datového typu binárně do souboru — založil oxidián
Kopírování čísel z pole do jiného datového typu — založil Cruppy
Návrat vlastního datového typu (dvourozměrné pole) funkcí — založil Sunmay
Moderátoři diskuze