Advertisement
asiffff

Project Beta

Feb 20th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.11 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <conio.h>
  5. struct student
  6. {
  7. int id;
  8. int cla;
  9. long int p_num;
  10. char group[20];
  11. char name[20];
  12. char gender[20];
  13.  
  14. struct student *next,*prev;
  15. }*start=NULL,*end=NULL,*current;
  16.  
  17. void create()
  18. {
  19. if(start==NULL && end==NULL)
  20. {
  21. struct student *new_node;
  22. new_node=(struct student*)malloc(1*sizeof(struct student));
  23. printf("\nEnter Name:\n");
  24. scanf("%s",&new_node->name);
  25. printf("Enter Class:");
  26. scanf("%d",&new_node->cla);
  27. printf("Enter ID:\n");
  28. scanf("%d",&new_node->id);
  29. printf("Enter Group:\n");
  30. scanf("%s",&new_node->group);
  31. printf("Enter Gender:\n");
  32. scanf("%s",&new_node->gender);
  33. printf("Enter Parents Phone Number:\n");
  34. scanf("%ld",&new_node->p_num);
  35. new_node->next=NULL;
  36. new_node->prev=NULL;
  37. start=new_node;
  38. end=new_node;
  39. current=new_node;
  40. system("cls");
  41. }
  42. else
  43. {
  44. struct student *new_node;
  45. new_node=(struct student*)malloc(1*sizeof(struct student));
  46. printf("\nEnter Name:\n");
  47. scanf("%s",&new_node->name);
  48. printf("Enter Class:");
  49. scanf("%d",&new_node->cla);
  50. printf("Enter ID:");
  51. scanf("%d",&new_node->id);
  52. printf("Enter Group:\n");
  53. scanf("%s",&new_node->group);
  54. printf("Enter Gender:\n");
  55. scanf("%s",&new_node->gender);
  56. printf("Enter Parents Phone Number:\n");
  57. scanf("%ld",&new_node->p_num);
  58. new_node->next=NULL;
  59. new_node->prev=NULL;
  60. current->next=new_node;
  61. new_node->prev=current;
  62. end=new_node;
  63. current=new_node;
  64. system("cls");
  65. }
  66. }
  67. void dis()
  68. {
  69. struct student *c;
  70. c=start;
  71. while(c!=NULL)
  72. {
  73. printf("\n Name : %s ID : %d\n Gender : %s Group : %s Parents Phone Number: %ld\n",c->name,c->id,c->gender,c->group,c->p_num);
  74. c=c->next;
  75. }
  76. }
  77. int search(int a)
  78. {
  79. struct student *c;
  80. c=start;
  81. int po=0;
  82. while(c!=NULL)
  83. {
  84. po++;
  85. if(c->id==a)
  86. {
  87. return po;
  88. }
  89. c=c->next;
  90. }
  91. return -1;
  92. }
  93. struct teacher
  94. {
  95. int id;
  96. char name[20];
  97. char gender[20];
  98. char group[20];
  99. long int phnum;
  100. struct teacher *next,*prev;
  101.  
  102. }*start1=NULL,*end1=NULL,*current1;
  103. void create1()
  104. {
  105. struct teacher *new_node;
  106. if(start1==NULL && end1==NULL)
  107. {
  108. new_node=(struct teacher*)malloc(1*sizeof(struct teacher));
  109. printf("\nEnter the number of teacher id:\n");
  110. scanf("%d",&new_node->id);
  111. printf("\nEnter your group:\n");
  112. scanf("%s",&new_node->group);
  113. printf("\nEnter the teacher name:\n");
  114. scanf("%s",&new_node->name);
  115. printf("\nEnter the teacher gender:\n");
  116. scanf("%s",&new_node->gender);
  117. printf("\nEnter the teacher phone number:\n");
  118. scanf("%ld",&new_node->phnum);
  119. new_node->next=NULL;
  120. new_node->prev=NULL;
  121.  
  122. start1=new_node;
  123. end1=new_node;
  124. current1=new_node;
  125. system("cls");
  126.  
  127. }
  128. else
  129. {
  130. new_node=(struct teacher*)malloc(1*sizeof(struct teacher));
  131. printf("\nEnter Teacher ID:\n");
  132. scanf("%d",&new_node->id);
  133. printf("\nEnter Teacher Group:\n");
  134. scanf("%s",&new_node->group);
  135. printf("\nEnter the teacher name:\n");
  136. scanf("%s",&new_node->name);
  137. printf("\nEnter the teacher gender:\n");
  138. scanf("%s",&new_node->gender);
  139. printf("\nEnter the teacher phone number:\n");
  140. scanf("%ld",&new_node->phnum);
  141. new_node->next=NULL;
  142. new_node->prev=NULL;
  143.  
  144. current1->next=new_node;
  145. new_node->prev=current1;
  146. current1=new_node;
  147. end1=new_node;
  148. system("cls");
  149. }
  150.  
  151.  
  152.  
  153. }
  154. int search1(int a)
  155. {
  156. struct teacher *c;
  157. c=start1;
  158. int po=0;
  159. while(c!=NULL)
  160. {
  161. po++;
  162. if(c->id==a)
  163. {
  164. return po;
  165. }
  166. c=c->next;
  167. }
  168. return -1;
  169. }
  170. void dis1()
  171. {
  172. struct teacher *c;
  173. c=start1;
  174. while(c!=NULL)
  175. {
  176. printf("\nTeacher ID:%d\n",c->id);
  177. printf("Your group:%s\n",c->group);
  178. printf("Teacher Name:%s\n",c->name);
  179. printf("Teacher Gender:%s\n",c->gender);
  180. printf("Teacher Phone number:%ld\n",c->phnum);
  181. c=c->next;
  182. }
  183. }
  184. void result()
  185. {
  186. int cls,id;
  187. printf("\nEnter Class and ID NO:\n");
  188. scanf("%d %d",&cls,&id);
  189. struct student *n,*c;
  190. c=start;
  191. int po=0;
  192. while(c!=NULL)
  193. {
  194. po++;
  195. if(c->cla==cls && c->id==id)
  196. {
  197. break;
  198. }
  199. c=c->next;
  200. }
  201.  
  202.  
  203. }
  204.  
  205. int main()
  206. {
  207. int x;
  208. while(1)
  209. {
  210. printf("1.Enter Student Details.\n2.View All Student Details\n3.Search Student Details.\n");
  211. printf("4.Enter Teacher Details.\n5.View All Teacher Details\n6.Search Teacher Details.\n");
  212. scanf("%d",&x);
  213. switch(x)
  214. {
  215. case 1:
  216. {
  217. create();
  218. break;
  219. }
  220. case 2:
  221. {
  222. dis();
  223. getch();
  224. system("cls");
  225. break;
  226. }
  227. case 3:
  228. {
  229. printf("Enter Id:\n");
  230. int n;
  231. scanf("%d",&n);
  232. int pos = search(n);
  233. if(pos==-1)
  234. {
  235. printf("\n Not Found\n");
  236. }
  237. else
  238. {
  239. struct student *b;
  240. b=start;
  241. int j;
  242. for(j=0; j<pos-1; j++)
  243. {
  244. b=b->next;
  245. }
  246. printf("\n Name:%s ID:%d\n Gender:%s Group:%s Parents Number: %ld\n",b->name,b->id,b->gender,b->group,b->p_num);
  247. getch();
  248. system("cls");
  249. }
  250. break;
  251. }
  252. case 4:
  253. {
  254. create1();
  255. break;
  256. }
  257. case 5:
  258. {
  259. dis1();
  260. getch();
  261. system("cls");
  262. break;
  263. }
  264. case 6:
  265. {
  266. printf("Enter Id:\n");
  267. int k;
  268. scanf("%d",&k);
  269. int pos1 = search1(k);
  270. if(pos1==-1)
  271. {
  272. printf("\n Not Found\n");
  273. }
  274. else
  275. {
  276. struct teacher *c;
  277. c=start1;
  278. int j;
  279. for(j=0; j<pos1-1; j++)
  280. {
  281. c=c->next;
  282. }
  283. printf("\nTeacher ID:%d\n",c->id);
  284. printf("Your group:%s\n",c->group);
  285. printf("Teacher Name:%s\n",c->name);
  286. printf("Teacher Gender:%s\n",c->gender);
  287. printf("Teacher Phone number:%ld\n",c->phnum);
  288. getch();
  289. system("cls");
  290.  
  291. }
  292. break;
  293. }
  294. }
  295. }
  296. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement