Órai feladat
1. Gyakorlat¶
A Naprendszerben létezik egy mesterséges égitest, amit eddig még soha senki nem észlelt, pedig igazán közel van hozzánk: a Hold soha nem látott túloldalán. Ezt az égitestet egy idegen civilizáció, az Axerwáliakok hozták létre, akiknek céljuk, hogy a Földet kifosszák. Nem is akármi kell nekik innen, hanem a drága, szeretett teheneink. Céljuk, hogy elrabolják az összes tehenünket. A civilizációról egy kulcs fontosságú tényt tudunk: az Axerwáliak tagjai, tehát az Axerwáliakok soha nem látott módon tisztelik és szolgálják a vezetőjüket, Olga királynőt, emellett roppantul babonásak. Az akció első lépéseként feltérképezik a Föld tehén állományát.
- Készítsünk egy Hello world! programot IDE nélkül!
- fordítsuk le terminálból (-Wall -Werror kapcsolókkal)!
- generáltassuk le CLion segítségével is (-Wall -Werror kapcsolókat állítsuk be kézzel)!
- Bővítsük a
main
függvényt! Olvassunk be egy egész számot, amely megadja, hogy összesen hány tehenet sikerült az idegeneknek azonosítani (N)! - A következő N sorból olvassuk be a tehenekhez tartozó adatokat! Soronként egy név és egy tömeg érték érkezik (pl. "Riska 125").
- a ciklusváltozó típusa legyen unsigned. Mit tapasztalunk? Hogyan javítsuk?
- Az űrlényeknek nem minden tehén felel meg. Sikertelen az elrablás, ha
- a tehén tömege kisebb, mint 50
- a tehén neve rövidebb, mint 3 karakter
- a tehén neve egyenlő azzal, hogy "Olga"
- A sikeresen elrabolt tehenek nevét szóközzel elválasztva konkatenáljuk össze egy sztringbe! (pl. "Mari Pali Riska")
- Számoljuk össze, hány sikertelen elrablás volt! Írassuk ki az esetek számát az alábbi formában: "Sikertelen rablások: 10"
- Az előző feladatot valósítsuk meg úgy is, hogy a kiírandó szöveget előbb egy sztringben hozzuk létre és utána íratjuk ki!
- Próbáljuk ki, mi történik, ha az így létrehozott sztringet odaadjuk az
std::stoi
(string to integer) függvénynek - Kezeljük le a hibát
try
catch
segítségével! (A kivételekről lesz később szó, egyelőre "csak" szokjuk őket a referencia használatának segítségével.) - Próbálkozzunk más inputokkal!
- "10 Sikertelen rablások:"
- "Sikertelen rablások:"
- "10"
- A
try
catch
blokk után írassuk ki a számként visszakapott értéket! - A kiíratás elé tegyünk be egy assertet, ami ellenőrzi, hogy a visszakapott érték egyezik-e a sikertelen rablások számával! Debugger segítségével lépjünk végig a programon!
Elakadtál, nem tudtad követni az órát?! Vagy csak átismételnéd? Egy lehetséges megoldását a feladatoknak megmutatjuk!
Órai feladat megoldása
Létrehozva: 2024-06-20