thuật toán quản lý điểm

5 186 0
thuật toán quản lý điểm

Đang tải... (xem toàn văn)

Thông tin tài liệu

/* http://lap-trinh-may-tinh.blogspot.com/ */ #include<iostream.h> #include<conio.h> #include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> // khai bao struct SV{ char ht[30], dc[50],gioitinh[3],lop[10],xepLoai[10]; int namSinh; float dTCC, dTA,dTDC,dTB; }; SV a[20],*p; int n;// so sinh vien // Nhap thong tin sinh vien void Nhap(){ p=a; // nhap so sinh vien do{ cout<<"\n Nhap so sinh vien: "; cin>>n; if(n<2||n>20) cout<<"\n Nhap lai so sinh vien"; }while(n<2||n>20); // Nhap thong tin sinh vien cout<<"\n Nhap thong tin sinh vien: "; for(int i=0;i<n;i++) { fflush(stdin); cout<<"\n + Nhap thong tin co sinh vien thu "<<i+1<<": "; cout<<"\n - Ho ten: "; gets((p+i)->ht); cout<<"\n - Dia chi: "; gets((p+i)->dc); cout<<"\n - Gioi tinh: "; gets((p+i)->gioitinh); cout<<"\n - Lop: "; gets((p+i)->lop); cout<<"\n - Nam sinh: "; cin>>(p+i)->namSinh; cout<<"\n - Diem toan cao cap: "; cin>>(p+i)->dTCC; cout<<"\n - Diem toan tieng anh: "; cin>>(p+i)->dTA; cout<<"\n - Diem tin dai cuong: "; cin>>(p+i)->dTDC; } } // Tinh diem tong ket void TinhDiem(){ p=a; for(int i=0;i<n;i++) (p+i)->dTB=(((p+i)->dTCC)*3+((p+i)->dTA)*4+((p+i)->dTDC)*5)/12; } // Dem so sinh vien co diem tb>=8 void DemDTB_LonHon8(){ p=a; int dem=0; for(int i=0;i<n;i++) if((p+i)->dTB>=8) dem++; cout<<"\n * So sinh vien co diem trung binh >= 8: "<<dem; } // Dem so sinh vien co diem tb<5 void DemDTB_NhoHon5(){ p=a; int dem=0; for(int i=0;i<n;i++) if((p+i)->dTB<5) dem++; cout<<"\n * So sinh vien co diem trung binh < 5: "<<dem; } // Tim sinh vien co diem cao nhat void InSV_max(){ p=a; float max=p->dTB; for(int i=0;i<n;i++) if (max<(p+i)->dTB) { max=(p+i)->dTB;} // in sinh vien max cout<<"\n * Ten sinh vien co diem cao nhat: "; for(i=0;i<n;i++) if(max==(p+i)->dTB) cout<<"\n +"<<(p+i)->ht; } // Xep loai cho sinh vien void XepLoai(){ p=a; for(int i=0;i<n;i++) { if ((p+i)->dTB<5) strcpy((p+i)->xepLoai,"Truot"); else if ((p+i)->dTB<6) strcpy((p+i)->xepLoai,"Trung binh"); else if ((p+i)->dTB<7) strcpy((p+i)->xepLoai,"Trung binh kha"); else if ((p+i)->dTB<8) strcpy((p+i)->xepLoai,"Kha"); else if ((p+i)->dTB<9) strcpy((p+i)->xepLoai,"Gioi"); else if ((p+i)->dTB<=10) strcpy((p+i)->xepLoai,"Xuat sac"); } } // In danh sach sinh vien void InDS(){ p=a; cout<<"\n * In danh sach sinh vien da xep loai:"; for(int i=0;i<n;i++) cout<<"\n - "<<(p+i)->ht<<"\t - "<<(p+i)->xepLoai; } // doi cho void DoiCho(SV *a, SV *b){ char tht[30],tdc[50],tgioitinh[5],tlop[10],dxl[10]; int tns; float tdtcc,tdta,tdtdc,tdtb; strcpy(tht,a->ht); strcpy(a->ht,b->ht); strcpy(b->ht,tht); strcpy(tdc,a->dc); strcpy(a->dc,b->dc); strcpy(b->dc,tdc); strcpy(tgioitinh,a->gioitinh); strcpy(a->gioitinh,b->gioitinh); strcpy(b->gioitinh,tgioitinh); strcpy(tlop,a->lop); strcpy(a->lop,b->lop); strcpy(b->lop,tlop); strcpy(dxl,a->xepLoai); strcpy(a->xepLoai,b->xepLoai); strcpy(b->xepLoai,dxl); tns=a->namSinh; a->namSinh=b->namSinh; b->namSinh=tns; tdtcc=a->dTCC; a->dTCC=b->dTCC; b->dTCC=tdtcc; tdta=a->dTA; a->dTA=b->dTA; b->dTA=tdta; tdtdc=a->dTDC; a->dTDC=b->dTDC; b->dTDC=tdtdc; tdtb=a->dTB; a->dTB=b->dTB; b->dTB=tdtb; } // sap xep danh sach sinh vien void SapXep(){ p=a; for(int i=0;i<n-1;i++) for(int j=i+1;j<n;j++) { if ((p+i)->dTB>(p+j)->dTB) { DoiCho((p+i),(p+j)); } } cout<<"\n * Danh sach sinh vien da xep loai: "; for(i=0;i<n;i++) cout<<"\n - "<<(p+i)->ht<<"\t - "<<(p+i)->dTB; } // ham chinh void main(){ clrscr(); Nhap(); TinhDiem(); DemDTB_LonHon8(); DemDTB_NhoHon5(); InSV_max(); XepLoai(); InDS(); SapXep(); getch(); } . b->namSinh=tns; tdtcc=a->dTCC; a->dTCC=b->dTCC; b->dTCC=tdtcc; tdta=a->dTA; a->dTA=b->dTA; b->dTA=tdta; tdtdc=a->dTDC; a->dTDC=b->dTDC; b->dTDC=tdtdc; tdtb=a->dTB; . cin>>(p+i)->namSinh; cout<<" - Diem toan cao cap: "; cin>>(p+i)->dTCC; cout<<" - Diem toan tieng anh: "; cin>>(p+i)->dTA; cout<<" - Diem tin. strcpy(tdc,a->dc); strcpy(a->dc,b->dc); strcpy(b->dc,tdc); strcpy(tgioitinh,a->gioitinh); strcpy(a->gioitinh,b->gioitinh); strcpy(b->gioitinh,tgioitinh); strcpy(tlop,a->lop);

Ngày đăng: 25/12/2014, 09:26

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan