Advertisement
Guest User

Untitled

a guest
Dec 21st, 2015
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.33 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int LEN = 80;
  5. class instrument{
  6. private:
  7.     char name[LEN];
  8.     char prois[LEN];
  9.     char type[LEN];
  10.      
  11. public:
  12.     virtual void get_name()   {
  13.         cout << "Инструмент\n";
  14.     }
  15.     void getdata() {
  16.         cout << "\n  Введите фамилию владельца инструмента: "; cin >> name;
  17.         cout << "\n  Производитель инструмента: "; cin >> prois;
  18.  
  19.     }
  20.     void putdata() const  {
  21.         cout << "\n  Фамилия: " << name;
  22.         cout << "\n  Производитель инструмента: " << prois;
  23.  
  24.     }
  25. };
  26.  
  27.  
  28. class Kick : public instrument{
  29.     void get_name()    {
  30.         cout << "Ударный\n";
  31.     }
  32. };
  33.  
  34. class String : public instrument{
  35. private:
  36.     int kolvo; // кол-во струн
  37.  
  38. public:
  39.     void get_name()  {
  40.         cout << "Струнный\n";
  41.     }
  42.     void getdata(){
  43.         instrument::getdata();
  44.  
  45.         cout << "\n  Количество струн: "; cin >> kolvo;
  46.     }
  47.     void putdata() const {
  48.         instrument::putdata();
  49.  
  50.         cout << "\n  Количество струн: " << kolvo;
  51.     }
  52. };
  53.  
  54.  
  55. class Horn : public instrument{
  56. private:
  57.     char lenghtcanal[LEN]; // длина канала
  58.  
  59. public:
  60.     void get_name()   {
  61.         cout << "Духовой\n";
  62.     }
  63.     void getdata(){
  64.         instrument::getdata();
  65.         cout << "\n  Длина канала духового инструмента: "; cin >> lenghtcanal;
  66.  
  67.     }
  68.     void putdata() const {
  69.         instrument::putdata();
  70.         cout << "\n  Длина канала духового инструмента: " << lenghtcanal;
  71.     }
  72. };
  73.  
  74.  
  75.  
  76.  
  77. int main(){
  78.     system("chcp 1251");
  79.     system("cls");
  80.  
  81.    
  82.        
  83.     instrument* o[2];//массив указателей
  84.     o[0] = new Horn();//создаём объект
  85.     o[1] = new String();
  86.     o[0]->get_name();
  87.     o[1]->get_name();
  88.  
  89.     int n,choice;
  90.     cout << "Введите размер оркестра";
  91.     cin >> n;
  92.     instrument* or = new instrument[n];
  93.  
  94.     for (int i = 0; i < n; i++)
  95.  
  96.     {
  97.         cout << "Выберите тип инструмента:\n1-Ударный\n2-струнный\n3-духовой"<<endl;
  98.         cin >> choice;
  99.         switch (choice){
  100.  
  101.         case 1:or[i] =new Kick();
  102.             or[i]->get_name();
  103.               break;
  104.         case 2:or[i] = new String();
  105.             or[i]->get_name();
  106.               break;
  107.         case 3:or[i] =  new Horn();
  108.             or[i]->get_name();
  109.               break;
  110.         }
  111.     }
  112.     system("pause");
  113.     return (0);
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement