Guest User

Untitled

a guest
May 10th, 2019
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.59 KB | None | 0 0
  1. #include "Functions.h"
  2. bool LoginMenu()
  3. {
  4. system("cls");
  5. cout << setw(50) << "*****Library Management System*****\n\n";
  6. cout << setw(50) << "*****Login Screen*****\n\n";
  7. cout << "1) Admin Login\n"
  8. << "2) System User Login\n"
  9. << "3) Librarian Login\n"
  10. << "4) Student Login\n"
  11. << "5) Quit the Program\n\n"
  12. << "Enter your choice: ";
  13. int choice;
  14. cin >> choice;
  15. cin.ignore();
  16. try
  17. {
  18. if (choice < 1 || choice > 5)
  19. throw 0;
  20. system("cls");
  21. switch (choice)
  22. {
  23. case 1:
  24. AdminLogin();
  25. break;
  26. case 2:
  27. break;
  28. case 3:
  29. break;
  30. case 4:
  31. break;
  32. case 5:
  33. return false;
  34. }
  35. }
  36. catch (int)
  37. {
  38. cout << "Invalid Choice Entered\n"
  39. << "Press Enter to enter again...";
  40. (void)getchar();
  41. system("cls");
  42. LoginMenu();
  43. }
  44. return true;
  45. }
  46. void AdminLogin()
  47. {
  48. string username, password;
  49. cout << setw(50) << "ADMINISTRATION LOGIN\n\n\n";
  50. cout << "Enter Username: ";
  51. getline(cin, username);
  52. cout << "Enter Password: ";
  53. getline(cin, password);
  54. if ((admin->getusername() == username) && (admin->getpassword() == password))
  55. {
  56. AdminMenu();
  57. }
  58. }
  59. void AdminMenu()
  60. {
  61. system("cls");
  62. cout << setw(50) << "****ADMINISTRATION ACCOUNT****";
  63. cout << endl << endl << endl;
  64. cout << "1) Manage Students\n"
  65. << "2) Log Out\n\n";
  66. int choice;
  67. cin >> choice;
  68. cin.ignore();
  69. switch (choice)
  70. {
  71. case 1:
  72. StudentMenu();
  73. break;
  74. case 2:
  75. return;
  76. default:
  77. cout << "Invalid Choice Entered..\n"
  78. << "Press Enter to try again...\n";
  79. (void)getchar();
  80. break;
  81. }
  82. AdminMenu();
  83. }
  84. void StudentMenu()
  85. {
  86. system("cls");
  87. cout << setw(50) << "****STUDENTS DATABASE MANAGEMENT****";
  88. cout << endl << endl << endl;
  89. cout << "1) Add a new Student\n"
  90. << "2) Display All Students Record\n"
  91. << "3) Delete Student's Record\n"
  92. << "4) Edit Student's Record\n"
  93. << "5) Update Student's Record\n"
  94. << "6) Search for Particular Student Record\n"
  95. << "7) Return to Previous Menu\n\n"
  96. << "Your choice: ";
  97. int choice;
  98. cin >> choice;
  99. cin.ignore();
  100. switch (choice)
  101. {
  102. case 1:
  103. student = resizeuser(student, studentsize);
  104. student[studentsize - 1] = new Student;
  105. student[studentsize - 1]->addStudent();
  106. break;
  107. case 2:
  108. LoadStudent();
  109. for (int i = 0; i < studentsize; i++)
  110. student[i]->DisplayRecord();
  111. cout << "Press Enter to Continue...";
  112. (void)getchar();
  113. break;
  114. case 3:
  115. DeleteStudent();
  116. break;
  117. case 4:
  118. EditStudent();
  119. break;
  120. case 5:
  121. UpdateStudent();
  122. break;
  123. case 6:
  124. StudentSearch();
  125. break;
  126. case 7:
  127. return;
  128. }
  129.  
  130. StudentMenu();
  131. }
  132. Person** resizeuser(Person **arr, int& size)
  133. {
  134. Person** temp = new Person * [size + 1];
  135. for (int i = 0; i < size; i++)
  136. temp[i] = arr[i];
  137. delete[]arr;
  138. size++;
  139. return temp;
  140. }
  141.  
  142. void LoadStudent()
  143. {
  144. ifstream LoadStuff;
  145. LoadStuff.open("Student Data.FILE", ios::in);
  146. studentsize = 0;
  147. string temp;
  148. while (getline(LoadStuff, temp))
  149. {
  150. student = resizeuser(student, studentsize);
  151. student[studentsize - 1] = new Student;
  152. student[studentsize - 1]->Set_Student_Id(temp);
  153. getline(LoadStuff, temp);
  154. student[studentsize - 1]->Set_Student_College_Id(temp);
  155. getline(LoadStuff, temp);
  156. student[studentsize - 1]->Set_Student_Name(temp);
  157. getline(LoadStuff, temp);
  158. student[studentsize - 1]->Set_Student_Mobile(temp);
  159. getline(LoadStuff, temp);
  160. student[studentsize - 1]->Set_Student_Email(temp);
  161. getline(LoadStuff, temp);
  162. student[studentsize - 1]->Set_Student_Username(temp);
  163. getline(LoadStuff, temp);
  164. student[studentsize - 1]->Set_Student_Password(temp);
  165. getline(LoadStuff, temp);
  166. student[studentsize - 1]->Set_Student_Address(temp);
  167.  
  168. }
  169.  
  170. LoadStuff.close();
  171. }
  172. void DeleteStudent()
  173. {
  174. cout << "Enter Student ID to be deleted: ";
  175. string id;
  176. bool fh = false;
  177. getline(cin, id);
  178. for (int i = 0; i < studentsize; i++)
  179. {
  180. if (student[i]->DeleteStudent(id) != "None")
  181. {
  182. fh = true;
  183. break;
  184. }
  185. }
  186. if (fh)
  187. {
  188. remove("Student Data.FILE");
  189. for (int i = 0; i < studentsize; i++)
  190. {
  191. if (student[i]->getstudentid() != id)
  192. student[i]->saveStudent();
  193. }
  194. cout << "Entered Student's data has been removed\n";
  195. }
  196. else
  197. {
  198. cout << "No Student matched with entered ID.\n";
  199. cout << "Press Enter to Continue...";
  200. (void)getchar();
  201. }
  202.  
  203. }
  204. void EditStudent()
  205. {
  206. int i = 0;
  207. cout << "Enter Student ID to be edited: ";
  208. string id;
  209. bool fh = false;
  210. getline(cin, id);
  211. for (i = 0; i < studentsize; i++)
  212. {
  213. if (student[i]->DeleteStudent(id) != "None")
  214. {
  215. fh = true;
  216. break;
  217. }
  218. }
  219. if (fh)
  220. {
  221. student[i]->DisplayRecord();
  222. student[i]->editStudent();
  223. cout << endl;
  224. }
  225. else
  226. {
  227. cout << "Student ID not found.\n";
  228. cout << "Press Enter to Continue...";
  229. (void)getchar();
  230. }
  231. }
  232. void UpdateStudent()
  233. {
  234. int i = 0;
  235. cout << "Enter Student ID to be Updated: ";
  236. string id;
  237. bool fh = false;
  238. getline(cin, id);
  239. for (i = 0; i < studentsize; i++)
  240. {
  241. if (student[i]->DeleteStudent(id) != "None")
  242. {
  243. fh = true;
  244. break;
  245. }
  246. }
  247. if (fh)
  248. {
  249. cout << "Current Record of Student: ";
  250. student[i]->DisplayRecord();
  251. cout << endl << endl;
  252. student[i]->updateStudent();
  253. cout << endl;
  254. }
  255. else
  256. {
  257. cout << "Student ID not found.\n";
  258. cout << "Press Enter to Continue...";
  259. (void)getchar();
  260. }
  261. }
  262. void StudentSearch()
  263. {
  264. int choice;
  265. string temp;
  266. system("cls");
  267. try {
  268. cout << "Search Student by, \n\n"
  269. << "1) Student ID\n"
  270. << "2) Student Name\n"
  271. << "3) Student College ID\n"
  272. << "4) Student Username\n"
  273. << "\nEnter a Number: ";
  274. cin >> choice;
  275. cin.ignore();
  276. if (choice < 1 || choice > 4)
  277. throw 0;
  278. cout << "\nEnter Required Field: ";
  279. getline(cin, temp);
  280. switch (choice)
  281. {
  282. case 1:
  283. for (int i = 0; i < studentsize; i++)
  284. {
  285. if (temp == student[i]->getstudentid())
  286. student[i]->DisplayRecord();
  287. }
  288. break;
  289. case 2:
  290. for (int i = 0; i < studentsize; i++)
  291. {
  292. if (temp == student[i]->getstudentname())
  293. student[i]->DisplayRecord();
  294. }
  295. break;
  296. case 3:
  297. for (int i = 0; i < studentsize; i++)
  298. {
  299. if (temp == student[i]->getstudentcollegeid())
  300. student[i]->DisplayRecord();
  301. }
  302. break;
  303. case 4:
  304. for (int i = 0; i < studentsize; i++)
  305. {
  306. if (temp == student[i]->getusername())
  307. student[i]->DisplayRecord();
  308. }
  309. break;
  310. }
  311. }
  312. catch (int)
  313. {
  314. cout << "Invalid Choice Entered\n";
  315. }
  316. cout << "Press Enter to continue...\n";
  317. (void)getchar();
  318. }
  319. void SaveStudentUpdate()
  320. {
  321. remove("Student Data.FILE");
  322. for (int i = 0; i < studentsize; i++)
  323. {
  324. student[i]->saveStudent();
  325. }
  326. }
Add Comment
Please, Sign In to add comment