A pascal programozási nyelvben hogyan lehet ezt megcsinálni?
Pl.
program proba;
uses crt;
var c:char;
begin
c:=readkey;
if c='y' then
writeln('igaz');
else
writeln('hamis');
end.
Fejből írtam, és már régen programoztam pascalban, úgyhogy nem garantálhatom, hogy hibátlan (y igazat ír ki, minden másra hamisat, ha azt szeretnéd, hogy csak n-re legyen a hamis ág, akkor else if, vagy case)
function igazvnem(uzenet:string):boolean;
var c:char;
begin
write(uzenet);
c:=#0;
repeat
c := readkey;
until upcase(c) in ["Y","N"];
writeln;
igazvnem := upcase(c) = "Y";
end;
Szóval: Ez egy függvény, a programodban a var rész után kell berakni, magában nem működik.
A programban így hivod meg: if igazvnem('Igen vagy nem?') then ...
function igazvnem(uzenet:string):boolean; - a fuggveny ertelmezese, majd megtanulod :P
var c:char; -lokalis valtozo
begin
write(uzenet); - kiirjuk az uzenetet, amire a felhasznalo valaszol
c:=#0; - kezdeti erteket adunk a c-nek (itt nem feltetlenul muszaj de a fugvenyeknel es eljarasoknal altalaban kell
repeat
c := readkey; - beolvasunk egy betut
until upcase(c) in ["Y","N"]; -ezt ismeteljuk addig, amig y vagy n betut olvastunk be, mivel lehetseges, hogy a felhasznalo ferre nyom es a ferrenyomast elhanyagoljuk. Az upcase fuggveny nagybatuve alakitja a beolvasott karaktert, igy a program el fogja fogadni az y,n es az Y,N karaktereket is (ha pl. be van kapcsolva a caps lock)
writeln; - kiirunk egy ujsort, hogy szebben nezzen ki a dolog.
igazvnem := upcase(c) = "Y"; - a fuggveny visszateritesi erteke. Akkor igaz, ha a c = Y. Lehettt volna if-fel is csinalni, de igy is ugyanaz az eredmeny. * ha a c=y, akkor a kovetkezo allitas: c="Y" egyenerteku ezzel: "y"="y" vagyis igaz. De ha a c nem Y, hanem N, akkor: c="y" egyenerteku ezzel: "n"="y" ami hamis.
end;
Jaj igen a " helyett termeszetesen ' kell :D
Remélem mostmár érted.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!