Advertisement
Marisichka

Untitled

Nov 6th, 2021
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. #define SIZE 50
  5.  
  6. using namespace std;
  7.  
  8. class Student {
  9. private:
  10.     char* name;
  11.     int course;
  12.     bool gender;
  13.  
  14. public:
  15.     string s_gender;
  16.  
  17.     Student() {
  18.         name = new char[SIZE];
  19.     }
  20.  
  21.     Student(char* _name, int _course, bool _gender) : Student() {
  22.         strcpy(name, _name);
  23.         course = _course;
  24.         gender = _gender;
  25.     }
  26.  
  27.     ~Student() {
  28.         delete[] name;
  29.     }
  30.  
  31.     void set() {
  32.  
  33.         cout << "Student information:" << endl;
  34.  
  35.         cout << "Enter name: ";
  36.         cin >> name;
  37.         cout << "Enter course: ";
  38.         cin >> course;
  39.         cout << "Enter gender (male or female): ";
  40.         cin >> gender;
  41.  
  42.         if (s_gender == "male") {
  43.             gender = false;
  44.         }
  45.         else if (s_gender == "female") {
  46.             gender = true;
  47.         }
  48.         else {
  49.             cout << "error";
  50.  
  51.             exit(1);
  52.         }
  53.  
  54.         cout << endl;
  55.     }
  56.  
  57.     void get() {
  58.         cout << "Student information:" << endl;
  59.  
  60.         cout << "Name: " << name << endl;
  61.         cout << "Course: " << course << endl;
  62.         cout << "Gender: " << gender << endl << endl;
  63.     }
  64.  
  65.     friend istream& operator >> (istream& is, Student& x);
  66.  
  67.     friend ostream& operator << (ostream& os, Student& x);
  68. };
  69.  
  70. istream& operator >> (istream& is, Student& x) {
  71.     //string s_gender;
  72.     cout << "Student information:" << endl;
  73.  
  74.     cout << "Enter name: ";
  75.     is >> x.name;
  76.     cout << "Enter course: ";
  77.     is >> x.course;
  78.     cout << "Enter gender (male or female): ";
  79.     is >> x.gender;
  80.    
  81.     if (s_gender == "male") {
  82.             gender = false;
  83.         }
  84.         else if (s_gender == "female") {
  85.             gender = true;
  86.         }
  87.         else {
  88.             cout << "error";
  89.  
  90.             exit(1);
  91.         }
  92.  
  93.  
  94.     cout << endl;
  95.  
  96.     return is;
  97. }
  98.  
  99. ostream& operator << (ostream& os, Student& x) {
  100.     os << "Student information:" << endl;
  101.     os << "Name: " << x.name << endl;
  102.     os << "Course " << x.course << endl;
  103.     os << "Gender: " << x.gender<< endl;
  104.     os << endl;
  105. }
  106.  
  107. int main() {
  108.  
  109.     Student x;
  110.  
  111.     cin >> x;
  112.  
  113.     cout << "Test by cout: " << endl;
  114.     cout << x;
  115.  
  116.     cout << "Test by get(): " << endl;
  117.     x.get();
  118.  
  119.     cout << endl;
  120.  
  121.     return 0;
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement