Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.95 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4. #include<string.h>
  5. #define FFLUSH while(getchar() !='\n')
  6.  
  7. typedef struct student_info{
  8. char id[10];
  9. char name[10];
  10. int year;
  11. char sex[10];
  12. struct student_info* link;
  13. }INFO;
  14.  
  15. INFO* first;
  16. INFO* current;
  17.  
  18. void createInfo(INFO* data){
  19. printf("Add Student-Info\n");
  20. printf("%-10s: ","Input ID");
  21. gets(data->id);
  22. printf("%-10s: ","Input Name");
  23. gets(data->name);
  24. printf("%-10s: ","Input Year");
  25. scanf("%d",&data->year);
  26. FFLUSH;
  27. printf("%-10s: ","Input Sex");
  28. gets(data->sex);
  29. }
  30.  
  31. void print(){
  32. printf("%-10s: %s\n%-10s: %s\n%-10s: %d\n%-10s: %s\n\n",
  33. "ID",current->id,"Name",current->name,"Year",current->year,
  34. "Sex",current->sex);
  35. }
  36.  
  37. void isSearch(int choice,INFO item){
  38. current = first;
  39. printf("\nInfo\n");
  40. switch(choice)
  41. {
  42. case 1: while(current != NULL){
  43. if(!strcmp(current->id,item.id))
  44. {
  45. print();
  46. current = current->link;
  47. }
  48. else
  49. current = current->link;
  50. }break;
  51. case 2: while(current != NULL){
  52. if(!strcmp(current->name,item.name))
  53. {
  54. print();
  55. current = current->link;
  56. }
  57. else
  58. current = current->link;
  59. }break;
  60. case 3: while(current != NULL){
  61. if(current->year==item.year)
  62. {
  63. print();
  64. current = current->link;
  65. }
  66. else
  67. current = current->link;
  68. }break;
  69. case 4: while(current != NULL){
  70. if(!strcmp(current->sex,item.sex))
  71. {
  72. print();
  73. current = current->link;
  74. }
  75. else
  76. current = current->link;
  77. }break;
  78. }
  79. }
  80.  
  81. void setSearch(){
  82. INFO item;
  83. int choice;
  84. printf("\nSearch\n1.ID\n2.Name\n3.Year\n4.Sex\nInput Number: ");
  85. scanf("%d",&choice);
  86. FFLUSH;
  87. switch(choice)
  88. {
  89. case 1: printf("%-10s: ","Input ID");gets(item.id);break;
  90. case 2: printf("%-10s: ","Input Name");gets(item.name);break;
  91. case 3: printf("%-10s: ","Input Year");scanf("%d",&item.year);FFLUSH;break;
  92. case 4: printf("%-20s: ","Input Sex: male or female");gets(item.sex);break;
  93. }
  94. isSearch(choice,item);
  95. }
  96.  
  97.  
  98. int main(){
  99. int i=0,n=3;
  100. INFO* newinfo;
  101. while(i<n){
  102. newinfo = new(INFO);
  103. createInfo(newinfo);
  104. if(first == NULL)
  105. {
  106. newinfo->link = first;
  107. first = newinfo;
  108. current = first;
  109. }
  110. else
  111. {
  112. newinfo->link = current->link;
  113. current->link = newinfo;
  114. }
  115. i++;
  116. }
  117. setSearch();
  118. setSearch();
  119. setSearch();
  120. setSearch();
  121.  
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement