mirror of
https://github.com/szymon-jozef/ZUT-notatki.git
synced 2026-10-28 11:10:38 +01:00
bla bla
This commit is contained in:
33
uczelnia/2_semestr/programowanie/laby/lab9/zad1.cpp
Normal file
33
uczelnia/2_semestr/programowanie/laby/lab9/zad1.cpp
Normal file
@@ -0,0 +1,33 @@
|
||||
#include <iostream>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
|
||||
class Adres {
|
||||
std::string ulica;
|
||||
std::string miasto;
|
||||
std::string kodPocztowy;
|
||||
|
||||
public:
|
||||
Adres(std::string ulica, std::string miasto, std::string kodPocztowy)
|
||||
: ulica(ulica), miasto(miasto), kodPocztowy(kodPocztowy) {}
|
||||
friend std::ostream &operator<<(std::ostream &os, Adres adres) {
|
||||
os << adres.ulica << '\n' << adres.miasto << '\n' << adres.kodPocztowy;
|
||||
return os;
|
||||
}
|
||||
};
|
||||
|
||||
class Osoba {
|
||||
Adres adres;
|
||||
|
||||
public:
|
||||
Osoba(Adres adres) : adres(adres) {}
|
||||
friend std::ostream &operator<<(std::ostream &os, Osoba osoba) {
|
||||
os << osoba.adres;
|
||||
return os;
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
Osoba osoba = Osoba(Adres("żołnierska", "szczecin", "23-123"));
|
||||
std::cout << osoba;
|
||||
}
|
||||
92
uczelnia/2_semestr/programowanie/laby/lab9/zad10.cpp
Normal file
92
uczelnia/2_semestr/programowanie/laby/lab9/zad10.cpp
Normal file
@@ -0,0 +1,92 @@
|
||||
#include <cstddef>
|
||||
#include <iostream>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
|
||||
class Autor {
|
||||
|
||||
public:
|
||||
std::string imie, nazwisko;
|
||||
Autor(std::string imie, std::string nazwisko)
|
||||
: imie(imie), nazwisko(nazwisko) {}
|
||||
Autor() {}
|
||||
};
|
||||
|
||||
class Ksiazka {
|
||||
public:
|
||||
std::string tytul, rok;
|
||||
Autor autor;
|
||||
Ksiazka(std::string tytul, std::string rok, Autor autor)
|
||||
: tytul(tytul), rok(rok), autor(autor) {}
|
||||
Ksiazka() {}
|
||||
friend std::ostream &operator<<(std::ostream &os, Ksiazka k) {
|
||||
os << "Tytuł: " << k.tytul << "\nRok wydania: " << k.rok
|
||||
<< "\nAutor: " << k.autor.imie << ' ' << k.autor.nazwisko;
|
||||
return os;
|
||||
}
|
||||
};
|
||||
|
||||
class Biblioteka {
|
||||
Ksiazka *ksiazki;
|
||||
int aktualna_ksiazka = 0;
|
||||
|
||||
public:
|
||||
Biblioteka(size_t size) : ksiazki(new Ksiazka[size]) {}
|
||||
|
||||
void dodajKsiazke(Ksiazka k) { ksiazki[aktualna_ksiazka++] = k; }
|
||||
|
||||
Ksiazka *szukajPoTytule(std::string tytul) {
|
||||
for (int i = 0; i < aktualna_ksiazka; i++) {
|
||||
if (ksiazki[i].tytul == tytul) {
|
||||
return &ksiazki[i];
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void wypiszWszystkie() {
|
||||
for (int i = 0; i < aktualna_ksiazka; i++) {
|
||||
std::cout << ksiazki[i];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class Osoba {
|
||||
std::string imie;
|
||||
|
||||
public:
|
||||
Osoba(std::string imie) : imie(imie) {}
|
||||
};
|
||||
|
||||
class Czytelnik : Osoba { // dziedziczenie
|
||||
Ksiazka *ksiazki; // agregacja
|
||||
const int max_ilosc;
|
||||
int aktualna_ilosc_ksiazek = 0;
|
||||
|
||||
public:
|
||||
Czytelnik(std::string imie, size_t max_ilosc)
|
||||
: Osoba(imie), max_ilosc(max_ilosc), ksiazki(new Ksiazka[max_ilosc]) {}
|
||||
void wypozycz(Ksiazka ksiazka) {
|
||||
if (aktualna_ilosc_ksiazek < max_ilosc) {
|
||||
ksiazki[aktualna_ilosc_ksiazek++] = ksiazka;
|
||||
}
|
||||
}
|
||||
void wypiszWszystkie() {
|
||||
for (int i = 0; i < aktualna_ilosc_ksiazek; i++) {
|
||||
std::cout << ksiazki[i];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
Biblioteka b = Biblioteka(12);
|
||||
Ksiazka k1 =
|
||||
Ksiazka("Ogniem i Mieczem", "1920", Autor("Henryk", "Sienkiewicz"));
|
||||
b.dodajKsiazke(k1);
|
||||
std::cout << "Książki biblioteki: "<< std::endl;
|
||||
b.wypiszWszystkie();
|
||||
Czytelnik czytelnik = Czytelnik("Bogdan", 8);
|
||||
std::cout << "Książki czytelnika: "<< std::endl;
|
||||
czytelnik.wypozycz(k1);
|
||||
czytelnik.wypiszWszystkie();
|
||||
}
|
||||
48
uczelnia/2_semestr/programowanie/laby/lab9/zad2.cpp
Normal file
48
uczelnia/2_semestr/programowanie/laby/lab9/zad2.cpp
Normal file
@@ -0,0 +1,48 @@
|
||||
#include <iostream>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
|
||||
struct Student {
|
||||
std::string imie;
|
||||
std::string numerIndexu;
|
||||
Student(std::string imie, std::string numerIndexu)
|
||||
: imie(imie), numerIndexu(numerIndexu) {}
|
||||
Student() {}
|
||||
};
|
||||
|
||||
class Kurs {
|
||||
const int max_student = 30;
|
||||
int current_student = 0;
|
||||
Student *studenci;
|
||||
|
||||
public:
|
||||
Kurs() : studenci(new Student[max_student]) {}
|
||||
void zapiszStudenta(Student student) {
|
||||
if (current_student >= max_student) {
|
||||
throw std::range_error("You can't add more students!");
|
||||
}
|
||||
studenci[current_student++] = student;
|
||||
}
|
||||
|
||||
void wypiszStudentów() {
|
||||
for (int i = 0; i < current_student; i++) {
|
||||
std::cout << "=== Student ===\n";
|
||||
std::cout << "- Imię : " << studenci[i].imie << '\n';
|
||||
std::cout << "- Numer indeksu : " << studenci[i].numerIndexu << std::endl;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
Student bogdan = Student("Bogdan", "23894");
|
||||
Student stanislaw = Student("Stanisław", "238947");
|
||||
Kurs matematyka = Kurs();
|
||||
Kurs programowanie = Kurs();
|
||||
matematyka.zapiszStudenta(bogdan);
|
||||
matematyka.zapiszStudenta(stanislaw);
|
||||
programowanie.zapiszStudenta(bogdan);
|
||||
std::cout << "\nKurs matematyki:\n" << std::endl;
|
||||
matematyka.wypiszStudentów();
|
||||
std::cout << "\nKurs programowania:\n" << std::endl;
|
||||
programowanie.wypiszStudentów();
|
||||
}
|
||||
7
uczelnia/2_semestr/programowanie/laby/lab9/zad3.md
Normal file
7
uczelnia/2_semestr/programowanie/laby/lab9/zad3.md
Normal file
@@ -0,0 +1,7 @@
|
||||
|Para klas|Twoja odpowiedź|
|
||||
|---|---|
|
||||
|Książka – rodział|Kompozycja – nie da się mieć rozdziału w oderwaniu od książki|
|
||||
|Biblioteka – książka|Agregacja – biblioteka posiada książkę, ale może ją komuś przekazać|
|
||||
|Samochód – pojazd|Dziedziczenie – samochód to typ pojazdu|
|
||||
|Uniwersytet – Profesor|Agregacja – Profesor może wykładać na wielu różnych uczelniach|
|
||||
|Komputer – procesor|Kompozycja – komputer i procesor są ze sobą ściśle powiązane|
|
||||
39
uczelnia/2_semestr/programowanie/laby/lab9/zad4.cpp
Normal file
39
uczelnia/2_semestr/programowanie/laby/lab9/zad4.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
#include <cmath>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
class Ksztalt {
|
||||
public:
|
||||
std::string kolor = "czerwony";
|
||||
|
||||
public:
|
||||
void opis() { std::cout << "Kolor tego kształtu to: " << kolor; }
|
||||
};
|
||||
|
||||
class Kolo : public Ksztalt {
|
||||
float r = 3;
|
||||
float pole() { return M_PI * pow(r, 2); }
|
||||
friend std::ostream &operator<<(std::ostream &os, Kolo kolo) {
|
||||
os << "Koło o kolorze: " << kolo.kolor << " i promieniu " << kolo.r
|
||||
<< " oraz polu " << kolo.pole();
|
||||
return os;
|
||||
}
|
||||
};
|
||||
|
||||
class Prostokat : public Ksztalt {
|
||||
float a = 2, b = 4;
|
||||
float pole() { return a * b; }
|
||||
friend std::ostream &operator<<(std::ostream &os, Prostokat prostokat) {
|
||||
os << "Prostokąt o kolorze: " << prostokat.kolor
|
||||
<< " i bokach dlugości a = " << prostokat.a << ", b = " << prostokat.b
|
||||
<< " i polu " << prostokat.pole();
|
||||
return os;
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
Prostokat p = Prostokat();
|
||||
std::cout << p << std::endl;
|
||||
Kolo k = Kolo();
|
||||
std::cout << k << std::endl;
|
||||
}
|
||||
20
uczelnia/2_semestr/programowanie/laby/lab9/zad5.cpp
Normal file
20
uczelnia/2_semestr/programowanie/laby/lab9/zad5.cpp
Normal file
@@ -0,0 +1,20 @@
|
||||
#include <iostream>
|
||||
|
||||
class A {
|
||||
public:
|
||||
A() { std::cout << "A "; }
|
||||
~A() { std::cout << "~A "; }
|
||||
};
|
||||
|
||||
class B : public A {
|
||||
public:
|
||||
B() { std::cout << "B "; }
|
||||
~B() { std::cout << "~B "; }
|
||||
};
|
||||
|
||||
class C : public B {
|
||||
public:
|
||||
C() { std::cout << "C "; }
|
||||
~C() { std::cout << "~C "; }
|
||||
};
|
||||
int main() { C obj; } // A B C ~C ~B ~A
|
||||
27
uczelnia/2_semestr/programowanie/laby/lab9/zad6.cpp
Normal file
27
uczelnia/2_semestr/programowanie/laby/lab9/zad6.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
class Konto {
|
||||
float saldo = 2000;
|
||||
|
||||
protected:
|
||||
std::string numerKonta;
|
||||
float getSaldo() { return saldo; }
|
||||
};
|
||||
|
||||
class KontoOszczednosciowe : public Konto {
|
||||
int oprocentowanie = 12;
|
||||
|
||||
public:
|
||||
// float naliczOdsetki() {
|
||||
// return oprocentowanie * saldo; // nie możemy tego wykonać, ponieważ
|
||||
// saldo jest polem prywatnym
|
||||
// }
|
||||
|
||||
float naliczOdsetki() { return oprocentowanie * getSaldo(); }
|
||||
};
|
||||
|
||||
int main() {
|
||||
KontoOszczednosciowe k = KontoOszczednosciowe();
|
||||
std::cout << k.naliczOdsetki();
|
||||
}
|
||||
16
uczelnia/2_semestr/programowanie/laby/lab9/zad7.cpp
Normal file
16
uczelnia/2_semestr/programowanie/laby/lab9/zad7.cpp
Normal file
@@ -0,0 +1,16 @@
|
||||
#include <iostream>
|
||||
class Wektor3d {
|
||||
int x, y, z;
|
||||
|
||||
public:
|
||||
Wektor3d(int x, int y, int z) : x(x), y(y), z(z) {}
|
||||
friend int iloczynSkalarny(const Wektor3d &w1, const Wektor3d &w2) {
|
||||
return w1.x * w2.x + w1.y * w2.y + w1.z * w2.z;
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
Wektor3d w1(1, 2, 3);
|
||||
Wektor3d w2(3, 4, 5);
|
||||
std::cout << iloczynSkalarny(w1, w2);
|
||||
}
|
||||
20
uczelnia/2_semestr/programowanie/laby/lab9/zad8.cpp
Normal file
20
uczelnia/2_semestr/programowanie/laby/lab9/zad8.cpp
Normal file
@@ -0,0 +1,20 @@
|
||||
#include <iostream>
|
||||
|
||||
class Bazowa {
|
||||
protected:
|
||||
int x;
|
||||
|
||||
public:
|
||||
Bazowa(int x) : x(x) {}
|
||||
};
|
||||
|
||||
class Pochodna : public Bazowa {
|
||||
public:
|
||||
Pochodna(int val) : Bazowa(val) {}
|
||||
void wypisz() { std::cout << x << std::endl; }
|
||||
};
|
||||
|
||||
int main() {
|
||||
Pochodna p = Pochodna(1);
|
||||
p.wypisz();
|
||||
}
|
||||
69
uczelnia/2_semestr/programowanie/laby/lab9/zad9.cpp
Normal file
69
uczelnia/2_semestr/programowanie/laby/lab9/zad9.cpp
Normal file
@@ -0,0 +1,69 @@
|
||||
#include <cstddef>
|
||||
#include <iostream>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
|
||||
class Autor {
|
||||
|
||||
public:
|
||||
std::string imie, nazwisko;
|
||||
Autor(std::string imie, std::string nazwisko)
|
||||
: imie(imie), nazwisko(nazwisko) {}
|
||||
Autor() {}
|
||||
};
|
||||
|
||||
class Ksiazka {
|
||||
public:
|
||||
std::string tytul, rok;
|
||||
Autor autor;
|
||||
Ksiazka(std::string tytul, std::string rok, Autor autor)
|
||||
: tytul(tytul), rok(rok), autor(autor) {}
|
||||
Ksiazka() {}
|
||||
friend std::ostream &operator<<(std::ostream &os, Ksiazka k) {
|
||||
os << "Tytuł: " << k.tytul << "\nRok wydania: " << k.rok
|
||||
<< "\nAutor: " << k.autor.imie << ' ' << k.autor.nazwisko;
|
||||
return os;
|
||||
}
|
||||
};
|
||||
|
||||
class Biblioteka {
|
||||
Ksiazka *ksiazki;
|
||||
int aktualna_ksiazka = 0;
|
||||
|
||||
public:
|
||||
Biblioteka(size_t size) : ksiazki(new Ksiazka[size]) {}
|
||||
|
||||
void dodajKsiazke(Ksiazka k) { ksiazki[aktualna_ksiazka++] = k; }
|
||||
|
||||
Ksiazka *szukajPoTytule(std::string tytul) {
|
||||
for (int i = 0; i < aktualna_ksiazka; i++) {
|
||||
if (ksiazki[i].tytul == tytul) {
|
||||
return &ksiazki[i];
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void wypiszWszystkie() {
|
||||
for (int i = 0; i < aktualna_ksiazka; i++) {
|
||||
std::cout << ksiazki[i];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
Biblioteka b = Biblioteka(10);
|
||||
Ksiazka k1 =
|
||||
Ksiazka("Miecz przeznaczenia", "1920", Autor("Andrzej", "Sapkowski"));
|
||||
Ksiazka k2 = Ksiazka("Dziki gon", "1800", Autor("Andrzej", "Sapkowski"));
|
||||
|
||||
b.dodajKsiazke(k1);
|
||||
b.dodajKsiazke(k2);
|
||||
Ksiazka *znalezionaKsiazka = b.szukajPoTytule("Miecz przeznaczenia");
|
||||
if (!znalezionaKsiazka) {
|
||||
return 1;
|
||||
}
|
||||
std::cout << "Znaleziona książka to: " << *znalezionaKsiazka << std::endl;
|
||||
std::cout << "=== Wszystkie książki ===" << std::endl;
|
||||
b.wypiszWszystkie();
|
||||
}
|
||||
Reference in New Issue
Block a user