Gyakorló: Struktúrák tervezése
Ezen az oldalon struktúra tervezéssel kapcsolatos feladatokat találsz! Az oldal alján megtalálod lehetséges megoldásait is ezeknek a feladatoknak, de természetesen nem csak egy lehetséges jó megoldás van egy-egy adat tárolására, így ha a te megoldásod a mintától eltér, attól még lehet jó megoldás!
1. Feladat: Készíts egy struktúrát, amiben egy iskolai osztályzatot tudunk tárolni. Az osztályzat az alábbi publikus tulajdonságokkal rendelkezik:
- Jegy: egész szám (1-5)
- Megjegyzés: szöveg
- Súly: hányszorosan számít a jegy az átlagba (0,5 vagy 1 vagy 2)
- Tantárgy: szöveg
2. Feladat: Készíts egy struktúrát, amiben tárolhatjuk egy személy nevét, születési évét, személyigazolvány számát, email címét, és telefonszámát! Minden tulajdonság legyen publikus.
3. Feladat: Készíts egy struktúrát, amiben egy autó adatait tárolhatjuk! Tárolni szeretnénk publikus változókban az autó márkáját, típusát, tömegét, színét, és a megengedett legnagyobb tömegét. Figyelj rá, hogy a tömegeket tonnában szeretnénk tárolni, így tört szám is lehet!
3b. Feladat: Egészítsd ki a struktúrát egy konstruktorral, aminek 4 paramétere van: márka, típus, szín, tömeg. A konstruktor a megengedett legnagyobb össztömeget minden esetben állítsa be 3,5 tonnára!
3c. Feladat: Hozz létre egy példányt a struktúrából, és töltsd ki tetszőleges adatokkal, használva az előbb létrehozott konstruktort.
4. Feladat: Hozz létre egy struktúrát, amiben pontokat tudunk tárolni egy derékszögű koordinátarendszerben. A struktúra egy X és egy Y koordinátát tudjon tárolni, ami tört szám is lehet, valamint hozzá egy feliratot, ami tetszőleges szöveg (mindhárom publikus).
4b. Feladat: Hozz létre 3 példányt ebből a struktúrából, és tárold le bennük az alábbi pontokat: A(2;4) B(3;3) C(0;0)
4c. Feladat: Egészítsd ki az osztályt egy konstruktorral, amelynek 1 db szöveges paramétere van, és ha ebbe a paraméterben kap egy P(1;2) formátumú szöveget, akkor az alapján kitölti a koordinátákat és a feliratot.
Megoldások
1. Feladat
struct osztalyzat
{
public int jegy;
public string megjegyzes;
public double suly;
public string tantargy;
}
2. Feladat
struct szemely
{
public string nev;
public int szuletett;
public string szemelyig;
public string email;
public string telefon;
}
3. Feladat:
struct auto
{
public string marka;
public string tipus;
public double tomeg;
public string color;
public double maxTomeg;
}
3b. Feladat:
struct auto
{
public string marka;
public string tipus;
public double tomeg;
public string color;
public double maxTomeg;
public auto(string Marka, string Tipus, double Tomeg, string Color)
{
this.marka=Marka;
this.tipus=Tipus;
this.tomeg=Tomeg;
this.color=Color;
this.maxTomeg=3.5;
}
}
3c. Feladat:
auto minta = new auto("Ford","DEMOCar",1.2,"tűrvörös");
4. Feladat:
struct pont
{
public double x;
public double y;
public string felirat;
}
4b. Feladat:
pont a;
a.x=2;
a.y=4;
a.felirat="A";
pont b;
b.x=3;
b.y=3;
b.felirat="B";
pont c;
c.x=0;
c.y=0;
c.felirat="C";
4c. Feladat:
struct pont
{
public double x;
public double y;
public string felirat;
public pont(string szoveg)
{
this.felirat = szoveg.Split('(')[0];
this.x = Convert.ToInt32(szoveg.Split('(')[1].Split(';')[0]);
this.y = Convert.ToInt32(szoveg.Split(';')[1].Split(')')[0]);
}
}