Harjutusülesanded
1. Tudengid
Koosta klass Tudeng
, kus on kolm privaatset isendivälja
- nimi (
string
) - id (
string
) - sõnastik (
map<string, int>
) tudengi saavutatud punktide hoidmiseks ainetes, kus esimene parameeter on ainekood ja teine aines saadud punktide arv.
Programmis hoitakse üliõpilaste andmeid vektoris vector<Tudeng>
. Andmed loetakse failist. Failis on andmed järgmiselt:
Carl Cask A246 MTAT.01.001 56 MTAT.01.002 65 MTAT.01.003 83 MTAT.01.004 100 MTAT.01.005 45 Marii Ski B475 MTAT.01.001 65 MTAT.01.002 25 MTAT.01.003 98 MTAT.01.004 88 MTAT.01.005 95 Merle Maggi A238 MTAT.01.001 25 MTAT.01.002 34 MTAT.01.003 56 MTAT.01.004 32 MTAT.01.005 99 Miia Mall C150 MTAT.01.006 15 MTAT.01.007 86 MTAT.01.008 59 MTAT.01.009 36 MTAT.01.010 65
Igal real on andmed ühe üliõpilase kohta: nimi (eesnimi ja perenimi), id ja seejärel paaridena ainekood ja aines saadud punktisumma.
Koosta programm, mis võimaldab järgmisi operatsioone:
- lugeda andmed failist tudengite vektorisse
- lisada üliõpilast (andmed antakse ette samal kujul nagu failis)
- kustutada üliõpilast (ette üliõpilase id)
- muuta (lisada) üliõpilase tulemust (ette üliõpilase id, ainekood ja tulemus)
- kustutada üliõpilase tulemus (ette üliõpilase id ja ainekood)
- kuvada üliõpilase andmed mõistlikul kujul
- kuvada ainekoodid (ühekordselt), milles tudengitel on punkte
- kuvada punktide sagedustabel üle kõigi tudengite ja ainete
- kuvada üliõpilased kogu saadud punktisumma järgi kahanevalt
- kuvada üliõpilane, kellel on antud aines parim tulemus
- kuvada maksimaalse punktisummaga üliõpilane
- kuvada aine, kus üliõpilaste saadud punktisumma kokku on kõige väiksem
- kuvada aine, kus üliõpilaste saadud punktisumma kokku on kõige suurem