Advertisement
Guest User

Untitled

a guest
Jan 15th, 2016
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.78 KB | None | 0 0
  1. // ConsoleApplication2.cpp : Defines the entry point for the console application.
  2. //
  3.  
  4. //#include "stdafx.h"
  5.  
  6. #include <iostream>
  7. #include <cstdlib>
  8. #include <string>
  9. #include <cctype>
  10. #include <cstdio>
  11. #include <cstring>
  12.  
  13.  
  14. using namespace std;
  15. int licznik = 0;
  16.  
  17.  
  18. enum menu
  19. {
  20. wprowadz = 1,
  21. wyswietl = 2,
  22. modyfikuj = 3,
  23. wyjdz = 4
  24. };
  25.  
  26. struct pacjent
  27. {
  28. char imie[20];
  29. char nazwisko[25];
  30. int wiek;
  31. char miasto[20];
  32. char ulica[15];
  33. int numer_domu;
  34. char email[30];
  35. };
  36.  
  37. void wprowadz_dane(pacjent *wpp, int licz);
  38. void wyswietl_dane(pacjent *wpp, int licz);
  39. void modyfikuj_dane(pacjent *wpp, int ktory);
  40.  
  41. int main()
  42. {
  43.  
  44. cout << "##########################################################################################################\n";
  45. cout << "#################\t\t\tWitaj w bazie danych pacjentow! #################\n#################\t\t\t Co chcesz zrobic? \t\t\t #################" << endl;
  46. cout << "##########################################################################################################\n";
  47. cout << endl;
  48.  
  49.  
  50.  
  51. unsigned int wybor;
  52.  
  53. int rozmiar = 1 + licznik;
  54. pacjent *wskp = new pacjent[rozmiar];
  55.  
  56. while (1)
  57. {
  58.  
  59. cout << "\t Menu\n";
  60. cout << wprowadz << " - Wprowadz dane pacjenta." << endl;
  61. cout << wyswietl << " - Wywietl dane konkretnego pacjenta." << endl;
  62. cout << modyfikuj << " - Modyfikuj dane konkretnego pacjenta" << endl;
  63. cout << wyjdz << " - Wyjdz z programu." << endl;
  64. cout << endl << "--> ";
  65. cin >> wybor;
  66.  
  67. switch (wybor)
  68. {
  69.  
  70. case 1:
  71. {
  72. system("cls");
  73. cout << "Wprowadz dane do systemu.\n";
  74. cout << endl;
  75. wprowadz_dane(wskp, licznik);
  76. licznik++;
  77.  
  78.  
  79.  
  80. break;
  81. }
  82.  
  83. case 2:
  84. {
  85. system("cls");
  86. wyswietl_dane(wskp, licznik);
  87.  
  88. break;
  89. }
  90.  
  91. case 3:
  92. { system("cls");
  93.  
  94. modyfikuj_dane(wskp, licznik);
  95.  
  96. break;
  97. }
  98.  
  99. case 4:
  100. {
  101. delete[] wskp;
  102. return 0;
  103. }
  104.  
  105. default:
  106. {
  107. cout << "Podaj opcje z menu!";
  108. }
  109. }
  110. cout << endl << endl;
  111. }
  112. }
  113.  
  114.  
  115. /*****************************************FUNKCJE**************************************************/
  116.  
  117. void wprowadz_dane(pacjent *wpp, int licz)
  118. {
  119. /*********************************IMIE***********************************/
  120. do
  121. {
  122. cout << "Imie: ";
  123. cin >> wpp[licz].imie;
  124.  
  125. if ((strlen(wpp[licz].imie) >= 3) && (strlen(wpp[licz].imie) <= 20))
  126. {
  127. if (isalpha(*wpp[licz].imie)) // Sprawdzenie czy cyfry
  128. {
  129. break;
  130. }
  131.  
  132. else
  133. {
  134. cout << "\nProsze podac poprawne imie.\n\n";
  135. }
  136. }
  137.  
  138. else
  139. {
  140. if (strlen(wpp[licz].imie) <= 3)
  141. {
  142. cout << "Nie wierze, ze pacjent ma takie krotkie imie! Podaj imie ponownie. \n";
  143. cout << endl;
  144. }
  145.  
  146. if (strlen(wpp[licz].imie) >= 20)
  147. {
  148. cout << "Nie wierze, ze pacjent ma takie dlugie imie! Podaj imie ponownie. \n";
  149. cout << endl;
  150. }
  151. }
  152. } while (1);
  153.  
  154. /****************************NAZWISKO*********************************************/
  155. do
  156. {
  157. cout << "Nazwisko: ";
  158. cin >> wpp[licz].nazwisko;
  159.  
  160. if ((strlen(wpp[licz].nazwisko) >= 2) && (strlen(wpp[licz].nazwisko) <= 25))
  161. {
  162. if (isalpha(*wpp[licz].nazwisko)) // Sprawdzenie czy cyfry // IF zagnie¿dzony w Ifie, który zagnie¿dzony jest w DO WHILE
  163. {
  164. break;
  165. }
  166.  
  167. else // ELSE DO POWY¯SZEGO IFA #76
  168. {
  169. cout << endl;
  170. cout << "\nProsze podac poprawne nazwisko.\n\n";
  171. }
  172.  
  173. }
  174. else //else do ifa #74
  175. {
  176.  
  177. if (strlen(wpp[licz].nazwisko)<2)
  178. {
  179. cout << endl;
  180. cout << "Nie wierze, ze pacjent ma takie krotkie nazwisko! Podaj nazwisko ponownie. \n";
  181. }
  182.  
  183. if (strlen(wpp[licz].nazwisko)>25)
  184. {
  185. cout << endl;
  186. cout << "Nie wierze, ze pacjent ma takie dlugie nazwisko! Podaj nazwisko ponownie. \n";
  187. }
  188. }
  189. } while (1);
  190.  
  191. /**********************************WIEK******************************************/
  192. cout << "Wiek: ";
  193. do
  194. {
  195.  
  196. cin >> wpp[licz].wiek;
  197.  
  198. if (cin.good())
  199. {
  200. break;
  201. }
  202.  
  203. if (cin.fail())
  204. {
  205. cout << "Podaj poprawny wiek: ";
  206. cin.clear();
  207. cin.sync();
  208. }
  209. } while (1);
  210.  
  211.  
  212. /***************************************MIEJSCOWOSC*****************************************/
  213. do
  214. {
  215. cout << "Miejscowosc: ";
  216. cin >> wpp[licz].miasto;
  217.  
  218. if ((strlen(wpp[licz].miasto) >= 2) && (strlen(wpp[licz].miasto) <= 20))
  219. {
  220. if (isalpha(*wpp[licz].miasto)) // Sprawdzenie czy cyfry
  221. {
  222. break;
  223. }
  224.  
  225. else
  226. {
  227. cout << "\nProsze podac poprawna nazwe miejscowosci.\n\n";
  228. }
  229.  
  230.  
  231. }
  232. else
  233. {
  234. if (strlen(wpp[licz].miasto) <= 3)
  235. {
  236. cout << "Nie wierze, ze nazwa miejscowosci, w ktorej mieszka pacjent, jest taka krotka.\n\n";
  237. }
  238.  
  239. if (strlen(wpp[licz].miasto) >= 20)
  240. {
  241. cout << "Nie wierze, ze nazwa miejscowosci, w ktorej mieszka pacjent, jest taka dluga.\n\n";
  242. }
  243. }
  244. } while (1);
  245.  
  246.  
  247. /***************************************ULICA*********************************/
  248. do
  249. {
  250. cout << "Ulica: ";
  251. cin >> wpp[licz].ulica;
  252.  
  253. if ((strlen(wpp[licz].ulica) >= 2) && (strlen(wpp[licz].ulica) <= 20))
  254. {
  255. if (isalpha(*wpp[licz].ulica)) // Sprawdzenie czy cyfry
  256. {
  257. break;
  258. }
  259.  
  260. else
  261. {
  262. cout << "\nProsze podac poprawna nazwe ulicy.\n\n";
  263. }
  264. }
  265.  
  266. else
  267. {
  268. if (strlen(wpp[licz].ulica) <= 3)
  269. {
  270. cout << "Nie wierze, ze nazwa ulicy jest tak krotka.\n";
  271. }
  272.  
  273. if (strlen(wpp[licz].miasto) >= 20)
  274. {
  275. cout << "Nie wierze, ze nazwa ulicy jest tak dluga.\n";
  276. }
  277. }
  278. } while (1);
  279.  
  280.  
  281. /***************************************NR DOMU*********************************/
  282.  
  283. cout << "Nr domu: ";
  284. while (1)
  285. {
  286. cin >> wpp[licz].numer_domu;
  287.  
  288. if (cin.good())
  289. {
  290. break;
  291. }
  292.  
  293.  
  294. if (cin.fail())
  295. {
  296. cin.clear();
  297. cin.sync();
  298. cout << "Podaj poprawny numer domu: ";
  299.  
  300. }
  301.  
  302. }
  303.  
  304. /*****************************************EMAIL****************************/
  305. do
  306. {
  307. cout << "E-mail: ";
  308. cin >> wpp[licz].email;
  309.  
  310. if (strchr(wpp[licz].email, '@'))
  311. {
  312. if (strchr(wpp[licz].email, '.'))
  313. {
  314.  
  315. if (strlen(wpp[licz].email) >= 5)
  316. {
  317. break;
  318. }
  319.  
  320. else
  321. {
  322. cout << "E-mail jest za krotki. Podaj prawidlowy email!\n";
  323. }
  324.  
  325. }
  326.  
  327. else
  328. {
  329. cout << "To nie jest e-mail! Wpisz go ponownie!\n\n";
  330. }
  331.  
  332. }
  333.  
  334. else
  335. {
  336. cout << "To nie jest e-mail! Wpisz go ponownie!\n\n";
  337. }
  338. } while (1);
  339.  
  340. cout << endl << endl;
  341.  
  342. system("cls");
  343. cout << "###################################################\n";
  344. cout << "#### Twoj pacjent otrzymal numer: [" << licz << "]\n";
  345. cout << "#### Imie: " << wpp[licz].imie << endl;
  346. cout << "#### Nazwisko: " << wpp[licz].nazwisko << endl;
  347. cout << "#### Wiek: " << wpp[licz].wiek << endl;
  348. cout << "#### Miejscowosc: " << wpp[licz].miasto << endl;
  349. cout << "#### Ulica: " << wpp[licz].ulica << endl;
  350. cout << "#### Numer domu: " << wpp[licz].numer_domu << endl;
  351. cout << "#### Adres e-mail: " << wpp[licz].email << endl;
  352. cout << "####################################################\n";
  353. }
  354.  
  355. void wyswietl_dane(pacjent *wpp, int licz)
  356. {
  357.  
  358. cout << "Ktorego pacjenta chcesz wyswietlic? [nr] ";
  359. cin >> licz;
  360.  
  361. cout << "Karta chorobowa pacjenta nr [" << licz << "]: \n";
  362. cout << "Imie: " << wpp[licz].imie << endl;
  363. cout << "Nazwisko: " << wpp[licz].nazwisko << endl;
  364. cout << "Wiek: " << wpp[licz].wiek << endl;
  365. cout << "Miejscowosc: " << wpp[licz].miasto << endl;
  366. cout << "Ulica: " << wpp[licz].ulica << endl;
  367. cout << "Numer domu: " << wpp[licz].numer_domu << endl;
  368. cout << "adres e-mail: " << wpp[licz].email << endl;
  369. }
  370.  
  371. void modyfikuj_dane(pacjent *wpp, int licz)
  372. {
  373.  
  374. cout << "Podaj numer pacjenta, aby zmodyfikowac jego dane!\n-> ";
  375. cin >> licz;
  376.  
  377. wprowadz_dane(wpp, licz);
  378. }
  379.  
  380.  
  381. //void szukajk wiec
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement