fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define MAX 8
  4. struct SV{
  5. int msv;
  6. char hodem[20];
  7. char ten[10];
  8. char gioitinh[10];
  9. int namsinh;
  10. double diemtk;
  11. };
  12. struct vecto{
  13. int count;
  14. SV e[MAX];
  15. };
  16. void input(SV &sv){
  17. cout<<"ma sinh vien: "; cin>>sv.msv;
  18. cout<<"ho dem: "; cin.getline(sv.hodem,20);
  19. cout<<"ten: "; cin.getline(sv.ten,10);
  20. cout<<"gioi tinh: "; cin.getline(sv.gioitinh,10);
  21. cout<<"nam sinh : "; cin>>sv.namsinh;
  22. cout<<"diem tk: "; cin>>sv.diemtk;
  23. }
  24. void output_SV(SV sv){
  25. cout<< setw(10)<<left<<sv.msv;
  26. cout<<setw(20)<<sv.hodem;
  27. cout<<setw(15)<<sv.ten;
  28. cout<<setw(15)<<sv.gioitinh;
  29. cout<<setw(20)<<right<<sv.namsinh;
  30. cout<<setw(20)<<sv.diemtk;
  31. cout<<endl;
  32. }
  33. void output(vecto v){
  34. cout<<"danh sach sinh vien: \n";
  35. cout<< setw(10)<<left<<"Ma sv";
  36. cout<<setw(20)<<"ho dem ";
  37. cout<<setw(15)<<"dem ";
  38. cout<<setw(15)<<"gioi tinh ";
  39. cout<<setw(20)<<right<<"nam sinh";
  40. cout<<setw(20)<<"diem tong ket";
  41. cout<<endl;
  42. for(int i=0;i<v.count;i++){
  43. output_SV(v.e[i]);
  44. }
  45. }
  46. //them 1 sinh vien vao danh sach
  47. void add(vecto & v,SV sv){
  48. if(v.count<MAX){
  49. v.e[v.count++]=sv;
  50. }
  51. else{
  52. cout<<"danh sach da day..."<<endl;
  53. }
  54. }
  55. //xoa sv dau tien
  56. void xoadau(vecto &v){
  57. if(v.count>0){
  58. for(int i=0;i<v.count-1;i++){
  59. v.e[i]=v.e[i+1];
  60. }
  61. v.count--;
  62. }
  63. }
  64. void chen(vecto & v,SV sv,int pos=2){
  65. if(v.count>=MAX){
  66. cout<<"ds full"<<endl;
  67. return;
  68. }
  69. if(pos>v.count) pos=v.count;
  70. for(int i=v.count;i>pos;i--){
  71. v.e[i]=v.e[i-1];
  72. }
  73. v.e[pos]=sv;
  74. v.count++;
  75. }
  76. void sort(vecto & v){
  77. for(int i=0;i<v.count-1;i++){
  78. for(int j=i+1;j<v.count;j++){
  79. if(strcmp(v.e[i].ten,v.e[j].ten)>0){
  80. swap(v.e[i],v.e[j]);
  81. }
  82. }
  83. }
  84. }
  85. int main(){
  86. vecto v;
  87. v.count =0;
  88. SV sv1 = {1001, "tran van", "thanh", "nam", 1999, 7.6};
  89. SV sv2 = {1002, "nguyen thi", "huong", "nu", 2000, 7.3};
  90. SV sv3 = {1003, "nguyen van", "binh", "nam", 1998, 6.4};
  91. SV sv4 = {1004, "bui thi", "hong", "nu", 2000, 5.8};
  92. SV sv5 = {1005, "duong van", "giang", "nam", 1998, 8.3};
  93. add(v,sv1);
  94. add(v,sv2);
  95. add(v,sv3);
  96. add(v,sv4);
  97. add(v,sv5);
  98. cout<<"danh sach ban dau\n";
  99. output(v);
  100. cout<<"\n sau khi xoa sv dau: "<<endl;
  101. xoadau(v);
  102. output(v);
  103. SV newsv={1006, "le thi", "doan", "nu", 1998, 7.6};
  104. chen(v,newsv);
  105. cout<<"danh sach sau khi chen them"<<endl;
  106. output(v);
  107. sort(v);
  108. cout<<"danh sach sau khi sap la: "<<endl;
  109. output(v);
  110. return 0;
  111. }
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
danh sach ban dau
danh sach sinh vien: 
Ma sv     ho dem              dem            gioi tinh                  nam sinh       diem tong ket
1001      tran van            thanh          nam                            1999                 7.6
1002      nguyen thi          huong          nu                             2000                 7.3
1003      nguyen van          binh           nam                            1998                 6.4
1004      bui thi             hong           nu                             2000                 5.8
1005      duong van           giang          nam                            1998                 8.3

 sau khi xoa sv dau: 
danh sach sinh vien: 
Ma sv     ho dem              dem            gioi tinh                  nam sinh       diem tong ket
1002      nguyen thi          huong          nu                             2000                 7.3
1003      nguyen van          binh           nam                            1998                 6.4
1004      bui thi             hong           nu                             2000                 5.8
1005      duong van           giang          nam                            1998                 8.3
danh sach sau khi chen them
danh sach sinh vien: 
Ma sv     ho dem              dem            gioi tinh                  nam sinh       diem tong ket
1002      nguyen thi          huong          nu                             2000                 7.3
1003      nguyen van          binh           nam                            1998                 6.4
1006      le thi              doan           nu                             1998                 7.6
1004      bui thi             hong           nu                             2000                 5.8
1005      duong van           giang          nam                            1998                 8.3
danh sach sau khi sap la: 
danh sach sinh vien: 
Ma sv     ho dem              dem            gioi tinh                  nam sinh       diem tong ket
1003      nguyen van          binh           nam                            1998                 6.4
1006      le thi              doan           nu                             1998                 7.6
1005      duong van           giang          nam                            1998                 8.3
1004      bui thi             hong           nu                             2000                 5.8
1002      nguyen thi          huong          nu                             2000                 7.3