Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Недвижнина
- #include <iostream>
- #include <cstring>
- using namespace std;
- class Nedviznina {
- protected:
- char *adresa;
- int kvadratura;
- int cena;
- void copy(const Nedviznina &n) {
- adresa = new char[strlen(n.adresa) + 1];
- strcpy(adresa, n.adresa);
- kvadratura = n.kvadratura;
- cena = n.cena;
- }
- public:
- Nedviznina(char *adresa = "", int kvadratura = 0, int cena = 0) {
- this->adresa = new char[strlen(adresa) + 1];
- strcpy(this->adresa, adresa);
- this->kvadratura = kvadratura;
- this->cena = cena;
- }
- Nedviznina(const Nedviznina &n) { copy(n); }
- Nedviznina& operator=(const Nedviznina &n) {
- if (this != &n)
- copy(n);
- return *this;
- }
- ~Nedviznina() { delete [] adresa; }
- friend istream& operator>>(istream &takeItIn, Nedviznina &n) {
- takeItIn >> n.adresa;
- takeItIn >> n.kvadratura;
- takeItIn >> n.cena;
- return takeItIn;
- }
- char* getAdresa() { return adresa; }
- int vkupnaCena() { return kvadratura*cena; }
- float danokNaImot() { return vkupnaCena() * 0.05; }
- void pecati() {
- cout << adresa << ", Kvadratura: " << kvadratura << ", Cena po Kvadrat: " << cena << endl;
- }
- };
- class Vila : public Nedviznina {
- private:
- int danokNaLuksuz;
- void copy(const Vila &v) {
- Nedviznina::copy(v);
- danokNaLuksuz = v.danokNaLuksuz;
- }
- public:
- Vila(char *adresa = "", int kvadratura = 0, int cena = 0, int danokNaLuksuz = 0)
- : Nedviznina(adresa, kvadratura, cena) {
- this->danokNaLuksuz = danokNaLuksuz;
- }
- Vila(const Vila &v) { copy(v); }
- Vila& operator=(const Vila &v) {
- if (this != &v)
- copy(v);
- return *this;
- }
- friend istream& operator>>(istream &takeItIn, Vila &v) {
- takeItIn >> v.adresa;
- takeItIn >> v.kvadratura;
- takeItIn >> v.cena;
- takeItIn >> v.danokNaLuksuz;
- return takeItIn;
- }
- float danokNaImot() { return vkupnaCena() * (0.05 + danokNaLuksuz/100.0); }
- void pecati() {
- cout << adresa << ", Kvadratura: " << kvadratura << ", Cena po Kvadrat: " << cena
- << ", Danok na luksuz: " << danokNaLuksuz << endl;
- }
- };
- int main() {
- Nedviznina n;
- Vila v;
- cin>>n;
- cin>>v;
- n.pecati();
- cout<<"Danok za: "<<n.getAdresa()<<", e: "<<n.danokNaImot()<<endl;
- v.pecati();
- cout<<"Danok za: "<<v.getAdresa()<<", e: "<<v.danokNaImot()<<endl;
- return 0;
- }
- 2. NBA
- #include <iostream>
- #include <cstring>
- #include <string>
- using namespace std;
- class NBAPlayer
- {
- protected:
- char *ime;
- char tim[40];
- double poeni;
- double asistencii;
- double skokovi;
- public:
- NBAPlayer (){
- ime = new char[0];
- poeni = 0;
- asistencii = 0;
- skokovi = 0;
- strcpy(ime, "");
- }
- NBAPlayer(char *i, char *t, double p, double a, double s)
- {
- ime = new char[strlen(ime) + 1];
- strcpy(ime, i);
- strcpy(tim, t);
- poeni = p;
- asistencii = a;
- skokovi = s;
- }
- NBAPlayer(NBAPlayer &np)
- {
- ime = new char[strlen(np.ime)+1];
- strcpy(ime, np.ime);
- strcpy(tim, np.tim);
- poeni = np.poeni;
- asistencii = np.asistencii;
- skokovi = np.skokovi;
- }
- NBAPlayer& operator= ( const NBAPlayer &np)
- {
- if(this == &np)
- return *this;
- else
- delete[] ime;
- ime = new char[strlen(np.ime) + 1];
- strcpy(ime, np.ime);
- strcpy(tim, np.tim);
- poeni = np.poeni;
- asistencii = np.asistencii;
- skokovi = np.skokovi;
- }
- ~NBAPlayer()
- {
- delete [] ime;
- }
- double rating()
- {
- return 0.45*poeni + 0.3*asistencii + 0.25*skokovi;
- }
- void print()
- {
- cout << ime << " - " << tim << endl;
- cout << "Points: " << poeni << endl;
- cout << "Assists: " << asistencii << endl;
- cout << "Reboundds: " << skokovi << endl;
- cout << "Rating: " << rating() << endl;
- }
- };
- class AllStarPlayer : public NBAPlayer
- {
- protected:
- double poeniAll;
- double asistenciiAll;
- double skokoviAll;
- public:
- AllStarPlayer() : NBAPlayer()
- {
- poeniAll = 0;
- asistenciiAll = 0;
- skokoviAll = 0;
- }
- AllStarPlayer(char *i, char *t, double p, double a, double s, double pa, double aa, double sa) : NBAPlayer(i,t,p,a,s)
- {
- poeniAll = pa;
- asistenciiAll = aa;
- skokoviAll = sa;
- }
- AllStarPlayer(NBAPlayer &np, double asp, double asa, double alle) :NBAPlayer(np)
- {
- poeniAll = asp;
- asistenciiAll = asa;
- skokoviAll = alle;
- }
- AllStarPlayer(AllStarPlayer &all) : NBAPlayer(all)
- {
- poeniAll = all.poeniAll;
- asistenciiAll = all.asistenciiAll;
- skokoviAll = all.skokoviAll;
- }
- AllStarPlayer& operator= (const AllStarPlayer &all)
- {
- if(this == &all)
- return *this;
- else
- delete [] ime;
- ime = new char[strlen(all.ime) + 1];
- poeniAll = all.poeniAll;
- asistenciiAll = all.asistenciiAll;
- skokoviAll = all.skokoviAll;
- strcpy(ime, all.ime);
- strcpy(tim, all.tim);
- poeni = all.poeni;
- asistencii = all.asistencii;
- skokovi = all.skokovi;
- }
- double allStarRating()
- {
- return 3.0*poeniAll + 4.0*asistenciiAll + 3.0*skokoviAll;
- }
- double rating()
- {
- return (NBAPlayer::rating()+rating())/2;
- }
- void print()
- {
- NBAPlayer::print();
- cout << "All Star Rating: " << allStarRating() << endl;
- cout << "New Rating: " << rating() << endl;
- }
- };
- int main() {
- char name[50];
- char team[40];
- double points;
- double assists;
- double rebounds;
- double allStarPoints;
- double allStarAssists;
- double allStarRebounds;
- NBAPlayer * players = new NBAPlayer[5];
- AllStarPlayer * asPlayers = new AllStarPlayer[5];
- int n;
- cin >> n;
- if (n == 1) {
- cout << "NBA PLAYERS:" << endl;
- cout << "=====================================" << endl;
- for (int i = 0; i < 5; ++i) {
- cin >> name >> team >> points >> assists >> rebounds;
- players[i] = NBAPlayer(name,team,points,assists,rebounds);
- players[i].print();
- }
- }
- else if (n == 2) {
- for (int i=0; i < 5; ++i){
- cin >> name >> team >> points >> assists >> rebounds;
- cin >> allStarPoints >> allStarAssists >> allStarRebounds;
- players[i] = NBAPlayer(name,team,points,assists,rebounds);
- asPlayers[i] = AllStarPlayer(players[i],allStarPoints,allStarAssists,allStarRebounds);
- }
- cout << "NBA PLAYERS:" << endl;
- cout << "=====================================" << endl;
- for (int i=0; i < 5; ++i)
- //players[i].print();
- cout << "ALL STAR PLAYERS:" << endl;
- cout << "=====================================" << endl;
- for (int i=0; i < 5; ++i)
- asPlayers[i].print();
- }
- else if (n == 3) {
- for (int i=0; i < 5; ++i){
- cin >> name >> team >> points >> assists >> rebounds;
- cin >> allStarPoints >> allStarAssists >> allStarRebounds;
- asPlayers[i] = AllStarPlayer(name, team, points, assists, rebounds,
- allStarPoints,allStarAssists,allStarRebounds);
- }
- cout << "ALL STAR PLAYERS:" << endl;
- cout << "=====================================" << endl;
- for (int i=0; i < 5; ++i)
- asPlayers[i].print();
- }
- delete [] players;
- delete [] asPlayers;
- }
Advertisement
Add Comment
Please, Sign In to add comment