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 broj;
- int cena;
- public:
- ZicanInstrument(){
- }
- ZicanInstrument(char *ime, int broj, int cena){
- strcpy(this->ime,ime);
- this->broj=broj;
- this->cena=cena;
- }
- ZicanInstrument(const ZicanInstrument &zi){
- strcpy(this->ime,zi.ime);
- this->broj=zi.broj;
- this->cena=zi.cena;
- }
- bool operator ==( ZicanInstrument &zi){
- if(zi.broj==broj){
- return true;
- }
- return false;
- }
- ~ZicanInstrument(){
- }
- virtual int cenaa()=0;
- };
- class Mandolina : public ZicanInstrument{
- protected:
- char forma[20];
- public:
- Mandolina(){
- }
- Mandolina(char *ime, int broj, int cena, char *forma) : ZicanInstrument(ime,broj,cena){
- strcpy(this->forma,forma);
- }
- Mandolina (const Mandolina &m){
- strcpy(this->forma,m.forma);
- }
- int cenaa(){
- if(!strcmp(forma,"Neopolotan")){
- return cena + cena *0.15;
- }
- else
- return cena;
- }
- friend ostream& operator<<(ostream &out, const Mandolina &m){
- out<<m.ime<<" "<<m.broj<<" "<<m.cena<<" "<<m.forma<<endl;
- return out;
- }
- ~Mandolina(){
- }
- };
- class Violina : public ZicanInstrument{
- protected:
- double golemina;
- public:
- Violina(){
- }
- Violina(char *ime, int broj, int cena, double golemina): ZicanInstrument(ime,broj,cena){
- this->golemina=golemina;
- }
- Violina( const Violina &v){
- this->golemina=v.golemina;
- }
- friend ostream& operator<<(ostream &out, const Violina &v){
- out<<v.ime<<" "<<v.broj<<" "<<v.cena<<" "<<v.golemina<<endl;
- return out;
- }
- int cenaa(){
- if(golemina==0.25){
- return cena + cena *0.10;
- }
- else if( golemina ==1.00){
- return cena + cena *0.20;
- }
- else return cena;
- }
- ~Violina(){
- }
- };
- pecatiInstrumenti(ZicanInstrument &zi, ZicanInstrument **i, int n){
- for(int k;k<n;k++){
- if (zi==*i[k]){
- cout<<i[k]->cenaa()<<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