Advertisement
Guest User

Untitled

a guest
May 21st, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. #include <stdio.h>
  2. struct sinhvien{
  3. char ten[50];
  4. char msv[50];
  5. char mon[50];
  6. float diem;
  7. };
  8. struct node
  9. {
  10. sinhvien sv;
  11. node *pnext;
  12. };
  13. struct list
  14. {
  15. node *phead;
  16. node *ptail;
  17. };
  18. void nhapsv(sinhvien &n)
  19. {
  20. printf("\nTen: "); fflush(stdin);
  21. gets(n.ten);
  22. printf("Ma sinh vien: "); fflush(stdin);
  23. gets(n.msv);
  24. printf("Ten mon : ");fflush(stdin);
  25. gets(n.mon);
  26. printf("Diem : "); fflush(stdin);
  27. scanf("%f",&n.diem);
  28. }
  29. void xuatsv(sinhvien n)
  30. {
  31. printf("\nTen: ");puts(n.ten);
  32. printf("Ma sinh vien: ");puts(n.msv);
  33. printf("Ten mon: ");puts(n.mon);
  34. printf("Diem: %f",n.diem);printf("\n");
  35. }
  36. node* createnode(sinhvien n)
  37. {
  38. node* pnode;
  39. pnode = new node;
  40. if (pnode==NULL)
  41. return NULL;
  42. pnode->sv=n;
  43. pnode->pnext=NULL;
  44. return pnode;
  45. }
  46. void addhead(list &l,sinhvien n)
  47. {
  48. node *pnode;
  49. pnode=createnode(n);
  50. if (l.phead==NULL)
  51. {
  52. l.phead=l.ptail=pnode;
  53. }
  54. else
  55. {
  56. pnode->pnext=l.phead;
  57. l.phead=pnode;
  58. }
  59. }
  60. void inds(list l)
  61. {
  62. node *pnode;
  63. pnode=l.phead;
  64. while (pnode!=NULL)
  65. {
  66. xuatsv(pnode->sv);
  67. printf("\n");
  68. pnode=pnode->pnext;
  69. }
  70. }
  71. float max(list l)
  72. {
  73. node *pnode;
  74. float max;
  75. pnode=l.phead;
  76. max=pnode->sv.diem;
  77. while (pnode!=NULL)
  78. {
  79. if (max<pnode->sv.diem)
  80. max=pnode->sv.diem;
  81. pnode=pnode->pnext;
  82. }
  83. return max;
  84. }
  85. float min(list l)
  86. {
  87. node *pnode;
  88. float min;
  89. pnode=l.phead;
  90. min=pnode->sv.diem;
  91. while (pnode!=NULL)
  92. {
  93. if (min>pnode->sv.diem)
  94. min=pnode->sv.diem;
  95. pnode=pnode->pnext;
  96. }
  97. return min;
  98. }
  99. int main()
  100. {
  101. sinhvien sv[100];
  102. list l;
  103. l.phead=l.ptail=NULL;
  104. int n;
  105. printf("nhap so sv: ");scanf("%d",&n);
  106. for (int i=0;i<n;i++)
  107. {
  108. printf("\nSinh vien %d",i+1);printf(":\n");
  109. nhapsv(sv[i]);
  110. addhead(l,sv[i]);
  111. }
  112. inds(l);
  113. printf("Max: %f,",max(l));
  114. printf("\nMin: %f",min(l));
  115. return 0;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement