Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class ZicanInstrument{
- protected:
- char ime[20];
- int brojZici;
- int cenain;
- public:
- ZicanInstrument(const char *ime="", int brojZici=0, int cenain=0){
- strcpy(this->ime, ime);
- this->brojZici=brojZici;
- this->cenain=cenain;
- }
- int getbrojZici(){
- return this->brojZici;
- }
- virtual float cena()=0;
- };
- class Mandolina: public ZicanInstrument{
- private:
- char forma[20];
- public:
- Mandolina(const char *ime="", int brojZici=0, int cenain=0, const char *forma=""): ZicanInstrument(ime, brojZici, cenain){
- strcpy(this->forma, forma);
- }
- float cena(){
- if(strcmp(this->forma, "Neapolitan")==0){
- return cenain+(cenain*15)/100;
- }
- return cenain;
- }
- bool operator==(Mandolina &m){
- return this->brojZici==m.brojZici;
- }
- friend ostream &operator<<(ostream &out, Mandolina &m){
- return out<<m.ime<<m.brojZici<<m.cenain<<endl;
- }
- };
- class Violina: public ZicanInstrument{
- private:
- float golemina;
- public:
- Violina(char *ime="", int brojZici=0, int cenain=0, float golemina=0): ZicanInstrument(ime, brojZici, cenain){
- this->golemina=golemina;
- }
- float cena(){
- if(this->golemina==0.25){
- return cenain+(cenain*10)/100;
- }
- if(this->golemina==1.00){
- return cenain+(cenain*20)/100;
- }
- return cenain;
- }
- bool operator==(Violina &v){
- return this->brojZici==v.brojZici;
- }
- friend ostream &operator<<(ostream &out, Violina &v){
- return out<<v.ime<<v.brojZici<<v.cenain<<endl;
- }
- };
- void pecatiInstrumenti(ZicanInstrument &zi, ZicanInstrument **i, int n){
- for(int j=0; j<n; j++){
- if(i[j]->getbrojZici()==zi.getbrojZici()){
- cout<<i[j]->cena()<<endl;
- }
- }
- }
- int main() {
- char ime[20];
- int brojZici;
- float cena;
- char forma[20];
- cin >> ime >> brojZici >> cena >> forma;
- Mandolina m(ime, brojZici, cena, forma);
- int n;
- cin >> n;
- ZicanInstrument **zi = new ZicanInstrument*[2 * n];
- for(int i = 0; i < n; ++i) {
- cin >> ime >> brojZici >> cena >> forma;
- zi[i] = new Mandolina(ime, brojZici, cena, forma);
- }
- for(int i = 0; i < n; ++i) {
- float golemina;
- cin >> ime >> brojZici >> cena >> golemina;
- zi[n + i] = new Violina(ime, brojZici, cena, golemina);
- }
- pecatiInstrumenti(m, zi, 2 * n);
- for(int i = 0; i < 2 * n; ++i) {
- delete zi[i];
- }
- delete [] zi;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement