Prosím prosím kde mam chybu?? Program by měl vyžadovat správné hodnoty a dokud nejsou, tak nepustit dál.
Var odebirani:byte;
begin
repeat
WriteLn ('Kolik se smi maximalne odebrat?');
WriteLn ('2 3 4');
ReadLn (odebirani);
until odebirani = 2 or 3 or 4;
end.
Nejspíš bude chybka u toho until, ale nemůžu to odstranit
Případně prosím ještě napsat, jak by to vypadalo s if. Díky
Fórum › Pascal
Repeat
:smile18: :smile18: :smile18:
Jestli se dá o nějaké chybě říct, že je sexy, tak je to ta tvoje.
until odebirani = 2 or 3 or 4;
Nezapomeň že slovo "OR" je především operátor, podobně jako "+", "-" nebo "*".
Takže 2 or 3 or 4 = 7
Podmínku můžeš opravit dvěma způsoby: buďto
until (odebirani=2) or (odebirani=3) or (odebirani=4)
nebo
until odebirani in[2,3,4];
A nevěděl by si prosím ještě jak by to bylo pro tenhle případ?? Někdo chytrej chce do tohohle výběru napsat písmeno/slovo. Jak na to aby to nepadlo?? Ještě sem zjistil, že to padá i když přesáhnu byte, ale dávat tam kvůli tomu typ real, přijde jako blbost i mě :D
Otázky opravdu nic moc, ale mám pascal spíš jako samouctví a z knížek mi to nejde vyčíst.
No já bych to asi řešil tak, že bych si to načetl do stringu a zkontroloval jen jestli je roven '2', '3' nebo '4' . pokud jiné možnosti nejsou.
To kmontyjack : Taky doporučuji kouknout do helpu na proceduru Val (slouží k převodu řetězce na číslo).
Moje stránka.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Background-repeat — založil zelenac1
Background-repeat opačně — založil Rasnar
Pozadí pro web s repeat y — založil Michael K.
Moderátoři diskuze