Pascal program, hol a hiba?
program feladat;
uses crt;
var x: byte;
procedure elso;
var szoveg: string; z: byte; s:integer;
begin
s:=0;
writeln ('Kérem a szöveget!');
read (szoveg);
for z:=1 to length(szoveg) do begin
if szoveg[z]='a' then s:=s+1 else
if szoveg[z]='á' then s:=s+1 else
if szoveg[z]='e' then s:=s+1 else
if szoveg[z]='é' then s:=s+1 else
if szoveg[z]='i' then s:=s+1 else
if szoveg[z]='í' then s:=s+1 else
if szoveg[z]='u' then s:=s+1 else
if szoveg[z]='ú' then s:=s+1 else
if szoveg[z]='o' then s:=s+1 else
if szoveg[z]='ó' then s:=s+1 else
if szoveg[z]='ü' then s:=s+1 else
if szoveg[z]='ű' then s:=s+1 else
if szoveg[z]='ö' then s:=s+1 else
if szoveg[z]='ő' then s:=s+1;
end;
writeln ('Szövegben ',s,' db magánhangzó van!');
readln;
end;
begin
clrscr;
write ('kérem a számot');
read (x);
case x of
1: elso;
end;
Nos ez egy feladatnak egy része. Ez a programrész (procedure-n belül) a felhasználó által megadott szövegben megszámolná a magánhangzókat. Csak az a gond, h nem működik. Kiírja h "kérem a szöveget" és rögtön utána h "a szövegben 0 db magánhangzó van". még a szöveget sem tudom megadni. de ha procedure nélkül futtatom, akk minden tökéletes.
hol a hiba?
readln;
end.
Szia.
A bekéréseket ird át readln-kre és akkor már jó lessz.
write ('kérem a számot');
read (x); helyett readln (x);
és
writeln ('Kérem a szöveget!');
read (szoveg); helyett readln (szoveg);
Mive read-nál ha beadod a számot megnyomod az ENTER-t
elvileg azt a másik Read érzékeli, úgy mintha nem adtál volna be semmit.
Sok Sikert.
Üdv.
iiiistenem.D:
nagyon szépen köszönöm!
egy órája ezzel szenvedek. azt hittem valami komolyabb hiba...
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!