Facebook
From Mir Maruf Hossain, 2 Years ago, written in C.
Embed
Download Paste or View Raw
Hits: 87
  1. #include<graphics.h>
  2. #include<stdio.h>
  3. #include<conio.h>
  4. #include<string.h>
  5. typedef struct Employee
  6. {
  7. char empID[15];
  8. char fname[20];
  9. char lname[20];
  10. int age;
  11. float bsal;
  12. long phone;
  13. } Employee;
  14. FILE *fp;
  15. Employee emp;
  16. char fileName[]="EMP.txt";
  17. char tempFileName[]="temp.txt";
  18. /* function used in project */
  19. void AddEmployee();
  20. void ListEmployee();
  21. void SearchEmployee();
  22. void ModifyEmployee();
  23. void DeleteEmployee();
  24. void first();
  25. char file();
  26. void main()
  27. {
  28. char ch='a';
  29. int gd=DETECT,gm,x,y;
  30. initgraph(&gd,&gm,"c:\\turboc3\\bgi");
  31. clrscr();
  32. first();
  33. fp=fopen(fileName,"rb+");
  34. if(fp==NULL)
  35. {
  36. fp=fopen( fileName,"wb+");
  37. if(fp==NULL)
  38. {
  39. printf("Can't Open File");
  40. exit();
  41. }
  42. }
  43. while(ch!='6')
  44. {
  45. ch=file();
  46. switch(ch)
  47. {
  48. case '1':
  49. AddEmployee();
  50. break;
  51. case '2':
  52. ListEmployee();
  53. break;
  54. case '3':
  55. SearchEmployee();
  56. break;
  57. case '4':
  58. ModifyEmployee();
  59. break;
  60. case '5':
  61. DeleteEmployee();
  62. break;
  63. case '6':
  64. exit(0);
  65. break;
  66. default:
  67. //testcolor(RED+BLINK);
  68. gotoxy(30,10);
  69. cprintf("WRONG CHOICE!!!");
  70. break;
  71. }
  72. }
  73. }
  74. void AddEmployee()
  75. {
  76. char another,ch;
  77. do
  78. {
  79. clrscr();
  80. fseek(fp,0,SEEK_END);
  81. another='Y';
  82. gotoxy(25,3);
  83. //testcolor(RED);
  84. cprintf("ADD EMPLOYEE RECORD");
  85. gotoxy(25,6);
  86. //testcolor(GREEN);
  87. cprintf("1.ENTER EMPLOYEE ID: ");
  88. gets(emp.empID);
  89. gotoxy(25,7);
  90. cprintf("2.ENTER FIRST NAME OF EMPLOYEE: ");
  91. gets(emp.fname);
  92. gotoxy(25,8);
  93. cprintf("3. ENTER LAST NAME OF EMPLOYEE: ");
  94. gets(emp.lname);
  95. gotoxy(25,9);
  96. cprintf("4. ENTER AGE OF EMPLOYEE: ");
  97. scanf("%d",&emp.age);
  98. gotoxy(25,10);
  99. cprintf("5. ENTER SALARY OF EMPLOYEE: ");
  100. scanf("%f",&emp.bsal);
  101. gotoxy(25,11);
  102. cprintf("6.ENTER PHONE OF EMPLOYEE:");
  103. scanf("%ld",&emp.phone);
  104. gotoxy(28,15);
  105. textcolor(MAGENTA + BLINK);
  106. cprintf("SAVE CHANGE (y/n)?");
  107. ch=getch();
  108. if(ch=='y'||ch=='Y')
  109. {
  110. fwrite(&emp,sizeof(emp),1,fp);
  111. fflush(stdin);
  112. }
  113. gotoxy(28,15);
  114. cprintf("ADD ANOTHER EMPLOYEE(Y/N)?");
  115. fflush(stdin);
  116. another=getch();
  117. fflush(stdin);
  118. textcolor(WHITE);
  119. }while(another=='Y'|| another=='y');
  120. }
  121. void ListEmployee()
  122. {
  123. int i;
  124. fseek(fp,0,SEEK_SET);
  125. //testcolor(RED);
  126. gotoxy(1,1);
  127. cprintf("LIST OF EMPLOYEE RECORD");
  128. //testcolor(GREEN);
  129. gotoxy(1,2);
  130. cprintf("EMP ID");
  131. gotoxy(14,2);
  132. cprintf("FIRST NAME");
  133. gotoxy(27,2);
  134. cprintf("LAST NAME");
  135. gotoxy(40,2);
  136. cprintf("AGE");
  137. gotoxy(53,2);
  138. cprintf("SALARY");
  139. gotoxy(66,2);
  140. cprintf("PHONE");
  141. for(i=1;i<=80;i++)
  142. {
  143. //testcolor(YELLOW);
  144. gotoxy(i,3);
  145. cprintf("-");
  146. }
  147. i=4;
  148. while(fread(&emp,sizeof(emp),1,fp)==1)
  149. {
  150. gotoxy(1,i);
  151. cprintf("%s",emp.empID);
  152. gotoxy(14,i);
  153. cprintf("%s",emp.fname);
  154. gotoxy(27,i);
  155. cprintf("%s",emp.lname);
  156. gotoxy(40,i);
  157. cprintf("%d",emp.age);
  158. gotoxy(53,i);
  159. cprintf("%.2f",emp.bsal);
  160. gotoxy(66,i);
  161. cprintf("%ld",emp.phone);
  162. i++;
  163. }
  164. }
  165. void SearchEmployee()
  166. {
  167. int i,datafound=0;
  168. char employeeId[15];
  169. char another,ch;
  170. do
  171. {
  172. clrscr();
  173. fseek(fp,0,SEEK_SET);
  174. gotoxy(1,1);
  175. textcolor(RED);
  176. cprintf("SEARCH EMPLOYEE RECORD");
  177. gotoxy(5,2);
  178. textcolor(GREEN);
  179. cprintf("ENTER EMPLOYEE ID: ");
  180. gets(employeeId);
  181. while(fread(&emp,sizeof(emp),1,fp)==1)
  182. {
  183. if(strcmp(emp.empID,employeeId)==0)
  184. {
  185. datafound=1;
  186. break;
  187. }
  188. }
  189. if(datafound==1)
  190. {
  191. textcolor(RED);
  192. gotoxy(4,4);
  193. cprintf("RECORD OF EMPLOYEE");
  194. textcolor(GREEN);
  195. gotoxy(4,5);
  196. cprintf("——————–");
  197. gotoxy(4,6);
  198. cprintf("EMPLOYEE ID :");
  199. cprintf("%s",emp.empID);
  200. gotoxy(4,7);
  201. cprintf("FIRST NAME :");
  202. cprintf("%s",emp.fname);
  203. gotoxy(4,8);
  204. cprintf("LAST NAME :");
  205. gotoxy(4,9);
  206. cprintf("AGE :");
  207. cprintf("%d",emp.age);
  208. gotoxy(4,10);
  209. cprintf("BASIC SALARY :");
  210. cprintf("%.2f",emp.bsal);
  211. gotoxy(4,11);
  212. cprintf("PHONE :");
  213. cprintf("%ld",emp.phone);
  214. }
  215. else
  216. {
  217. gotoxy(10,8);
  218. cprintf("EMPLOYEE NOT FOUND!!!!!");
  219. }
  220. gotoxy(25,15);
  221. textcolor(RED+BLINK);
  222. cprintf("SEARCH ANOTHER EMPLOYEE(Y/N)?");
  223. fflush(stdin);
  224. another=getch();
  225. fflush(stdin);
  226. textcolor(WHITE);
  227. }while(another=='Y'|| another=='y');
  228. }
  229. void ModifyEmployee()
  230. {
  231. int i, datafound=0,recordNo=0;
  232. char employeeId[15];
  233. char another,ch;
  234. do
  235. {
  236. clrscr();
  237. fseek(fp,0,SEEK_SET);
  238. rewind(fp);
  239. gotoxy(1,1);
  240. textcolor(RED);
  241. cprintf("MODIFY EMPLOYEE RECORD");
  242. textcolor(GREEN);
  243. gotoxy(2,2);
  244. cprintf("ENTER EMPLOYEE ID TO BE MODIFIED:");
  245. gets(employeeId);
  246. while(fread(&emp,sizeof(emp),1,fp)==1)
  247. {
  248. if(strcmp(emp.empID,employeeId)==0)
  249. {
  250. datafound=1;
  251. break;
  252. }
  253. recordNo++;
  254. }
  255. if(datafound==1)
  256. {
  257. gotoxy(5,3);
  258. textcolor(RED);
  259. cprintf("OLD RECORD IS:");
  260. gotoxy(5,4);
  261. textcolor(GREEN);
  262. cprintf("EMPLOYEE ID :");
  263. cprintf("%s",emp.empID);
  264. gotoxy(5,5);
  265. cprintf("FIRST NAME :");
  266. cprintf("%s",emp.fname);
  267. gotoxy(5,6);
  268. cprintf("LAST NAME :");
  269. cprintf("%s",emp.lname);
  270. gotoxy(5,7);
  271. cprintf("AGE :");
  272. cprintf("%d",emp.age);
  273. gotoxy(5,8);
  274. cprintf("BASIC SALARY :");
  275. cprintf("%.2f",emp.bsal);
  276. gotoxy(5,9);
  277. cprintf("PHONE :");
  278. cprintf("%ld",emp.phone);
  279. gotoxy(5,11);
  280. textcolor(GREEN);
  281. cprintf("EMPLOYEE ID:");
  282. gets(emp.empID);
  283. gotoxy(5,13);
  284. cprintf("FIRST NAME :");
  285. gets(emp.fname);
  286. gotoxy(5,14);
  287. cprintf("LAST NAME :");
  288. gets(emp.lname);
  289. gotoxy(5,15);
  290. cprintf("AGE :");
  291. scanf("%d",&emp.age);
  292. gotoxy(5,16);
  293. cprintf("BASIC SALARY :");
  294. scanf("%f",&emp.bsal);
  295. gotoxy(5,17);
  296. cprintf("PHONE :");
  297. scanf("%ld",&emp.phone);
  298. fseek(fp,sizeof(emp)*(recordNo),SEEK_SET);
  299. gotoxy(10,19);
  300.  
  301. if(fwrite(&emp,sizeof(emp),1,fp)==1)
  302. cprintf("THE RECORD HAS BEEN MODIFIED!!!!!");
  303. else
  304. cprintf("EROR DURING MODIFICATION!!!!!");
  305. }
  306. else
  307. {
  308. gotoxy(10,19);
  309. cprintf("EMPLOYEE NOT FOUND!!!!!");
  310. }
  311. gotoxy(10,21);
  312. textcolor(RED+BLINK);
  313. cprintf("MODIFY ANOTHER EMPLOYEE(Y/N)?");
  314. fflush(stdin);
  315. another=getch();
  316. fflush(stdin);
  317. textcolor(WHITE);
  318. }while(another=='Y'||another=='y');
  319. }
  320. void DeleteEmployee()
  321. {
  322. int i,datafound=0;
  323. char employeeId[15];
  324. FILE *fpTemp;
  325. char another,ch;
  326. do
  327. {
  328. clrscr();
  329. fseek(fp,0,SEEK_SET);
  330. rewind(fp);
  331. textcolor(RED);
  332. gotoxy(1,1);
  333. cprintf("DELETE EMPLOYEE RECORD");
  334. textcolor(GREEN);
  335. gotoxy(2,2);
  336. cprintf("ENTER EMPLOYEE ID TO BE DELETED:");
  337. gets(employeeId);
  338. while(fread(&emp,sizeof(emp),1,fp)==1)
  339. {
  340. if(strcmp(emp.empID,employeeId)==0)
  341. {
  342. datafound=1;
  343. break;
  344. }
  345. }
  346. if(datafound==1)
  347. {
  348. fpTemp=fopen(tempFileName,"wb");
  349. rewind(fp);
  350. while(fread(&emp,sizeof(emp),1,fp)==1)
  351. {
  352. if(strcmp(emp.empID,employeeId)!=0)
  353. fwrite(&emp,sizeof(emp),1,fpTemp);
  354. }
  355. fclose(fp);
  356. fclose(fpTemp);
  357. remove(fileName);
  358. rename(tempFileName,fileName);
  359. fp=fopen(fileName,"rb+");
  360. gotoxy(6,8);
  361. cprintf("SUCCESSFULLY DELETED!!!!!");
  362. }
  363. else
  364. {
  365. gotoxy(2,6);
  366. cprintf("EMPLOYEE NOT FOUND!!!!!");
  367. }
  368. gotoxy(10,20);
  369. textcolor(RED+BLINK);
  370. cprintf("DELETE ANOTHER EMPLOYEE(Y/N)?");
  371. fflush(stdin);
  372. another=getch();
  373. fflush(stdin);
  374. textcolor(WHITE);
  375. }while(another=='Y'|| another=='y');
  376. }
  377. void first()
  378. {
  379. int gd=DETECT,gm;
  380. initgraph(&gd,&gm,"c:\\tc\\bgi");
  381. setcolor(GREEN);
  382. settextstyle(4,0,3);
  383. outtextxy(100,190,"EMPLOYEE INFORMATION SYSTEM");
  384. //settextcolor(1,0,1);
  385. setcolor(RED);
  386. outtextxy(480,350,"DEVELOPED BY:");
  387. setcolor(BLUE);
  388. outtextxy(480,370,"BESTENGINEERINGPROJECTS");
  389. outtextxy(480,400,">>>>>>>>>>");
  390. restorecrtmode();
  391. }
  392. char file()
  393. {
  394. int gdriver=DETECT, gmod;
  395. char i;
  396. initgraph(&gdriver,&gmod,"c:\\tc\\bgi");
  397. setcolor(RED);
  398. setcolor(GREEN);
  399. settextstyle(7,0,2);
  400. outtextxy(130,45,"EMPLOYEE INFORMATION SYSTEM");
  401. settextstyle(7,0,3);
  402. setcolor(YELLOW);
  403. outtextxy(260,95,"MAIN MENU");
  404. settextstyle(0,0,0);
  405. setcolor(MAGENTA);
  406. outtextxy(200,145,"1>>ADD EMPLOYEE RECORD.");
  407. outtextxy(200,170,"2>>LIST RECORDS OF ALL EMPLOYEE.");
  408. outtextxy(200,195,"3>>SEARCH A PARTICULR EMPLOYEE.");
  409. outtextxy(200,220,"4>>MODIFY INFORMATION OF A EMPLOYEE.");
  410. outtextxy(200,245,"5>>DELETE A EMPLOYEE.");
  411. outtextxy(200,270,"6>>EXIT STSTEM.");
  412. setcolor(GREEN+BLINK);
  413. outtextxy(200,360,"ENTER YOUR CHOICE: ");
  414. i=getch();
  415. restorecrtmode();
  416. return (i);
  417. }
  418.