BeloMaximka

Belov_HW_O4_STUDENTCOUNT

Sep 7th, 2021 (edited)
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.24 KB | None | 0 0
  1. #include "iostream"
  2. using namespace std;
  3.  
  4. class Student
  5. {
  6. public:
  7.     Student()
  8.     {
  9.         strinit(name);
  10.         strinit(birthdate);
  11.         strinit(phone_number);
  12.         strinit(city);
  13.         strinit(country);
  14.         strinit(study);
  15.         strinit(group_name);
  16.         count++;
  17.     }
  18.     Student(const char* name, const char* birthdate, const char* phone_number, const char* city, const char* country, const char* study, const char* group_name)
  19.     {
  20.         setstr(this->name, name);
  21.         setstr(this->birthdate, birthdate);
  22.         setstr(this->phone_number, phone_number);
  23.         setstr(this->city, city);
  24.         setstr(this->country, country);
  25.         setstr(this->study, study);
  26.         setstr(this->group_name, group_name);
  27.         count++;
  28.     }
  29.     ~Student()
  30.     {
  31.         delete[] name;
  32.         delete[] birthdate;
  33.         delete[] phone_number;
  34.         delete[] city;
  35.         delete[] country;
  36.         delete[] study;
  37.         delete[] group_name;
  38.         count--;
  39.     }
  40.     void Input()
  41.     {
  42.         const int size = 256;
  43.         char buffer[size];
  44.  
  45.         cout << "Enter name: ";
  46.         getstr(buffer, size, name);
  47.  
  48.         cout << "Enter birthdate: ";
  49.         getstr(buffer, size, birthdate);
  50.  
  51.         cout << "Enter phone number: ";
  52.         getstr(buffer, size, phone_number);
  53.  
  54.         cout << "Enter city: ";
  55.         getstr(buffer, size, city);
  56.  
  57.         cout << "Enter country: ";
  58.         getstr(buffer, size, country);
  59.  
  60.         cout << "Enter study: ";
  61.         getstr(buffer, size, study);
  62.  
  63.         cout << "Enter group name: ";
  64.         getstr(buffer, size, group_name);
  65.     }
  66.     void Print()
  67.     {
  68.         cout << "Here's your student:\n";
  69.         cout << "Name: " << name << endl
  70.             << "Birthdate: " << birthdate << endl
  71.             << "Phone number: " << phone_number << endl
  72.             << "City: " << city << endl
  73.             << "Country: " << country << endl
  74.             << "Study: " << study << endl
  75.             << "Group name: " << group_name << endl;
  76.     }
  77.     const char* getName()
  78.     {
  79.         return name;
  80.     }
  81.     void setName(const char* name)
  82.     {
  83.         setstr(this->name, name);
  84.     }
  85.     const char* getBirthdate()
  86.     {
  87.         return birthdate;
  88.     }
  89.     void setBirthdate(const char* birthdate)
  90.     {
  91.         setstr(this->birthdate, birthdate);
  92.     }
  93.     const char* getPhoneNumber()
  94.     {
  95.         return phone_number;
  96.     }
  97.     void setPhoneNumber(const char* phone_number)
  98.     {
  99.         setstr(this->phone_number, phone_number);
  100.     }
  101.     const char* getCity()
  102.     {
  103.         return city;
  104.     }
  105.     void setCity(const char* city)
  106.     {
  107.         setstr(this->city, city);
  108.     }
  109.     const char* getCountry()
  110.     {
  111.         return country;
  112.     }
  113.     void setCountry(const char* country)
  114.     {
  115.         setstr(this->country, country);
  116.     }
  117.     const char* getStudy()
  118.     {
  119.         return study;
  120.     }
  121.     void setStudy(const char* study)
  122.     {
  123.         setstr(this->study, study);
  124.     }
  125.     const char* getGroupName()
  126.     {
  127.         return group_name;
  128.     }
  129.     void setGroupName(const char* group_name)
  130.     {
  131.         setstr(this->group_name, group_name);
  132.     }
  133.     static void printCount()
  134.     {
  135.         cout << "Student count: " << count << endl;
  136.     }
  137. private:
  138.     char* name;
  139.     char* birthdate;
  140.     char* phone_number;
  141.     char* city;
  142.     char* country;
  143.     char* study;
  144.     char* group_name;
  145.     static int count;
  146.  
  147.     void setstr(char*& dst, const char* scr)
  148.     {
  149.         delete[] dst;
  150.         dst = new char[strlen(scr) + 1];
  151.         strcpy_s(dst, strlen(scr) + 1, scr);
  152.     }
  153.     void getstr(char* buffer, int size, char* scr)
  154.     {
  155.         cin.getline(buffer, size);
  156.         setstr(scr, buffer);
  157.     }
  158.     void strinit(char*& str)
  159.     {
  160.         str = new char;
  161.         *str = '\0';
  162.     }
  163. };
  164. int Student::count = 0;
  165.  
  166. int main()
  167. {
  168.     return 0;
  169. }
Add Comment
Please, Sign In to add comment