Kezdőoldal » Számítástechnika » Programozás » Ée lehetne ezt valahogy...

Ée lehetne ezt valahogy rövidíteni? (Pascal)

Figyelt kérdés

while (n<>'0') do begin

write('nev+evszam a kivant osszeg megtekintesehez, pl marti2015: '); readln(n);

if (n='marti2011') then writeln('marti2011: ',marti[1]);

if (n='marti2012') then writeln('marti2012: ',marti[2]);

if (n='marti2013') then writeln('marti2013: ',marti[3]);

if (n='marti2014') then writeln('marti2014: ',marti[4]);

if (n='marti2015') then writeln('marti2015: ',marti[5]);

if (n='gabor2011') then writeln('gabor2011: ',gabor[1]);

if (n='gabor2012') then writeln('gabor2012: ',gabor[2]);

if (n='gabor2013') then writeln('gabor2013: ',gabor[3]);

if (n='gabor2014') then writeln('gabor2014: ',gabor[4]);

if (n='gabor2015') then writeln('gabor2015: ',gabor[5]);

writeln;

end;

if n='0' then write('nyomjon ENTER-t a kilepeshez');

readln;



2015. febr. 18. 17:31
1 2
 1/14 anonim ***** válasza:
a '' közöttiket beleteszed egy tömbbe és aztán onnan "nézed" őket(majd pontosabban leírják neked azok akik pascalban programoznak/programoztak)
2015. febr. 18. 17:34
Hasznos számodra ez a válasz?
 2/14 anonim ***** válasza:

Kezdetnek az if-erdő helyett használj case-t:

[link]

2015. febr. 18. 17:35
Hasznos számodra ez a válasz?
 3/14 A kérdező kommentje:
Igen, azt hiszem megcsapott az ihlet. :D
2015. febr. 18. 17:38
 4/14 anonim ***** válasza:

#2: case-nél tudtommal nem lehet nem sorszámozható típust használni, és itt erről van szó.

....

2015. febr. 18. 17:40
Hasznos számodra ez a válasz?
 5/14 anonim ***** válasza:
A linkelt oldalon 'y' és 'n' stringekre is mutatja a sokadik példában. Mindazonáltal tévedhetek is, 1000 éve nem nyúltam Pascalhoz.
2015. febr. 18. 17:43
Hasznos számodra ez a válasz?
 6/14 ejbenjaro ***** válasza:
Persze, hogy lehet rövidíteni. Mindössze annyi a teendő, hogy normális módon tárolod az adatokat.
2015. febr. 18. 19:07
Hasznos számodra ez a válasz?
 7/14 tabaki ***** válasza:

if n='0' then write('nyomjon ENTER-t a kilepeshez');

readln;


Ez tetszik, akkor jutsz ide, ha n='0', de azért biztos ami biztos, ellenőrzöd. De ha valami csuda folytán mégse az, akkor sincs baj: Pukk, kilép, csak nem kér Entert.


***


Hibakezelés nuku, de neked is maradjon feladat:


while n<>'0' do begin

write('nev+evszam a kivant osszeg megtekintesehez, pl marti2015: ');

ReadLn(n); i := ord(n[9])-48;

case upcase(n[1]) of

'M': Writeln('Marti ', 2010+i, ': ', marti[i]);

'G': Writeln('Gabor ', 2010+i, ': ', gabor[i]);

'0': WriteLn('Vége!');

else WriteLn('Nem értem!');

end;

end;

Write('nyomjon ENTER-t a kilepeshez'); ReadLn;

2015. febr. 18. 20:00
Hasznos számodra ez a válasz?
 8/14 tabaki ***** válasza:
Bocs, linuxban írtam, aztán nem gyomláltam ki minden ékezetet.
2015. febr. 18. 20:04
Hasznos számodra ez a válasz?
 9/14 SimkoL ***** válasza:
Tetszik :)
2015. febr. 18. 21:23
Hasznos számodra ez a válasz?
 10/14 tabaki ***** válasza:
Phü. Már attól tartottam, fennakadsz azon, hogy egy kissé szigorúan veszi az adatbevitelt... De megvan ám valamivel lezserebb formában is, csak így jobban ült a poén. Így utólag már bánom is, hogy a kisbetű-nagybetű meg az értelmetlen válasz kezelését beleraktam, nincs meg a stílusegység. :)
2015. febr. 18. 21:46
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!