Advertisement
TimxAG

Untitled

Dec 13th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.79 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. class doctor
  5. {
  6. //protected:
  7.  
  8. public:
  9. string name;
  10. string prof;
  11. void getname1()
  12. {
  13. cout << "Введите фамилию: \n";
  14. cin >> name;
  15. }
  16. void getprof()
  17. {
  18. cout <<"Введите специализацию: \n";
  19. cin >> prof;
  20. }
  21. void outdata2()
  22. {
  23. cout << name << endl << prof << endl ;
  24. }
  25. };
  26. class pacient : public doctor
  27. {
  28. //protected:
  29.  
  30. public:
  31. string name;
  32. int years;
  33. string date1;
  34.  
  35. string ill;
  36. int doctor;
  37. int palace;
  38. string date2;
  39. void getname()
  40. {
  41. cout << "Введите фамилию: \n";
  42. cin >> name;
  43. }
  44. void getyears()
  45. {
  46. cout << "Введите возраст: \n";
  47. cin >> years;
  48. }
  49. void getdate1()
  50. {
  51. cout << "Введите дату поступления: \n";
  52. cin >> date1;
  53. }
  54. void getdate2()
  55. {
  56. cout << "Введите дату выписки(если еще не выписан введите 0 ): \n";
  57. cin >> date2;
  58. }
  59. void getpalace()
  60. {
  61. cout << "Введите палату: \n";
  62. cin >> palace;
  63. }
  64. void getdoctor()
  65. {
  66. cout << "Введите номер доктора: \n";
  67. cin >> doctor;
  68. }
  69. void getill()
  70. {
  71. cout << "Введите болезнь: \n";
  72. cin >> ill;
  73. }
  74. void outdata(string k)
  75. {
  76. if (k!="")
  77. {
  78. if (date2!="0") cout << name << endl << years << endl << date1 << endl << date2 << endl << palace << endl << k << endl;
  79. else
  80. cout << name << endl << years << endl << date1 << endl << "Еще не выписан" << endl << palace << endl << k << endl;
  81. }
  82. else
  83. {
  84. if (date2!="0") cout << name << endl << years << endl << date1 << endl << date2 << endl << palace << endl << "Доктор не найден" << endl;
  85. else
  86. cout << name << endl << years << endl << date1 << endl << "Еще не выписан" << endl << palace << endl << "Доктор не найден" << endl;
  87. }
  88.  
  89. }
  90. };
  91. class card : public pacient
  92. {
  93. public:
  94. string type;
  95.  
  96. };
  97. struct qq
  98. {
  99. int first;
  100. int second;
  101. };
  102. struct il
  103. {
  104. string type;
  105. int count;
  106. };
  107. int main()
  108. {
  109. system("chcp 1251>0");
  110. int count = 0, count2 = 0;
  111. qq ppalace[100];
  112. il ill[100];
  113. pacient *p;
  114. p = new pacient[100];
  115. doctor *d;
  116. d = new doctor[100];
  117. /* p.getname();
  118. p.getyears();
  119. p.getdate1();
  120. p.getdate2();
  121. p.getpalace();
  122. p.getdoctor();
  123. p.outdata();
  124. d.getname1();
  125. d.getprof();
  126. d.getnumber();
  127. d.outdata2();*/
  128. int t,i;
  129. int countp=0,counti=0;
  130. cout << "1.Считать информацию о пацеинте\n";
  131. cout << "2.Вывести информацию о пациенте\n";
  132. cout << "3.Считать информацию о докторе\n";
  133. cout << "4.Вывести информацию о докторе\n";
  134. cout << "5.Вывести информацию о палатах\n";
  135. cout << "6.Вывести список всех пациентов\n";
  136. cout << "7.Вывести список всех докторов\n";
  137. cout << "8.Выписка пациента\n";
  138. cout << "9.Статистика болезней\n";
  139. cout << "0.Завершить программу\n";
  140.  
  141. while (cin>>t)
  142. {
  143. switch (t)
  144. {
  145. case 0:
  146. {
  147. return 0;
  148. }
  149. case 1:
  150. {
  151. bool f=false,flag=false;
  152. count++;
  153. p[count].getname();
  154. p[count].getyears();
  155. p[count].getdate1();
  156. p[count].getdate2();
  157. p[count].getpalace();
  158. for (i=0; i<=countp; i++)
  159. {
  160. if ((ppalace[i].first == p[count].palace) && (p[count].date2 == "0"))
  161. {
  162. f = true;
  163. ppalace[i].second++;
  164. }
  165. }
  166. if ((!f) && (p[count].date2 == "0"))
  167. {
  168. countp++;
  169. ppalace[countp].first = p[count].palace;
  170. ppalace[countp].second=1;
  171. }
  172. p[count].getill();
  173. for (i=0; i<=counti; i++)
  174. {
  175. if ((ill[i].type == p[count].ill) && (p[count].date2 == "0"))
  176. {
  177. flag = true;
  178. ill[i].count++;
  179. }
  180. }
  181. if ((!flag) && (p[count].date2 == "0"))
  182. {
  183. counti++;
  184. ill[counti].type = p[count].ill;
  185. ill[counti].count=1;
  186. }
  187. p[count].getdoctor();
  188.  
  189. break;
  190. }
  191. case 2:
  192. {
  193. cout << "Введите номер больного, для которого вывести справку: \n";
  194. int c;
  195. cin >> c;
  196. p[c].outdata(d[p[c].doctor].name);
  197. break;
  198. }
  199. case 3:
  200. {
  201. count2++;
  202. d[count2].getname1();
  203. d[count2].getprof();
  204. break;
  205. }
  206. case 4:
  207. {
  208. cout << "Введите номер доктора, для которого вывести справку: \n";
  209. int c;
  210. cin >> c;
  211. d[c].outdata2();
  212. break;
  213. }
  214. case 5:
  215. {
  216. for (i=1; i<=countp; i++)
  217. {
  218. cout <<"Палата №" << ppalace[i].first << " кол-во больных - " << ppalace[i].second << endl;
  219. }
  220. break;
  221. }
  222. case 6:
  223. {
  224. for (i=1; i<=count; i++)
  225. if (p[i].date2=="0")
  226. {
  227. cout << p[i].name << endl;
  228. }
  229. }
  230. case 7:
  231. {
  232. for (i=1; i<=count2; i++)
  233. {
  234. cout << d[i].prof << " " << d[i].name << endl;
  235. }
  236. }
  237. case 8:
  238. {
  239. cout << "Введите номер выписываемого пациента\n";
  240. int c;
  241. cin >> c;
  242. if (p[c].date2!="0") cout << "Пациент уже выписан, а ты мудак\n";
  243. else
  244. {
  245. cout << "Введите дату выписки\n";
  246. string st;
  247. cin >> st;
  248. p[c].date2 = st;
  249. cout <<"Пациент выписан!\n";
  250. }
  251. break;
  252. }
  253. case 9:
  254. {
  255. for (i=1; i<=counti; i++)
  256. {
  257. cout <<"Заболеванием " << ill[i].type << " болеет " << ill[i].count << " пациент(а/ов)" << endl;
  258. }
  259. break;
  260. }
  261. }
  262. cout << "1.Считать информацию о пацеинте\n";
  263. cout << "2.Вывести информацию о пациенте\n";
  264. cout << "3.Считать информацию о докторе\n";
  265. cout << "4.Вывести информацию о докторе\n";
  266. cout << "5.Вывести информацию о палатах\n";
  267. cout << "6.Вывести список всех пациентов\n";
  268. cout << "7.Вывести список всех докторов\n";
  269. cout << "8.Выписка пациента\n";
  270. cout << "9.Статистика болезней\n";
  271. cout << "0.Завершить программу\n";
  272.  
  273. }
  274.  
  275. return 0;
  276.  
  277. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement