Advertisement
bestTamken

Struct

Jun 15th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<string.h>
  3.  
  4. struct Sach
  5. {
  6. char masach[256];
  7. char tensach[256];
  8. char tentg[256];
  9. int namxb;
  10. unsigned int gia;
  11. };
  12.  
  13. void nhapmang(Sach sach[], int n)
  14. {
  15. for(int i=0;i<n;i++)
  16. {
  17. printf("Nhap thong tin cho quyen sach thu %d:\n",i+1);
  18. printf("Ma sach: ");
  19. fflush(stdin);
  20. gets(sach[i].masach);
  21. printf("Ten sach: ");
  22. fflush(stdin);
  23. gets(sach[i].tensach);
  24. printf("Ten tac gia: ");
  25. fflush(stdin);
  26. gets(sach[i].tentg);
  27. printf("Nam xuat ban: ");
  28. scanf("%d",&sach[i].namxb);
  29. printf("Gia sach (VND): ");
  30. scanf("%d",&sach[i].gia);
  31. }
  32. }
  33.  
  34. void hienthi(Sach sach[], int n)
  35. {
  36. for(int i=0;i<n;i++)
  37. {
  38. printf("\n");
  39. printf("Ma sach: ");
  40. puts(sach[i].masach);
  41. printf("Ten sach: ");
  42. puts(sach[i].tensach);
  43. printf("Ten tac gia: ");
  44. puts(sach[i].tentg);
  45. printf("Nam xuat ban: %d\nGia sach: %d\n",sach[i].namxb,sach[i].gia);
  46. }
  47. }
  48.  
  49. //sap xep theo thu tu nam giam dan
  50. void namgiamdan(Sach sach[],int n)
  51. {
  52. Sach tp;
  53. for(int i=0;i<n-1;i++)
  54. for(int j=i+1;j<n;j++)
  55. if(sach[i].namxb>sach[j].namxb)
  56. {
  57. tp=sach[i];
  58. sach[i]=sach[j];
  59. sach[j]=tp;
  60. }
  61. printf("Sap xep theo thu tu giam dan nam xuat ban: \n");
  62. hienthi(sach,n);
  63. }
  64.  
  65. //sap xep theo thu tu ten tang dan
  66. void tentangdan(Sach sach[],int n)
  67. {
  68. Sach tp;
  69. for(int i=0;i<n-1;i++)
  70. for(int j=i+1;j<n;j++)
  71. if(sach[i].tensach[0]>sach[j].tensach[0])
  72. {
  73. tp=sach[i];
  74. sach[i]=sach[j];
  75. sach[j]=tp;
  76. }
  77. printf("Sap xep theo thu tu tang dan ten sach: \n");
  78. hienthi(sach,n);
  79. }
  80.  
  81. //liet ke nhung quyen xuat ban 2005-2015
  82. void nam20052015(Sach sach[],int n)
  83. {
  84. printf("\nNhung quyen xuat ban tu nam 2005 den 2015 la: \n");
  85. for(int i=0;i<n;i++)
  86. if((sach[i].namxb>=2005)&&(sach[i].namxb<=2015)) puts(sach[i].tensach);
  87. }
  88.  
  89. //liet ke nhung quyen co gia 50-100k
  90. void gia50100k(Sach sach[],int n)
  91. {
  92. printf("\nNhung quyen co gia tu 50.000 - 100.000 VND la: \n");
  93. for(int i=0;i<n;i++)
  94. if((sach[i].gia>=50000)&&(sach[i].gia<=100000)) puts(sach[i].tensach);
  95. }
  96.  
  97. main()
  98. {
  99. Sach sach[256];
  100. int n;
  101. printf("Nhap so luong sach: ");
  102. scanf("%d",&n);
  103. nhapmang(sach,n);
  104. printf("Thong tin da nhap la:\n");
  105. hienthi(sach,n);
  106. namgiamdan(sach,n);
  107. tentangdan(sach,n);
  108. nam20052015(sach,n);
  109. gia50100k(sach,n);
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement