Kihagyás

Ó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.

motto

  1. 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)!
  2. 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)!
  3. 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?
  4. 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"
  5. A sikeresen elrabolt tehenek nevét szóközzel elválasztva konkatenáljuk össze egy sztringbe! (pl. "Mari Pali Riska")
  6. 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"
  7. 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!
  8. Próbáljuk ki, mi történik, ha az így létrehozott sztringet odaadjuk az std::stoi (string to integer) függvénynek
  9. 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.)
  10. Próbálkozzunk más inputokkal!
    • "10 Sikertelen rablások:"
    • "Sikertelen rablások:"
    • "10"
  11. A try catch blokk után írassuk ki a számként visszakapott értéket!
  12. 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

megoldas.cpp



Utolsó frissítés: 2024-09-20
Létrehozva: 2024-06-20