Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.10 KB | None | 0 0
  1. // ðàáîòà 1.cpp: îïðåäåëÿåò òî÷êó âõîäà äëÿ êîíñîëüíîãî ïðèëîæåíèÿ.
  2. //
  3.  
  4.  
  5. #include "stdafx.h"
  6. #include <stdio.h>
  7. #include <iostream>
  8. #include <conio.h>
  9. #include <string.h>
  10. #include <vector>
  11.  
  12.  
  13. using namespace std;
  14. class People
  15. {
  16. public:
  17.     char fullName[200];
  18.     struct
  19.     {
  20.         int day;
  21.         int mounth;
  22.         int year;
  23.     } birthday;
  24.     void printPeople()
  25.     {
  26.         cout << this->fullName << " :{" << this->birthday.day << ":" << this->birthday.mounth << ":" << this->birthday.year << "}\n";
  27.     }
  28. };
  29.  
  30.  
  31.  
  32. class Family {
  33. public:
  34.     //Ïîëÿ êëàññà
  35.     People mother;
  36.     People father;
  37.     People childs[10];
  38.     int countOfChilds;
  39.  
  40.  
  41.     static Family  enterFamily()
  42.     {
  43.         Family family;
  44.         cin.ignore(numeric_limits<streamsize>::max(), '\n');// ýòî ïîìîæåò íàì ñ÷èòûâàòü íåñêîëüêî ñëîâ ÷åðåç ïðîáåëû
  45.         cout << "\n----------------------------------------------------------------------------\n father name: ";
  46.         cin.getline(family.father.fullName, 200);
  47.         cout << "  Vvedite daty rojdenia:\n  (int day):=> ";
  48.         cin >> family.father.birthday.day;
  49.         cout << "  (int mounth):=>";
  50.         cin >> family.father.birthday.mounth;
  51.         cout << "  (int year):=>";
  52.         cin >> family.father.birthday.year;
  53.         cout << endl;
  54.         cin.ignore(numeric_limits<streamsize>::max(), '\n');// ýòî ïîìîæåò íàì ñ÷èòûâàòü íåñêîëüêî ñëîâ ÷åðåç ïðîáåëû
  55.         cout << " mother name: ";
  56.         cin.getline(family.mother.fullName, 200);
  57.         cout << "  Vvedite daty rojdenia:\n  (int day):=> ";
  58.         cin >> family.mother.birthday.day;
  59.         cout << "  (int mounth):=>";
  60.         cin >> family.mother.birthday.mounth;
  61.         cout << "  (int year):=>";
  62.         cin >> family.mother.birthday.year;
  63.         cout << endl;
  64.         cout << "Vvedite kol-vo detei(2-e uje est):";
  65.         cin >> family.countOfChilds;//ñ÷åò÷èê îòâå÷àþùèé çà êîëè÷åñòâî äåòåé â ýòîé ñåìüå
  66.         for (int i = 0; i < family.countOfChilds; i++)
  67.         {
  68.             cin.ignore(numeric_limits<streamsize>::max(), '\n');// ýòî ïîìîæåò íàì ñ÷èòûâàòü íåñêîëüêî ñëîâ ÷åðåç ïðîáåëû
  69.             cout << "Vvedite imay " << i + 1 << " rebenka: ";
  70.             cin >> family.childs[i].fullName;
  71.             cout << " Vvedite daty rojdenia:\n  (int day):=> ";
  72.             cin >> family.childs[i].birthday.day;
  73.             cout << "  (int mounth):=>";
  74.             cin >> family.childs[i].birthday.mounth;
  75.             cout << "  (int year):=>";
  76.             cin >> family.childs[i].birthday.year;
  77.             cout << endl;
  78.         }
  79.         return family;
  80.  
  81.     }
  82.     void printMembers()
  83.     {
  84.         this->father.printPeople();
  85.         this->mother.printPeople();
  86.         for (int i = 0; i < this->countOfChilds; i++)
  87.         {
  88.             this->childs[i].printPeople();
  89.         }
  90.     }
  91.      void print(vector<Family> f)
  92.     {
  93.         for (int i = 0; i < f.size(); i++)
  94.         {
  95.             f[i].printMembers();
  96.         }
  97.     }
  98.      void task(vector<Family> f)
  99.     {
  100.         for (int i = 0; i < f.size(); i++)
  101.         {
  102.             if (!strcmp(f[i].father.fullName, "Ivanov I.I."))
  103.             {
  104.                 int minDate = 31 + 12 * 12 + 365 * 3000;// ïðîñòî äàííûå äëÿ ñðàâíåíèÿ
  105.                 int position = 0;// ïîçèöèÿ â äåòÿõ
  106.                 for (int j = 0; j < f[i].countOfChilds; j++)
  107.                 {
  108.                     int tmp = f[i].childs[j].birthday.day + 12 * f[i].childs[j].birthday.mounth + 365 * f[i].childs[j].birthday.year;
  109.                     //ïðåâðàùàåì äàòó â äíè
  110.                     if (minDate > tmp)
  111.                     {
  112.                         minDate = tmp;
  113.                         position = j;
  114.                     }
  115.                 }
  116.                 cout << "name\tbirthday\n" << f[i].childs[position].fullName << "\t" << f[i].childs[position].birthday.day << " " << f[i].childs[position].birthday.mounth << " " << f[i].childs[position].birthday.year;
  117.  
  118.             }
  119.         }
  120.     }
  121. };
  122.  
  123.  
  124.  
  125. int _tmain(int argc, _TCHAR* argv[])
  126. {
  127.  
  128.  
  129.     setlocale(LC_ALL, "Russian");
  130.     int count = 0;
  131.  
  132.     cout << "ÂÍÈÌÀÍÈÅ! ÂÂÎÄ ÄÀÍÍÛÕ Â ÏÐÎÃÐÀÌÌÅ ÏÐÎÈÇÂÎÄÈÒÑß ÑÒÐÎÃÎ ÍÀ ËÀÒÈÍÈÖÅ!" << endl;
  133.     cout << "Ââåäèòå êîëè÷åñòâî ñåìåé: ";
  134.     cin >> count;
  135.     vector<Family> f;
  136.     for (int i = 0; i < count; i++)
  137.     {
  138.         f.push_back(Family::enterFamily());
  139.     }
  140.     f[0].print(f);
  141.     f[0].task(f);
  142.     _getch();
  143.     return 0;
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement