Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include<conio.h>
- #define maxlist 50
- struct sinhvien
- {
- int id;
- char Hoten[30];
- char lop[10];
- float CC,GK,CK,TK;
- };
- typedef struct sinhvien* sv;
- struct list
- {
- int x;
- sinhvien SV[maxlist] ;
- };
- void sapxep(list& p) // Func sap xep
- {
- printf("\n==================================");
- printf("\nSap xep...");
- printf("\n==================================");
- sv rp = new sinhvien;
- for (int i = 0; i < p.x - 1; i++)
- for (int j = 0; j < p.x - 1; j++)
- if (p.SV[j].TK< p.SV[j+1].TK)
- {
- rp->id = p.SV[j].id;
- strcpy(rp->Hoten, p.SV[j].Hoten);
- strcpy(rp->lop, p.SV[i].lop);
- rp->CC = p.SV[j].CC;
- rp->GK = p.SV[j].GK;
- rp->CK = p.SV[j].CK;
- rp->TK = p.SV[j].TK;
- p.SV[j].id = p.SV[j + 1].id;
- strcpy(p.SV[j].Hoten, p.SV[j + 1].Hoten);
- strcpy(p.SV[j].lop, p.SV[j + 1].lop);
- p.SV[j].CC = p.SV[j + 1].CC;
- p.SV[j].GK = p.SV[j + 1].GK;
- p.SV[j].CK = p.SV[j + 1].CK;
- p.SV[j].TK = p.SV[j + 1].TK;
- p.SV[j+1].id = rp->id;
- strcpy(p.SV[j+1].Hoten, rp->Hoten);
- strcpy(p.SV[j+1].lop, rp->lop);
- p.SV[j+1].CC = rp->CC;
- p.SV[j+1].GK = rp->GK;
- p.SV[j+1].CK = rp->CK;
- p.SV[j+1].TK = rp->TK;
- }
- }
- void themtt(list& p)
- {
- int n;
- printf("\nNhap so sinh vien can them "); scanf("%d", &n);
- for (int i = 0; i < n; i++)
- {
- printf("\n=====Nhap vao thong tin sinh vien=====");
- printf("\nID : "); scanf("%d", &p.SV[p.x].id);
- printf("\nHo va ten : "); fflush(stdin); std::cin.ignore(1); gets_s(p.SV[p.x].Hoten);
- printf("\nLop : "); scanf("%s", &p.SV[p.x].lop);
- printf("\nDiem chuyen can : "); scanf("%f", &p.SV[p.x].CC);
- printf("\nDiem giua ki : "); scanf("%f", &p.SV[p.x].GK);
- printf("\nDiem Cuoi ki : "); scanf("%f", &p.SV[p.x].CK);
- p.SV[p.x].TK = 0.1 * p.SV[p.x].CC + 0.4 * p.SV[p.x].GK + 0.5 * p.SV[p.x].CK;
- p.x++;
- }
- }
- void xoatt(list& p )
- {
- printf("\n==================================");
- printf("\nXoa thong tin...");
- printf("\n==================================");
- int i_id;
- printf("\nID : "); scanf("%d", &i_id);
- for (int i =0;i<p.x;i++)
- if (p.SV[i].id == i_id)
- {
- for (int j = i; j < p.x - 1; j++)
- {
- p.SV[j].id = p.SV[j + 1].id;
- strcpy(p.SV[j].Hoten, p.SV[j + 1].Hoten);
- strcpy(p.SV[j].lop, p.SV[j + 1].lop);
- p.SV[j].CC = p.SV[j + 1].CC;
- p.SV[j].GK = p.SV[j + 1].GK;
- p.SV[j].CK = p.SV[j + 1].CK;
- p.SV[j].TK = p.SV[j + 1].TK;
- }
- p.x--;
- p.SV[p.x].id = 0;
- strcpy(p.SV[p.x].Hoten, "");
- strcpy(p.SV[p.x].lop, "");
- p.SV[p.x].CC = 0;
- p.SV[p.x].GK = 0;
- p.SV[p.x].CK = 0;
- p.SV[p.x].TK = 0;
- }
- }
- void edit(list& p)
- {
- printf("\n==================================");
- printf("\nEdit...");
- printf("\n==================================");
- int i_id;
- printf("\nID : "); scanf("%d", &i_id);
- for (int i = 0; i < p.x; i++)
- if (p.SV[i].id == i_id)
- {
- printf("\n=============Thong tin chinh sua=====================");
- printf("\nID : "); scanf("%d", &p.SV[i].id);
- printf("\nHo va ten : "); fflush(stdin); std::cin.ignore(1); gets_s(p.SV[i].Hoten);
- printf("\nLop : "); scanf("%s", &p.SV[i].lop);
- printf("\nDiem chuyen can : "); scanf("%f", &p.SV[i].CC);
- printf("\nDiem giua ki : "); scanf("%f", &p.SV[i].GK);
- printf("\nDiem Cuoi ki : "); scanf("%f", &p.SV[i].CK);
- p.SV[i].TK = 0.1 * p.SV[i].CC + 0.4 * p.SV[i].GK + 0.5 * p.SV[i].CK;
- break;
- }
- }
- void xuatds(list& p)
- {
- printf("\n==================================");
- printf("\nXuat thong tin...");
- printf("\n==================================");
- for (int i = 0; i < p.x; i++)
- {
- printf("\nID: %d", p.SV[i].id);
- printf("\nHo va ten: %s", p.SV[i].Hoten);
- printf("\nLop : %s", p.SV[i].lop);
- printf("\nDiem chuyen can : %2.3f", p.SV[i].CC);
- printf("\nDiem giua ki : %2.3f", p.SV[i].GK);
- printf("\nDiem Cuoi ki : %2.3f", p.SV[i].CK);
- printf("\nDiem Tong ket : %2.3f", p.SV[i].TK);
- printf("\n==================================");
- }
- system("PAUSE");
- }
- void timMaxMin(list& p)
- {
- printf("\n==================================");
- printf("\nMinMax...");
- printf("\n==================================");
- int max_x=0;
- float max= p.SV[0].TK;
- int min_x=0;
- float min = p.SV[0].TK;
- for (int i = 0; i < p.x; i++)
- {
- if (p.SV[i].TK > max)
- {
- max = p.SV[i].TK;
- max_x = i;
- }
- if (p.SV[i].TK < min)
- {
- min = p.SV[i].TK;
- min_x = i;
- }
- }
- printf("\nThong tin sv co diem tk cao nhat...");
- printf("\nID: %d", p.SV[max_x].id);
- printf("\nHo va ten: %s", p.SV[max_x].Hoten);
- printf("\nLop : %s", p.SV[max_x].lop);
- printf("\nDiem chuyen can : %2.3f", p.SV[max_x].CC);
- printf("\nDiem giua ki : %2.3f", p.SV[max_x].GK);
- printf("\nDiem Cuoi ki : %2.3f", p.SV[max_x].CK);
- printf("\nDiem Tong ket : %2.3f", p.SV[max_x].TK);
- printf("\nThong tin sv co diem tk cao nhat...");
- printf("\n==================================");
- printf("\nThong tin sv co diem tk thap nhat...");
- printf("\nID: %d", p.SV[min_x].id);
- printf("\nHo va ten: %s", p.SV[min_x].Hoten);
- printf("\nLop : %s", p.SV[min_x].lop);
- printf("\nDiem chuyen can : %2.3f", p.SV[min_x].CC);
- printf("\nDiem giua ki : %2.3f", p.SV[min_x].GK);
- printf("\nDiem Cuoi ki : %2.3f", p.SV[min_x].CK);
- printf("\nDiem Tong ket : %2.3f", p.SV[min_x].TK);
- }
- void timID(list& p)
- {
- printf("\n==================================");
- printf("\nTim kiem...");
- printf("\n==================================");
- int i_id = 0;
- printf("\nID : "); scanf("%d", &i_id);
- for (int i = 0; i < p.x; i++)
- if (p.SV[i].id == i_id)
- {
- printf("\nID: %d", p.SV[i].id);
- printf("\nHo va ten: %s", p.SV[i].Hoten);
- printf("\nLop : %s", p.SV[i].lop);
- printf("\nDiem chuyen can : %2.3f", p.SV[i].CC);
- printf("\nDiem giua ki : %2.3f", p.SV[i].GK);
- printf("\nDiem Cuoi ki : %2.3f", p.SV[i].CK);
- }
- }
- int main()
- {
- struct list dssv;
- dssv.x = 0;
- int chon;
- do
- {
- system("CLS");
- fflush(stdin);
- printf("\n1: Them thong tin\n2: Xoa\n3: Edit\n4: Xuat danh sach\n5: Tim Min Max\n6: Tim kiem theo ID\n7: Sap xep\n8: Thoat\n");
- scanf("%d", &chon);
- switch (chon)
- {
- case 1:
- themtt(dssv);
- break;
- case 2:
- xoatt(dssv);
- break;
- case 3:
- edit(dssv);
- break;
- case 4:
- xuatds(dssv);
- break;
- case 5:
- timMaxMin(dssv);
- break;
- case 6:
- timID(dssv);
- break;
- case 7:
- sapxep(dssv);
- break;
- case 8:
- return 0;
- }
- } while (1);
- // Sap xep
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement