Kezdőoldal » Számítástechnika » Programozás » Programozás házi. Számbekérés,...

Programozás házi. Számbekérés, case változó. Hogyan kell?

Figyelt kérdés

Sziasztok.

Tudnátok segíteni?

A feladat így szól:

Írjuk ki, hogy 'Hányadik hónapja van az évnek jelenleg?'

számbekérés 1-12ig.

Ha

1..4 akkor Ki:'Elso negyed'

5..8 akkor Ki:'Második negyed'

9..12 akkor Ki:'Harmadik negyed'

különben

Ki: 'Hibás adat'


Lazarusban dolgozunk. Pascal nyelven.

A választ hálásan köszönöm.



2015. szept. 14. 18:13
1 2 3
 11/27 A kérdező kommentje:

Szóval a program elején a változókhoz mit kell megadni?

És a case-t hogyan kell deklarálni?

2015. szept. 14. 19:21
 12/27 SimkoL ***** válasza:

Nem tudom miért törölték az előbbi hozzászólásomat a hozzáértő moderátorok amikor csak 5 sor kód volt benne :(


A case-t nem magyarázom annyira, olyan mint sok egymásba ágyazott if - nem kell deklarálni.


var szam: Integer;

begin

WriteLn('Hanyadik honap van jelenleg?');

Write('Irj be egy szamot: ');

ReadLn(szam);

case szam of

1..3: WriteLn('Elso negyed');

4..6: WriteLn('Masodik negyed');

7..9: WriteLn('Harmadik negyed');

10..12: WriteLn('Negyedik negyed');

else

WriteLn('Erre nem tudok mit lepni.');

end; //case

ReadLn;

end.

2015. szept. 14. 19:25
Hasznos számodra ez a válasz?
 13/27 A kérdező kommentje:
Neked utolsó válaszíró ment egy óriási virtuális ölelés. Igazából a case változóval volt problémám.
2015. szept. 14. 19:29
 14/27 SimkoL ***** válasza:
Remélem lány vagy, mert én régimódi vagyok :)
2015. szept. 14. 19:30
Hasznos számodra ez a válasz?
 15/27 A kérdező kommentje:

Igen,lány vagyok:).

Őszintén az osztályban egyedül vagyok lány, a fiúk pedig nem túl segítőkészek.

2015. szept. 14. 19:32
 16/27 SimkoL ***** válasza:
Figyelmedbe ajánlanám még az alábbi szösszenetemet, mert egy programhoz a 'külcsin' is hozzátartozik nem csak a 'belbecs': [link]
2015. szept. 14. 19:34
Hasznos számodra ez a válasz?
 17/27 tabaki ***** válasza:

1. Nyilván számot. Mivel kicsi, pozitív egész számról van szó, elég a byte.

var c, byte;


2. Mifenének kéne a CASE-et deklarálni? Ugyanolyan nyelvi elem, mint mondjuk az IF. Remélem, nem akarod a program minden szavát külön deklarálni, mert úgy kissé nehezen érsz a végére. Különösen a deklarációs résznek...


Mellesleg: Alkalmas adatok esetén vizsgálhatnál CHAR változóra is, így:

'1'..'4' : WriteLn('akármi');

...de itt kétkarakteres számok is lehetnek, tehát a CHAR alkalmatlan. Amúgy meg nem javaslom, amíg a 8 és a '8' közötti különbség nem világos a számodra. Utána majd igen, sőt, a hibák kiküszöbölésének fontos eszköze a szöveges adatbevitel. Csak nem ész nélkül.


Egyébként elég furcsán negyedeled az évet -- tudom, hogy magánügy, csak megemlítem. A program ettől még működhetne, csak hülyeségeket írna ki.

2015. szept. 14. 19:39
Hasznos számodra ez a válasz?
 18/27 tabaki ***** válasza:
Hoppá, egy réges-régire válaszoltam. SimkoL, te meg megéred a pénzedet, ennyit azért Zorah is kiszenvedhetett volna magából.
2015. szept. 14. 19:41
Hasznos számodra ez a válasz?
 19/27 SimkoL ***** válasza:

Egy kis 'okoskodás' :)


var szam: char;

begin

WriteLn('Hanyadik honap van jelenleg?');

Write('Irj be egy szamot, de hogy lássuk mennyit értesz az informatikához' + #10#13 + 'hexadecimálisan kérem: ');

ReadLn(szam);

case UpCase(szam) of

'1'..'3': WriteLn('Elso negyed');

'4'..'6': WriteLn('Masodik negyed');

'7'..'9': WriteLn('Harmadik negyed');

'A'..'C': WriteLn('Negyedik negyed');

else

WriteLn('Erre nem tudok mit lepni.');

end; //case

ReadLn;

end.

2015. szept. 14. 19:52
Hasznos számodra ez a válasz?
 20/27 A kérdező kommentje:
Mindnyájatoknak nagyon köszönöm :)
2015. szept. 14. 20:25
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!