Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- using namespace std;
- /*
- Во оваа задача треба да се внесат и испечатат податоци за автомобили.
- За еден автомобил (објект од класата Car) се чуваат следниве податоци:
- сопственик (објект од класата Person)
- датум на купување (објект од класата Date)
- цена (float price), предодредена вредност 0
- За класата Car потребно е да се напише метод за печатење print() и метод за добивање на цената getPrice().
- Класата Date содржи три цели броеви (int year, month, day) кои претставуваат датум. За неа треба да се напише метод за печатење print(), предодреден (default) конструктор, конструктор со параметри и конструктор за копирање.
- Класата Person содржи име и презиме (низи од максимум 20 знаци, со предодредени вредности not specified), предодреден конструктор, конструктор со параметри и метод за печатење print().
- Методот за печатење кај класата Person изгледа вака: [name] [lastName].
- Методот за печатење кај класата Date изгледа вака: [year].[month].[day].
- Методот за печатење кај класата Car изгледа вака:
- owner.print()
- date.print()
- Price: [price]
- Покрај тоа, потребно е да се напише метод cheaperThan(Car* cars, int numCars, float price) кој ќе ги испечати сите објекти Car од низата cars со големина numCars чија цена е помала од price.
- For example:
- Input:
- 2
- Petre
- Petreski
- 2018
- 07
- 31
- 410020
- Result:
- Petre Petreski
- 2018.7.31
- Price: 410020
- */
- class Date{
- private:
- int den,mesec,godina;
- public:
- Date(){}
- void print();
- Date(int den,int mesec,int godina);
- };
- void Date::print(){
- cout<<den<<"."<<mesec<<"."<<godina<<endl;
- }
- Date::Date(int den,int mesec,int godina) {
- this->den=den;
- this->mesec = mesec;
- this->godina = godina;
- }
- class Person{
- private:
- enum Dolzina {DolzIme=30,DolzPrezime=30};
- char ime[DolzIme];
- char prezime[DolzPrezime];
- public:
- Person();
- Person(char *ime,char *prezime);
- void print();
- };
- Person::Person(){}
- Person::Person(char *ime,char *prezime){
- strncpy(this->ime,ime,DolzIme);
- this->ime[DolzIme] = '\0';
- strncpy(this->prezime,prezime,DolzIme);
- this->prezime[DolzPrezime] = '\0';
- }
- void Person::print(){
- cout<<ime<<" "<<prezime<<endl;
- }
- class Car{
- private:
- Person owner;
- Date date;
- float price;
- public:
- Car(Person Pobj,Date Dobj,float price);
- Car(){}
- void print();
- float getPrice();
- };
- Car::Car(Person Pobj,Date Dobj,float price) : owner(Pobj),date(Dobj){
- this->price = price;
- }
- void Car::print(){
- owner.print();
- date.print();
- cout<<"Price: "<<price<<endl;
- }
- float Car::getPrice(){
- return price;
- }
- void cheaperThan(Car* cars, int numCars, float price){
- for (int i=0;i<numCars;i++){
- if ((cars+i)->getPrice() < price){
- (cars+i)->print();
- }
- }
- }
- int main() {
- char name[20];
- char lastName[20];
- int year;
- int month;
- int day;
- float price;
- int testCase;
- cin >> testCase;
- if (testCase == 1) {
- cin >> name;
- cin >> lastName;
- Person lik(name, lastName);
- cin >> year;
- cin >> month;
- cin >> day;
- Date date(year, month, day);
- cin >> price;
- Car car(lik, date, price);
- car.print();
- }
- else if (testCase == 2) {
- cin >> name;
- cin >> lastName;
- Person lik(name, lastName);
- cin >> year;
- cin >> month;
- cin >> day;
- Date date(Date(year, month, day));
- cin >> price;
- Car car(lik, date, price);
- car.print();
- }
- else {
- int numCars;
- cin >> numCars;
- Car cars[10];
- for (int i = 0; i < numCars; i++) {
- cin >> name;
- cin >> lastName;
- Person lik(name, lastName);
- cin >> year;
- cin >> month;
- cin >> day;
- Date date(year, month, day);
- cin >> price;
- cars[i] = Car(lik, date, price);
- }
- float priceLimit;
- cin >> priceLimit;
- cheaperThan(cars, numCars, priceLimit);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement