Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ðàáîòà 1.cpp: îïðåäåëÿåò òî÷êó âõîäà äëÿ êîíñîëüíîãî ïðèëîæåíèÿ.
- //
- #include "stdafx.h"
- #include <stdio.h>
- #include <iostream>
- #include <conio.h>
- #include <string.h>
- #include <vector>
- using namespace std;
- class People
- {
- public:
- char fullName[200];
- struct
- {
- int day;
- int mounth;
- int year;
- } birthday;
- void printPeople()
- {
- cout << this->fullName << " :{" << this->birthday.day << ":" << this->birthday.mounth << ":" << this->birthday.year << "}\n";
- }
- };
- class Family {
- public:
- //Ïîëÿ êëàññà
- People mother;
- People father;
- People childs[10];
- int countOfChilds;
- static Family enterFamily()
- {
- Family family;
- cin.ignore(numeric_limits<streamsize>::max(), '\n');// ýòî ïîìîæåò íàì ñ÷èòûâàòü íåñêîëüêî ñëîâ ÷åðåç ïðîáåëû
- cout << "\n----------------------------------------------------------------------------\n father name: ";
- cin.getline(family.father.fullName, 200);
- cout << " Vvedite daty rojdenia:\n (int day):=> ";
- cin >> family.father.birthday.day;
- cout << " (int mounth):=>";
- cin >> family.father.birthday.mounth;
- cout << " (int year):=>";
- cin >> family.father.birthday.year;
- cout << endl;
- cin.ignore(numeric_limits<streamsize>::max(), '\n');// ýòî ïîìîæåò íàì ñ÷èòûâàòü íåñêîëüêî ñëîâ ÷åðåç ïðîáåëû
- cout << " mother name: ";
- cin.getline(family.mother.fullName, 200);
- cout << " Vvedite daty rojdenia:\n (int day):=> ";
- cin >> family.mother.birthday.day;
- cout << " (int mounth):=>";
- cin >> family.mother.birthday.mounth;
- cout << " (int year):=>";
- cin >> family.mother.birthday.year;
- cout << endl;
- cout << "Vvedite kol-vo detei(2-e uje est):";
- cin >> family.countOfChilds;//ñ÷åò÷èê îòâå÷àþùèé çà êîëè÷åñòâî äåòåé â ýòîé ñåìüå
- for (int i = 0; i < family.countOfChilds; i++)
- {
- cin.ignore(numeric_limits<streamsize>::max(), '\n');// ýòî ïîìîæåò íàì ñ÷èòûâàòü íåñêîëüêî ñëîâ ÷åðåç ïðîáåëû
- cout << "Vvedite imay " << i + 1 << " rebenka: ";
- cin >> family.childs[i].fullName;
- cout << " Vvedite daty rojdenia:\n (int day):=> ";
- cin >> family.childs[i].birthday.day;
- cout << " (int mounth):=>";
- cin >> family.childs[i].birthday.mounth;
- cout << " (int year):=>";
- cin >> family.childs[i].birthday.year;
- cout << endl;
- }
- return family;
- }
- void printMembers()
- {
- this->father.printPeople();
- this->mother.printPeople();
- for (int i = 0; i < this->countOfChilds; i++)
- {
- this->childs[i].printPeople();
- }
- }
- void print(vector<Family> f)
- {
- for (int i = 0; i < f.size(); i++)
- {
- f[i].printMembers();
- }
- }
- void task(vector<Family> f)
- {
- for (int i = 0; i < f.size(); i++)
- {
- if (!strcmp(f[i].father.fullName, "Ivanov I.I."))
- {
- int minDate = 31 + 12 * 12 + 365 * 3000;// ïðîñòî äàííûå äëÿ ñðàâíåíèÿ
- int position = 0;// ïîçèöèÿ â äåòÿõ
- for (int j = 0; j < f[i].countOfChilds; j++)
- {
- int tmp = f[i].childs[j].birthday.day + 12 * f[i].childs[j].birthday.mounth + 365 * f[i].childs[j].birthday.year;
- //ïðåâðàùàåì äàòó â äíè
- if (minDate > tmp)
- {
- minDate = tmp;
- position = j;
- }
- }
- 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;
- }
- }
- }
- };
- int _tmain(int argc, _TCHAR* argv[])
- {
- setlocale(LC_ALL, "Russian");
- int count = 0;
- cout << "ÂÍÈÌÀÍÈÅ! ÂÂÎÄ ÄÀÍÍÛÕ Â ÏÐÎÃÐÀÌÌÅ ÏÐÎÈÇÂÎÄÈÒÑß ÑÒÐÎÃÎ ÍÀ ËÀÒÈÍÈÖÅ!" << endl;
- cout << "Ââåäèòå êîëè÷åñòâî ñåìåé: ";
- cin >> count;
- vector<Family> f;
- for (int i = 0; i < count; i++)
- {
- f.push_back(Family::enterFamily());
- }
- f[0].print(f);
- f[0].task(f);
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement