· 9 years ago · Dec 18, 2016, 03:06 PM
1#include<vector>
2#include<string>
3#include<algorithm>
4#include<iostream>
5#include<iomanip>
6#include<stdlib.h>
7#include<windows.h>
8#include <fstream>
9#include <random>
10
11using namespace std;
12
13struct MyLine
14{
15 string name;
16 string familiya;
17 string otchestvo;
18 string birth;
19 string country;
20 string sex;
21 int inn;
22 int passport;
23 string adress;
24 string email;//
25 string judge;
26 string profession;
27 string study;
28 string snils;
29 string voenkom;
30 string telephone;
31};
32
33void printLine(MyLine Person) {
34 ofstream fout("table.txt");
35
36 fout << setw(15) << Person.name <<
37 setw(15) << Person.familiya <<
38 setw(15) << Person.otchestvo <<
39 setw(15) << Person.birth <<
40 setw(15) << Person.country <<
41 setw(15) << Person.sex <<
42 setw(15) << Person.inn <<
43 setw(15) << Person.passport <<
44 setw(15) << Person.adress <<
45 setw(15) << Person.email <<
46 setw(15) << Person.judge <<
47 setw(15) << Person.profession <<
48 setw(15) << Person.study <<
49 setw(15) << Person.snils <<
50 setw(15) << Person.voenkom <<
51 setw(15) << Person.telephone <<
52 endl;
53
54}
55
56void printTable(std::vector<MyLine> tableTemp) {
57 ofstream fout("table.txt");
58 fout << endl;
59 fout << "ИмÑ" << setw(15) <<
60 "ФамилиÑ" << setw(15) <<
61 "ОтчеÑтво" << setw(15) <<
62 "Дата рождениÑ" << setw(15) <<
63 "МеÑто рождениÑ" << setw(15) <<
64 "Пол" << setw(15) <<
65 "Инн" << setw(20) <<
66 "ПаÑпортные данные" << setw(20) <<
67 "ÐÐ´Ñ€ÐµÑ Ð¿Ñ€Ð¾Ð¶Ð¸Ð²Ð°Ð½Ð¸Ñ" << setw(15) <<
68 "E-mail" << setw(15) <<
69 "СудимоÑти" << setw(15) <<
70 "ПрофеÑÑиÑ" << setw(15) <<
71 "Образование" << setw(15) <<
72 "СÐИЛС" << setw(15) <<
73 "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ воинÑком учете" << setw(15) <<
74 "Ðомер телефона" << endl;
75 fout << endl;
76 for (int ite = 0; ite < tableTemp.size(); ite++)
77 printLine(tableTemp[ite]);
78 fout << endl;
79}
80
81
82
83
84bool inputLine(std::vector<MyLine>& tableTemp) {
85 vector<string> MNAME = { "Матвей","Ðртем","МакÑим","Дмитрий","Тимофей","Даниил","Роман","ÐÑ€Ñений","Егор","Кирилл","Иван","ÐлекÑей","Ðикита","ИльÑ",
86 "ЯроÑлав","Тимур","Михаил","ВладиÑлав","ÐлекÑандр","Сергей","Глеб","ДениÑ","РуÑлан","Павел","КонÑтантин","Владимир","Вадим","Семен","Ðнтон","Олег" };
87
88 vector<string> FNAME = { "СофиÑ","Ðрина","ÐлиÑа","ÐнаÑтаÑиÑ","Полина","Вероника","ДарьÑ","Светлана","МариÑ","Ðнна","КриÑтина","Ðлена","ЮлиÑ","Диана","Камила",
89 "Ольга","СофьÑ","Елена","Карина","Ðнгелина","ÐлекÑандра","ТатьÑна","ÐаталиÑ","ОлеÑÑ","ЯроÑлава","Ðнжела","Ðльвира","Ðлла","Инна","Людмилла" };
90
91
92 vector<string> M2NAME = { "Иванов","ВаÑильев","Петров","Смирнов","Михайлов","Волков","Кузнецов","Соловьев","Орлов","Захаров","Виноградов","Морозов",
93 "Ðовиков","Ефимов","Карнаухов","Ефремов","Банных","Боговолов","Пузанков","Боткин","Худокормов","ФедоÑеев","ОÑипов","Боровов","КиÑелев","Крылов","Жуков","Пушкин","Соболев","Карпов" };
94
95 vector<string> F2NAME = { "Ковалева","Ильина","ГуÑева","Титова","Кузьмина","Баранова","Сорокина","Крылова","МакÑимова","Ефимова","Карнаухова","ОÑипова","БелоуÑова"
96 ,"Щербакова","Блинова","Морозова","Петрова","Волкова","Филиппова","БелÑева","Сергеева","Ершова","Ðикитина","Ð Ñбова","ПолÑкова","Цветкова","Ðикитина","Фомина","Ðндреева","Ефремова" };
97
98
99 vector<string> M3NAME = { "Матвеевич","Ðртемович","МакÑимович","Дмитриевич","Тимофеевич","Данилович","Романович","ÐÑ€Ñеньевич","Егорович","Кириллович","Иванович","ÐлекÑеевич","Ðикитович","Ильич",
100 "ЯроÑлавович","Тимурович","Михаилович","ВладиÑлавович","ÐлекÑандрович","Сергеевич","Глебович","ДениÑович","РуÑланович","Павлович","КонÑтантинович","Владимирович",
101 "Вадимович","Семенович","Ðнтонович","Олегович" };
102
103 vector<string> F3NAME = { "Матвеевна","Ðртемовна","МакÑимовна","Дмитриевна","Тимофеевна","Даниловна","Романовна","ÐÑ€Ñениевна","Егоровна","Кирилловна","Ивановна","ÐлекÑеевна","Ильина",
104 "ЯроÑлавовна","Тимуровна","Михаиловна","ВладиÑлавовна","ÐлекÑандровна","Сергеевна","Глебовна","ДениÑовна","РуÑлановна","Павловна","КонÑтантиновна","Владимировна","Вадимовна","Семеновна","Ðнтоновна","Олеговна", "КонÑтантиновна" };
105
106 vector<string> street = { "ЮрловÑкий пр-д.", "Северный б-Ñ€.", "ул. ДекабриÑтов.", "ул. ХачатурÑна." };
107
108 vector<string> mailgroup = { "mail.ru", "yandex.ru", "google.com", "rambler.ru" };
109
110 vector<string> professionmass = { "Судебный ÑкÑперт","ЗвукорежиÑÑер","Международник","Повар","ПÑихолог","РежиÑÑер","Инженер-конÑтруктор","Прокурор",
111 "ВируÑолог","Ðрхитектор","Инженер-проектировщик","Пилот","СпаÑатель","Видеооператор","ПрограммиÑÑ‚-разработчик","Биохимик","ЖурналиÑÑŒ","Дизайнер","IT-ÑпециалиÑÑ‚",
112 "Дизайнер ландшафта","Врач","Горный инженер","Биофизик","Дизайнер интерьера","Фотограф","Следователь","Микробиолог","Олег","Ðвиационный техник","Пожарный",
113 "СпециалиÑÑ‚ по ÑиÑтемам безопаÑноÑти", "Повар", "ПродюÑÑер", "Ðдвокат", "Инженер", "Дипломат", "ÐÑтроном", "Продавец-конÑультант", "Переводчик", "Химик", "Редактор",
114 "Кинолог", "Web-программиÑÑ‚", "Ðколог", "Стоматолог", "Ðктер", "СудьÑ", "Сантехник", "Водитель", "Пекарь" }; // количеÑтво профеÑÑий в маÑÑиве 50
115 MyLine temp{ "","","","","","",0,0,"","","","","","","","" };
116 int sex1;
117 int num;
118 int uchet;
119 int studyrand;
120 int profnum;
121 int mailgroupnum;
122 int house;
123 int flat;
124 int mailpref;
125 char mailgen[6];
126 int streetnum;
127 streetnum = rand() % 4;
128 mailgroupnum = rand() % 4;
129 house = rand() % 30 + 1;
130 flat = rand() % 144 + 1;
131 mailpref = rand() % 523948 + 165400;
132 studyrand = rand() % 2;
133 uchet = rand() % 2;
134 sex1 = rand() % 2;
135 num = rand() % 30;
136 mailgroupnum = rand() % 4;
137 profnum = rand() % 51;
138 if (sex1 == 0) {
139 temp.name = MNAME[num];
140 temp.familiya = M2NAME[num];
141 temp.otchestvo = M3NAME[num];
142 temp.sex = "МужÑкой";
143 if (uchet == 0) {
144 temp.voenkom = "Ðе Ñлужил";
145 }
146 if (uchet == 1) {
147 temp.voenkom = "Служил";
148 }
149 }
150 if (sex1 == 1) {
151 temp.name = FNAME[num];
152 temp.familiya = F2NAME[num];
153 temp.otchestvo = F3NAME[num];
154 temp.sex = "ЖенÑкий";
155 temp.voenkom = "-";
156 }
157 random_device rand;
158 uniform_int_distribution<> d1(01, 28);
159 uniform_int_distribution<> d2(01, 12);
160 uniform_int_distribution<> d3(1965, 1995);
161 temp.birth = ""+d1(rand)+d2(rand)+d3(rand);
162 temp.country = "РФ";
163
164 uniform_int_distribution<long long int> inngen(10000000000, 99999999999);
165 temp.inn = inngen(rand);
166
167
168 uniform_int_distribution<long long int>passportgen(1000000000, 9999999999);
169 temp.passport = passportgen(rand);
170
171
172 temp.adress = "" + street[streetnum];
173 temp.adress += house;
174 temp.adress += flat;
175
176
177
178 temp.email = mailgen + mailgroup[mailgroupnum];
179
180 temp.judge = "СудимоÑтей нет";
181
182 temp.profession = professionmass[num];
183
184 if (studyrand == 0) {
185 temp.study = "Ð’Ñ‹Ñшее";
186 }
187 else if (studyrand == 1) {
188 temp.study = "Среднее Ñпециальное";
189 }
190
191 uniform_int_distribution<long long int>snilsgen(1000000000, 99999999999);
192 temp.snils = snilsgen(rand);
193
194 uniform_int_distribution<long long int> telephone2(1000000, 9999999);
195 temp.telephone = "+7" + 900 + telephone2(rand);
196
197
198
199
200
201 tableTemp.push_back(temp);
202 return (true);
203}
204
205
206int main(int argc, char* argv[]) {
207 SetConsoleCP(1251);
208 SetConsoleOutputCP(1251);
209 std::vector<MyLine> table;
210 MyLine Person;
211 setlocale(LC_ALL, "rus");
212 ofstream fout("table.txt");
213 for (int i = 0; i < 501; i++) {
214 inputLine(table);
215 }
216
217 printTable(table);
218 system("pause");
219 return 0;
220}