Материал: Управление массивом указателей средствами объектно-ориентированного программирования

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

}

}.close();<< "Vipolneno!";

_getch();;

}3: //сохранить в файл

{("cls");(spis.empty())

{<< "Zapisi ne naydeni!" ;

_getch();;

}

{file("Pamyatniki.csv");(pos=spis.begin(); pos!=spis.end(); pos++)

{<< pos->getGod() << ";" << pos->getName() << ";" << pos->getGod_cena() << ";" << pos->getVid() << endl;

}<< "Gotovo!" ;.close();

_getch();;

}

};4: // удаление всех записей

{("cls");(spis.empty())

{<< "Zapisi ne naydeni!" ;

_getch();;

}

{<< "\nUdalit vse? [1 - Da/ 2 - Net] " ;>> ans;(ans==1) spis.clear();<< "Vipolneno!";

_getch();;

}

};5: // просмотр записей

{("cls");((spis.empty()) || (kol==0))

{<< "Zapisi ne naydeni" ;

_getch();;

}

{();<< "|Num|God sozdaniya| Nazvanie |Godovay stoimost| Vid |" << endl;();(pos=spis.begin(),a=1; pos!=spis.end(); pos++,a++ )

{=pos->getVid();(k==1) s=z1.getGr();(k==2) s=z2.getGr();(k==3) s=z3.getGr();(k==4) s=z4.getGr();<< "|" << setw(3)<<right << a <<"| " << setw(12) << left << pos->getGod() << "|" << setw(19) << right << pos->getName() << " |" << setw(15) << pos->getGod_cena() << " | " << setw(9)<<left<< s << "|" << endl;();

}

};

_getch();;

};6: // добавление записей

{("cls");=spis.end();(1)

{<< "\nVVedite god sozdaniya: " ;>> g;.addGod(g);<< "Vvedite nazvanie: " ;>> n;.addName(n);<< "Vvedite godovuyu stoimost: " ;>> gc;.addGod_cena(gc);

{<< "1 - Kvartal, 2 - Ploschad, 3 - Zdanie, 4 - Skulptura: " ;>> i;

} while ( !((i>0)&&(i<5)) ) ;(i==1) prod.addVid(z1.getVid());(i==2) prod.addVid(z2.getVid());(i==3) prod.addVid(z3.getVid());(i==4) prod.addVid(z4.getVid());= new Pamyatniki (g, n, gc, i);.push_back(*tek);++;<< "\nProdolgit? [1 - Da/ 2 - Net] " ;>> ans;(ans==2) break;

};

};7: // поиск по номеру записи

{(spis.empty())

{("cls");<< "Zapisi ne naydeni!" ;

_getch();;

}

{(1)

{("cls");=spis.begin();<< "Vvedite nomer zapisi: " ;>> a;(a>kol) cout << "Ne naydeno" << endl;

{<< endl;(pos, a-1); //переход на элемент pos();<< "|Num|God sozdaniya| Nazvanie |Godovay stoimost| Vid |" << endl;();=pos->getVid();(k==1) s=z1.getGr();(k==2) s=z2.getGr();(k==3) s=z3.getGr();(k==4) s=z4.getGr();<< "|" << setw(3)<<right << a <<"| " << setw(12) << left << pos->getGod() << "|" << setw(19) << right << pos->getName() << " |" << setw(15) << pos->getGod_cena() << " | " << setw(9)<<left<< s << "|" << endl;();

}<< "\nProdolgit poisk? [1 - Da/ 2 - Net] " ;>> ans;(ans==2) break;

};

}

};8://нахождение минимальной годовой стоимости

{("cls");<< "Zapisi ne naydeni!" ;

_getch();;

}

{=spis.begin();=pos->getGod_cena();_pos=0;vsp=spis.begin();(pos=spis.begin(),a=1; pos!=spis.end(); pos++,a++ )

{=pos->getGod_cena();(min>vsp1)

{=vsp1;_pos=a;=pos;

};

};<<"Minimal'naya godovaya stoimost' :"<<endl;();<< "|Num|God sozdaniya| Nazvanie |Godovay stoimost| Vid |" << endl;();=vsp->getVid();(k==1) s=z1.getGr();(k==2) s=z2.getGr();(k==3) s=z3.getGr();(k==4) s=z4.getGr();<< "|" << setw(3)<<right << a <<"| " << setw(12) << left << pos->getGod() << "|" << setw(19) << right << pos->getName() << " |" << setw(15) << pos->getGod_cena() << " | " << setw(9)<<left<< s << "|" << endl;();

};

_getch();;

};9: //нахождение максимальной годовой стоимости

{("cls");max, vsp1;(spis.empty())

{("cls");<<"Zapisi ne naydeni!" ;

_getch();;

}

{=spis.begin();=pos->getGod_cena();(pos=spis.begin(),a=1; pos!=spis.end(); pos++,a++ )

{=pos->getGod_cena();(max<vsp1)

{=vsp1;=pos;

};

};<<"Maximal'naya godovaya stoimost' :"<<endl;();<< "|Num|God sozdaniya| Nazvanie |Godovay stoimost| Vid |" << endl;();=vsp->getVid();(k==1) s=z1.getGr();(k==2) s=z2.getGr();(k==3) s=z3.getGr();(k==4) s=z4.getGr();<< "|" << setw(3)<<right << a <<"| " << setw(12) << left << pos->getGod() << "|" << setw(19) << right << pos->getName() << " |" << setw(15) << pos->getGod_cena() << " | " << setw(9)<<left<< s << "|" << endl;();

};

_getch();;

};:

{<< "\n Oshibka vvoda!" ;

_getch();

}

}

}

}

Модуль mod2.cpp

#include <iostream>

#include <stdio.h>

#include <string>

#define MAX 30namespace std;Pamyatniki

{:god;name;int god_cena;vid;:()

{=0;="none";_cena=0;=0;

}(int god, string name, long int god_cena, int vid)

{>god=god;>name=name;>god_cena=god_cena;>vid=vid;

}~Pamyatniki (){};void addGod(int god)

{>god=god;

}void addName(string name)

{>name=name;

}void addGod_cena(long int god_cena)

{>god_cena=god_cena;

}void addVid(int Vid)

{>vid=vid;

}int getGod()

{god;

}string getName()

{name;

}long int getGod_cena()

{god_cena;

}getVid()

{vid;

}

};Kvartal : public Pamyatniki

{:god;name;int god_cena;vid;gr1;:()

{=0;="none";_cena=0;="Kvartal";

}(int god, string name, long int god_cena)

{>god=god;>name=name;>god_cena=god_cena;

}int getVid()

{1;

}string getGr()

{gr1;

}

};Ploschad : public Pamyatniki

{:god;name;int god_cena;vid;gr2;:()

{=0;="none";_cena=0;="Ploschad";

}(int god, string name, long int god_cena)

{>god=god;>name=name;>god_cena=god_cena;

{2;

}string getGr()

{gr2;

}

};Zdanie : public Pamyatniki

{:god;name;int god_cena;vid;gr3;:()

{=0;="none";_cena=0;="Zdanie";

}(int god, string name, long int god_cena)

{>god=god;>name=name;>god_cena=god_cena;

}int getVid()

{3;

}

string getGr()

{gr3;

}

};Skulptura : public Pamyatniki

{:god;name;int god_cena;vid;gr4;:()

{=0;="none";_cena=0;="Skulptura";

}(int god, string name, long int god_cena)

{>god=god;>name=name;>god_cena=god_cena;

}int getVid()

{4;

}string getGr()

{gr4;

}

};