Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Lab02
- {
- class Osoba
- {
- protected string imie;
- protected string nazwisko;
- protected string dataUrodzenia;
- public Osoba()
- {
- imie = "nieznane";
- nazwisko = "nieznane";
- dataUrodzenia = "nieznana";
- }
- public Osoba(string imie_, string nazwisko_, string dataUrodzenia_)
- {
- imie = imie_;
- nazwisko = nazwisko_;
- dataUrodzenia = dataUrodzenia_;
- }
- public virtual void WypiszInfo()
- {
- Console.WriteLine("Osoba: " + imie + " " + nazwisko + " " + dataUrodzenia);
- }
- public string Imie
- {
- get
- {
- return imie;
- }
- set
- {
- imie = value;
- }
- }
- public string Nazwisko
- {
- get
- {
- return nazwisko;
- }
- set
- {
- nazwisko = value;
- }
- }
- public string DataUrodzenia
- {
- get
- {
- return dataUrodzenia;
- }
- set
- {
- dataUrodzenia = value;
- }
- }
- }
- class Student : Osoba {
- private int rok;
- private int grupa;
- private int nrIndeksu;
- private List<Ocena> oceny = new List<Ocena>(); // tworzymy liste ocen domyslnym konstruktorem objektu List
- public Student()
- {
- rok = 0;
- grupa = 0;
- nrIndeksu = 0;
- }
- public Student(string imie_, string nazwisko_, string dataUrodzenia_, int rok_, int grupa_, int nrIndeksu_) : base(imie_, nazwisko_, dataUrodzenia_)
- {
- rok = rok_;
- grupa = grupa_;
- nrIndeksu = nrIndeksu_;
- }
- public void DodajOcene(string nazwaPrzedmitu, string data, double wartosc)
- {
- Ocena o = new Ocena(nazwaPrzedmitu, data, wartosc);
- oceny.Add(o);
- }
- public void WypiszOceny()
- {
- /*for(int i = 0; i < oceny.Count; i++)
- {
- Console.WriteLine(oceny[i].Wartosc);
- }*/
- // option A (using for loop)
- foreach (Ocena ocena in oceny)
- {
- Console.WriteLine(ocena.Wartosc);
- }
- // option B (using foreach statement)
- }
- public void WypiszOceny(string nazwaPrzedmiotu)
- {
- foreach(Ocena ocena in oceny)
- {
- if (ocena.NazwaPrzedmiotu == nazwaPrzedmiotu)
- Console.WriteLine(ocena.Wartosc);
- }
- }
- public void UsunOcene(string nazwaPrzedmiotu, string data, double wartosc) {
- for (int i = 0; i < oceny.Count;)
- {
- if (oceny[i].NazwaPrzedmiotu == nazwaPrzedmiotu && oceny[i].Data == data && oceny[i].Wartosc == wartosc)
- oceny.RemoveAt(i);
- else ++i;
- }
- }
- public void UsunOceny(string nazwaPrzedmiotu)
- {
- for(int i = 0; i < oceny.Count;)
- {
- if (oceny[i].NazwaPrzedmiotu == nazwaPrzedmiotu)
- oceny.RemoveAt(i);
- else ++i;
- }
- }
- public void UsunOceny()
- {
- oceny.Clear();
- }
- public override void WypiszInfo()
- {
- Console.WriteLine("*Osoba: " + imie + " " + nazwisko + " " + dataUrodzenia);
- Console.WriteLine("*Info studenta: " + rok + " rok. " + grupa + " grupa. NumerIndeksu: " + nrIndeksu);
- if (oceny.Count != 0)
- {
- Console.WriteLine("Lista wszystkich ocen studenta: ");
- foreach (Ocena ocena in oceny)
- {
- Console.WriteLine("Data: " + ocena.Data + ". Przedmiot: " + ocena.NazwaPrzedmiotu + ". Ocena: " + ocena.Wartosc);
- }
- }
- else
- Console.WriteLine("Brak obecnych ocen w systemie");
- }
- public int Rok{
- get { return rok; }
- set { rok = value; }
- }
- public int Grupa
- {
- get { return grupa; }
- set { grupa = value; }
- }
- public int NrIndeksu
- {
- get { return nrIndeksu; }
- set { nrIndeksu = value; }
- }
- }
- class Ocena
- {
- private string nazwaPrzedmiotu;
- private string data;
- private double wartosc;
- public Ocena()
- {
- nazwaPrzedmiotu = "nieznana";
- data = "nieznana";
- wartosc = 0.0;
- }
- public Ocena(string nazwaPrzedmiotu_, string data_, double wartosc_)
- {
- nazwaPrzedmiotu = nazwaPrzedmiotu_;
- data = data_;
- wartosc = wartosc_;
- }
- public void WypiszInfo()
- {
- Console.WriteLine("Info o ocenie: " + nazwaPrzedmiotu + " " + data + ". Ocena: " + wartosc);
- }
- public string NazwaPrzedmiotu
- {
- get { return nazwaPrzedmiotu; }
- set { nazwaPrzedmiotu = value; }
- }
- public string Data{
- get { return data; }
- set { data = value; }
- }
- public double Wartosc
- {
- get { return wartosc; }
- set { wartosc = value; }
- }
- }
- class Pilkarz: Osoba
- {
- private string pozycja;
- private string klub;
- private int liczbaGoli = 0;
- public Pilkarz()
- {
- pozycja = "nieznana";
- klub = "nieznany";
- }
- public Pilkarz(string imie_, string nazwisko_, string dataUrodzenia_, string pozycja_, string klub_): base(imie_, nazwisko_, dataUrodzenia_)
- {
- pozycja = pozycja_;
- klub = klub_;
- }
- public override void WypiszInfo()
- {
- Console.WriteLine("**Osoba: " + imie + " " + nazwisko + " " + dataUrodzenia);
- Console.WriteLine("**Info pilkarza: " + pozycja + " " + klub + ". Liczba goli: " + liczbaGoli);
- }
- public void StrzelGola()
- {
- liczbaGoli++;
- }
- public string Pozycja
- {
- get
- {
- return pozycja;
- }
- set
- {
- pozycja = value;
- }
- }
- public string Klub
- {
- get
- {
- return klub;
- }
- set
- {
- klub = value;
- }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- // List<int> lista = new List<int>(); // inicjalizacja listy
- Osoba o = new Osoba("Adam", "Mis", "20.03.1980");
- Osoba o2 = new Student("Michal", "Kot", "13.04.1990", 2, 1, 12345);
- Osoba o3 = new Pilkarz("Mateusz", "Zbik", "10.08.1986", "obronca", "FC Czestochowa");
- o.WypiszInfo();
- o2.WypiszInfo();
- o3.WypiszInfo();
- Student s = new Student("Krzystof", "Jez", "22.12.1990", 2, 5, 54321);
- Pilkarz p = new Pilkarz("Piotr", "Kos", "14.09.1984", "nadastnik", "FC Politechnika");
- s.WypiszInfo();
- p.WypiszInfo();
- ((Pilkarz)o3).StrzelGola(); // access to pilkarzs method using base object
- p.StrzelGola();
- p.StrzelGola();
- o3.WypiszInfo();
- p.WypiszInfo();
- Console.WriteLine("**** ZADANIE 2 *****");
- ((Student)o2).DodajOcene("PO", "20.02.2011", 5.0);
- ((Student)o2).DodajOcene("Bazy danych", "13.02.2011", 4.0);
- o2.WypiszInfo();
- s.DodajOcene("Bazy danych", "01.05.2011", 5.0);
- s.DodajOcene("AWW", "11.05.2011", 5.0);
- s.DodajOcene("AWW", "02.04.2011", 4.5);
- s.WypiszInfo();
- s.UsunOcene("AWW", "02.04.2011", 4.5);
- s.WypiszInfo();
- s.DodajOcene("AWW", "02.04.2011", 4.5);
- s.UsunOceny("AWW");
- s.WypiszInfo();
- s.DodajOcene("AWW", "02.04.2011", 4.5);
- s.UsunOceny();
- s.WypiszInfo();
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement