Advertisement
asiffff

Project Beta 2

Mar 28th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.19 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.  
  78. struct teacher
  79. {
  80. int id;
  81. char name[20];
  82. char gender[20];
  83. char group[20];
  84. long int phnum;
  85. struct teacher *next,*prev;
  86.  
  87. }*start1=NULL,*end1=NULL,*current1;
  88. void create1()
  89. {
  90. struct teacher *new_node;
  91. if(start1==NULL && end1==NULL)
  92. {
  93. new_node=(struct teacher*)malloc(1*sizeof(struct teacher));
  94. printf("\nEnter the number of teacher id:\n");
  95. scanf("%d",&new_node->id);
  96. printf("\nEnter your group:\n");
  97. scanf("%s",&new_node->group);
  98. printf("\nEnter the teacher name:\n");
  99. scanf("%s",&new_node->name);
  100. printf("\nEnter the teacher gender:\n");
  101. scanf("%s",&new_node->gender);
  102. printf("\nEnter the teacher phone number:\n");
  103. scanf("%ld",&new_node->phnum);
  104. new_node->next=NULL;
  105. new_node->prev=NULL;
  106.  
  107. start1=new_node;
  108. end1=new_node;
  109. current1=new_node;
  110. system("cls");
  111.  
  112. }
  113. else
  114. {
  115. new_node=(struct teacher*)malloc(1*sizeof(struct teacher));
  116. printf("\nEnter Teacher ID:\n");
  117. scanf("%d",&new_node->id);
  118. printf("\nEnter Teacher Group:\n");
  119. scanf("%s",&new_node->group);
  120. printf("\nEnter the teacher name:\n");
  121. scanf("%s",&new_node->name);
  122. printf("\nEnter the teacher gender:\n");
  123. scanf("%s",&new_node->gender);
  124. printf("\nEnter the teacher phone number:\n");
  125. scanf("%ld",&new_node->phnum);
  126. new_node->next=NULL;
  127. new_node->prev=NULL;
  128.  
  129. current1->next=new_node;
  130. new_node->prev=current1;
  131. current1=new_node;
  132. end1=new_node;
  133. system("cls");
  134. }
  135.  
  136.  
  137.  
  138. }
  139. int search(int a,int y)
  140. {
  141. int po=0;
  142. if(y==1)
  143. {
  144. struct student *c;
  145. c=start;
  146. while(c!=NULL)
  147. {
  148. po++;
  149. if(c->id==a)
  150. {
  151. return po;
  152. }
  153. c=c->next;
  154. }
  155. return -1;
  156. }
  157. else if(y==2)
  158. {
  159. struct teacher *c1;
  160. c1=start1;
  161. while(c1!=NULL)
  162. {
  163. po++;
  164. if(c1->id==a)
  165. {
  166. return po;
  167. }
  168. c1=c1->next;
  169. }
  170. return -1;
  171.  
  172. }
  173. }
  174. void dis1()
  175. {
  176. struct teacher *c;
  177. c=start1;
  178. while(c!=NULL)
  179. {
  180. printf("\nTeacher ID:%d\n",c->id);
  181. printf("Your group:%s\n",c->group);
  182. printf("Teacher Name:%s\n",c->name);
  183. printf("Teacher Gender:%s\n",c->gender);
  184. printf("Teacher Phone number:%ld\n",c->phnum);
  185. c=c->next;
  186. }
  187. }
  188. void result()
  189. {
  190. int cls,id;
  191. printf("\nEnter Class and ID NO:\n");
  192. scanf("%d %d",&cls,&id);
  193. struct student *n,*c;
  194. c=start;
  195. int po=0;
  196. while(c!=NULL)
  197. {
  198. po++;
  199. if(c->cla==cls && c->id==id)
  200. {
  201. break;
  202. }
  203. c=c->next;
  204. }
  205.  
  206.  
  207. }
  208.  
  209. int main()
  210. {
  211. int x,y;
  212. while(1)
  213. {
  214. printf("1.Enter Student Details.\n2.View All Student Details\n3.Search Student Details.\n");
  215. printf("4.Enter Teacher Details.\n5.View All Teacher Details\n6.Search Teacher Details.\n");
  216. scanf("%d",&x);
  217. switch(x)
  218. {
  219. case 1:
  220. {
  221. create();
  222. break;
  223. }
  224. case 2:
  225. {
  226. dis();
  227. getch();
  228. system("cls");
  229. break;
  230. }
  231. case 3:
  232. {
  233. y=1;
  234. printf("Enter Id:\n");
  235. int n;
  236. scanf("%d",&n);
  237. int pos = search(n,y);
  238. if(pos==-1)
  239. {
  240. printf("\n Not Found\n");
  241. }
  242. else
  243. {
  244. struct student *b;
  245. b=start;
  246. int j;
  247. for(j=0; j<pos-1; j++)
  248. {
  249. b=b->next;
  250. }
  251. 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);
  252. getch();
  253. system("cls");
  254. }
  255. break;
  256. }
  257. case 4:
  258. {
  259. create1();
  260. break;
  261. }
  262. case 5:
  263. {
  264. dis1();
  265. getch();
  266. system("cls");
  267. break;
  268. }
  269. case 6:
  270. {
  271. printf("Enter Id:\n");
  272. int k;
  273. y=2;
  274. scanf("%d",&k);
  275. int pos1 = search(k,y);
  276. if(pos1==-1)
  277. {
  278. printf("\n Not Found\n");
  279. }
  280. else
  281. {
  282. struct teacher *c;
  283. c=start1;
  284. int j;
  285. for(j=0; j<pos1-1; j++)
  286. {
  287. c=c->next;
  288. }
  289. printf("\nTeacher ID:%d\n",c->id);
  290. printf("Your group:%s\n",c->group);
  291. printf("Teacher Name:%s\n",c->name);
  292. printf("Teacher Gender:%s\n",c->gender);
  293. printf("Teacher Phone number:%ld\n",c->phnum);
  294. getch();
  295. system("cls");
  296.  
  297. }
  298. break;
  299. }
  300. }
  301. }
  302. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement