Thêm - Tim khi biet ten - tim co dtb cao nhat - xoa - in Học sinh
**** Thêm - Tim khi biet ten - tim co dtb cao nhat - xoa - in Học sinh
3 cái thêm string.h ko có math.h
#define MAX50 - #define NHAP '1' - #define TIM'2' - #define THONG_TIN '3' - #define XOA '4' - #define IN '5' - #define XOA_MH '6' - #define THOAT27
class CHocSinh
{
<tab>private:
<tab><tab>char hoten[30];
<tab><tab>int toan, van;
<tab>public:
<tab><tab>void nhap_thong_tin();
<tab><tab>void hien_thi();
<tab><tab>float diem_trung_binh();
<tab><tab>char* ten();
};
class CLop
{
<tab>private:
<tab><tab>CHocSinh arrHS[MAX];
<tab><tab>int n;
<tab>public:
<tab><tab>void init()
<tab><tab>{
<tab><tab><tab>n=0;
<tab><tab>}
<tab><tab>void nhap_hoc_sinh();
<tab><tab>void xoa_hoc_sinh(char* ten);
<tab><tab>int tim_hoc_sinh(char* ten, CHocSinh &hs);
<tab><tab>void in_danh_sach();
<tab><tab>void thong_tin_hoc_sinh_cao_diem_nhat();
};
void main()
{
<tab>clrscr();
<tab>CLop objLop;
<tab>objLop.init();
<tab>while(1)
<tab>{
<tab><tab>cout<<"
# Chuong trinh quan ly hoc sinh";
<tab><tab>cout<<"
#\t1 - Nhap hoc sinh";
<tab><tab>cout<<"
#\t2 - Tim hoc sinh qua ten";
<tab><tab>cout<<"
#\t3 - Thong tin hoc sinh diem cao nhat";
<tab><tab>cout<<"
#\t4 - Xoa hoc sinh";
<tab><tab>cout<<"
#\t5 - In danh sach hoc sinh";
<tab><tab>cout<<"
#\t6 - Xoa man hinh";
<tab><tab>cout<<"
\tChon chuc nang: ";
<tab><tab>char c=getch();//get char :lay 1 ky tu
<tab><tab>cout<<c;
<tab><tab>if(c==THOAT)
<tab><tab>{
<tab><tab><tab>break;
<tab><tab>}
<tab><tab>else
<tab><tab>{
<tab><tab><tab>char ten_nhap[30];
<tab><tab><tab>switch(c)
<tab><tab><tab>{
<tab><tab><tab><tab>case NHAP:
<tab><tab><tab><tab><tab>objLop.nhap_hoc_sinh();
<tab><tab><tab><tab><tab>break;
<tab><tab><tab><tab>case TIM:
<tab><tab><tab><tab><tab>cout<<"
Nhap ten hoc sinh can tim: ";
<tab><tab><tab><tab><tab>gets(ten_nhap);
<tab><tab><tab><tab><tab>CHocSinh hs;
<tab><tab><tab><tab><tab>if (objLop.tim_hoc_sinh(ten_nhap, hs)==1)
<tab><tab><tab><tab><tab>{
<tab><tab><tab><tab><tab><tab>cout<<"
====> Thong tin hoc sinh tim thay:
";
<tab><tab><tab><tab><tab><tab>hs.hien_thi();
<tab><tab><tab><tab><tab>}
<tab><tab><tab><tab><tab>else
<tab><tab><tab><tab><tab>{
<tab><tab><tab><tab><tab><tab>cout<<"
====> Khong tim thay hoc sinh co ten "<<ten_nhap<<"
";
<tab><tab><tab><tab><tab>}
<tab><tab><tab><tab><tab>break;
<tab><tab><tab><tab>case THONG_TIN:
<tab><tab><tab><tab><tab>objLop.thong_tin_hoc_sinh_cao_diem_nhat();
<tab><tab><tab><tab><tab>break;
<tab><tab><tab><tab>case XOA:
<tab><tab><tab><tab><tab>cout<<"
Nhap ten hoc sinh can xoa: ";
<tab><tab><tab><tab><tab>gets(ten_nhap);
<tab><tab><tab><tab><tab>objLop.xoa_hoc_sinh(ten_nhap);
<tab><tab><tab><tab><tab>break;
<tab><tab><tab><tab>case IN:
<tab><tab><tab><tab><tab>objLop.in_danh_sach();
<tab><tab><tab><tab><tab>break;
<tab><tab><tab><tab>case XOA_MH:
<tab><tab><tab><tab><tab>clrscr();
<tab><tab><tab><tab><tab>break;
<tab><tab><tab><tab>default:
<tab><tab><tab><tab><tab>cout<<"
====> Ban chi duoc chon cac chuc nang liet ke
";
<tab><tab><tab>}
<tab><tab>}
<tab>}
}
void CLop::nhap_hoc_sinh()
{
<tab>if (n==MAX)
<tab>{
<tab><tab>cout<<"
====> Lop day, khong the nhap them
";
<tab><tab>return;
<tab>}
<tab>CHocSinh obj;
<tab>cout<<"
Nhap cac thong tin cho hoc sinh";
<tab>obj.nhap_thong_tin();
<tab>arrHS[n]=obj;
<tab>n++;
<tab>cout<<"
====> Nhap xong.
";
}
void CLop::xoa_hoc_sinh(char *ten)
{
<tab>for(int i=0; i<n; i++)
<tab>{
<tab><tab>if(strcmpi(ten,arrHS[i].ten())==0)
<tab><tab>{
<tab><tab><tab>break;
<tab><tab>}
<tab>}
<tab>if(i>=n)
<tab>{
<tab><tab>cout<<"
====> Khong co hoc sinh ten '"<<ten<<"' de xoa
";
<tab>}
<tab>else if(i==(n-1))
<tab>{
<tab><tab>n--;
<tab><tab>cout<<"
====> Xoa xong.
";
<tab>}
<tab>else
<tab>{
<tab><tab>for(int j=i+1; j<n;j++)
<tab><tab>{
<tab><tab><tab>arrHS[j-1]=arrHS[j];
<tab><tab>}
<tab><tab>n--;
<tab><tab>cout<<"
====> Xoa xong.
";
<tab>}
}
void CLop::in_danh_sach()
{
<tab>printf("
====> Danh sach lop:");
<tab>for(int i=0;i<n;i++)
<tab>{
<tab><tab>CHocSinh objHS = arrHS[i];
<tab><tab>cout<<"
"<<objHS.ten();
<tab>}
}
int CLop::tim_hoc_sinh(char* ten, CHocSinh &hs)
{
<tab>for(int i=0; i<n; i++)
<tab>{
<tab><tab>if(strcmpi(ten,arrHS[i].ten())==0)
<tab><tab>{
<tab><tab><tab>hs=arrHS[i];
<tab><tab><tab>break;
<tab><tab>}
<tab>}
<tab>if(i>=n)
<tab><tab>return 0;
<tab>else
<tab><tab>return 1;
}
void CLop::thong_tin_hoc_sinh_cao_diem_nhat()
{
<tab>if(n==0)
<tab>{
<tab><tab>cout<<"
====> Khong co hoc sinh
";
<tab>}
<tab>CHocSinh hs=arrHS[0];
<tab>for(int i=1;i<n;i++)
<tab>{
<tab><tab>if (hs.diem_trung_binh()<arrHS[i].diem_trung_binh())
<tab><tab>{
<tab><tab><tab>hs=arrHS[i];
<tab><tab>}
<tab>}
<tab>cout<<"
====> Thong tin hoc sinh cao diem nhat:
";
<tab>hs.hien_thi();
}
void CHocSinh::nhap_thong_tin()
{
<tab>cout<<"
Nhap ho ten: ";
<tab>gets(hoten);
<tab>cout<<"
Nhap diem toan: ";
<tab>cin>>toan;
<tab>cout<<"
Nhap diem van: ";
<tab>cin>>van;
}
void CHocSinh::hien_thi()
{
<tab>cout<<"
- ho ten: ";
<tab>cout<<hoten;
<tab>cout<<"
- toan: ";
<tab>cout<<toan;
<tab>cout<<"
- van: ";
<tab>cout<<van;
}
float CHocSinh::diem_trung_binh()
{
<tab>return (toan+van)/2.0;
}
char* CHocSinh::ten()
{
<tab>return hoten;
}
Bạn đang đọc truyện trên: AzTruyen.Top