sirbi

Untitled

May 14th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.74 KB | None | 0 0
  1. #include <string>
  2. #include <stdio.h>
  3. #include <iostream>
  4. #include <clocale>
  5. using namespace std;
  6. //              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~              //
  7. //              Работу выполнил       Бабкин С.В. ИСТ-111      Кодировка Windows 1251             //
  8. //              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~              //
  9.  
  10. class Person {
  11. public:
  12.     Person(int SNILS, string LastName, string Name, string Name3, string Gender) {
  13.         SetSNILS(SNILS);
  14.         SetLastName(LastName);
  15.         SetName(Name);
  16.         SetName3(Name3);
  17.         SetGender(Gender);
  18.     }
  19.  
  20.     void SetName(string Name_s) { Name = Name_s; }
  21.     void SetLastName(string LastName_s) { LastName = LastName_s; }
  22.     void SetName3(string Name3_s) { Name3 = Name3_s; }
  23.     void SetSNILS(int SNILS_s) { SNILS = SNILS_s; }
  24.     void SetGender(string Gender_s) { Gender = Gender_s; }
  25.  
  26.     string GetName() { return Name; }
  27.     string GetLastName() { return LastName; }
  28.     string GetName3() { return Name3; }
  29.  
  30. private:
  31.     string Name;
  32.     string LastName;
  33.     string Name3;
  34.     int SNILS;
  35.     string Gender;
  36. };
  37.  
  38. class Date {
  39. public:
  40.  
  41.     Date(int dd_s, int mm_s, int yy_s) {
  42.         SetDay(dd_s);
  43.         SetMonth(mm_s);
  44.         SetYear(yy_s);
  45.     }
  46.  
  47.     int GetDay() { return dd; }
  48.     int GetMonth() { return mm; }
  49.     int GetYear() { return yy; }
  50.  
  51.     void SetDay(int dd_s) { dd = dd_s; }
  52.     void SetMonth(int mm_s) { mm = mm_s; }
  53.     void SetYear(int yy_s) { yy = yy_s; }
  54.  
  55.     void AgeNow() {
  56.         int AGENow = 0;
  57.         int ddAgeNow, mmAgeNow, yyAgeNow;
  58.         yyAgeNow = yyNow - yy;
  59.         mmAgeNow = mmNow - mm;
  60.         ddAgeNow = ddNow - dd;
  61.         if ((mmAgeNow < 0) && (ddAgeNow < 0)) {
  62.             AGENow = yyAgeNow - 1;
  63.         }
  64.         else if ((mmAgeNow >= 0) && (ddAgeNow < 0)) {
  65.             AGENow = yyAgeNow - 1;
  66.         }
  67.         else if ((mmAgeNow == mm) && (ddAgeNow > dd)) {
  68.             AGENow = yyAgeNow;
  69.         }
  70.         else if ((mmAgeNow == mm) && (ddAgeNow == dd)) {
  71.             AGENow = yyAgeNow + 1;
  72.         }
  73.         else {
  74.             cout << "Проверьте введенные данные в сетторе" << endl;
  75.         }
  76.         cout << "Вам " << AGENow << " лет." << endl;     
  77.     }
  78.     void AgeLink() {
  79.         int AGELink = 0;
  80.         int ddAgeLink, mmAgeLink, yyAgeLink;
  81.         cout << "Введите день: \t";
  82.         cin >> ddLink;
  83.         cout << "Введите НОМЕР месяца: \t";
  84.         cin >> mmLink;
  85.         cout << "Введите год: \t";
  86.         cin >> yyLink;
  87.         cout << "Ваша указанная дата: \t" << ddLink << "." << mmLink << "." << yyLink << endl;
  88.         yyAgeLink = yyLink - yy;
  89.         mmAgeLink = mmLink - mm;
  90.         ddAgeLink = ddLink - dd;
  91.         if ((mmAgeLink < 0) && (ddAgeLink < 0)) {
  92.             AGELink = yyAgeLink - 1;
  93.         }
  94.         else if ((mmAgeLink >= 0) && (ddAgeLink < 0)) {
  95.             AGELink = yyAgeLink - 1;
  96.         }
  97.         else if ((mmAgeLink == mm) && (ddAgeLink > dd)) {
  98.             AGELink = yyAgeLink;
  99.         }
  100.         else if ((mmAgeLink == mm) && (ddAgeLink == dd)) {
  101.             AGELink = yyAgeLink + 1;
  102.         }
  103.         else {
  104.             cout << "Проверьте введенные данные в сетторе" << endl;
  105.         }
  106.         cout << ddLink << "." << mmLink << "." << yyLink << " вам будет " << AGELink << " лет" << endl;
  107.     }
  108.     void AgeDate() {;
  109.         cout << "Введите желаемый возраст: \t";
  110.         cin >> FavoriteAGE;
  111.         cout << "Вам исполнится " << FavoriteAGE << " лет " << dd << "." << mm << "." << yy + FavoriteAGE << endl;
  112.     }
  113. private:
  114.     int dd, mm, yy;
  115.  
  116.     int ddNow = 14;
  117.     int mmNow = 5;
  118.     int yyNow = 2020;
  119.  
  120.     int ddLink = 0;
  121.     int mmLink = 0;
  122.     int yyLink = 0;
  123.  
  124.     int AGENow;
  125.     int AGELink;
  126.     int FavoriteAGE;
  127.  
  128. };
  129.  
  130. int main() {
  131.     setlocale(LC_ALL, "ru");
  132.  
  133.     Person Student1(12345678900, "Иванов", "Иван", "Иванович", "Мужской");
  134.     cout << "ФИО полностью: \t \t" << Student1.GetLastName() << " " << Student1.GetName() << " " << Student1.GetName3() << endl;
  135.     cout << "ФИО сокращенно: \t" << Student1.GetLastName() << " " << Student1.GetName()[0] << "." << Student1.GetName3()[0] << "." << endl;
  136.     cout << "Хотите сменить Фамилию? (y/n) \t";
  137.     string a;
  138.     cin >> a;
  139.     if (a == "y") {
  140.         cout << "Введите новую фамилию: \t";
  141.         string NewLastName;
  142.         cin >> NewLastName;
  143.         Student1.SetLastName(NewLastName);
  144.         cout << "ФИО полностью: \t \t" << Student1.GetLastName() << " " << Student1.GetName() << " " << Student1.GetName3() << endl;
  145.         cout << "ФИО сокращенно: \t" << Student1.GetLastName() << " " << Student1.GetName()[0] << "." << Student1.GetName3()[0] << "." << endl;
  146.     }
  147.     else {
  148.         cout << "Отмена операции." << endl;
  149.     }
  150.  
  151.     Date DateOfStudent1(19, 9, 2001);
  152.     cout << "Ваша дата рождения: \t" << DateOfStudent1.GetDay() << "." << DateOfStudent1.GetMonth() << "." << DateOfStudent1.GetYear() << endl;
  153.     DateOfStudent1.AgeNow();
  154.     DateOfStudent1.AgeLink();
  155.     DateOfStudent1.AgeDate();
  156. }
Advertisement
Add Comment
Please, Sign In to add comment