Class trong C++ !!!

Thảo luận trong 'Thuật toán' bắt đầu bởi sunboy, 16 Tháng năm 2009.

  1. Offline

    sunboy

    • Thành viên sáng lập

    • No thing
    Số bài viết:
    1.616
    Đã được thích:
    1.340
    Điểm thành tích:
    1.000
    Đề Bài
    Viết một chương trình xây dựng hai lớp: một lớp thí sinh và một lớp danh sách thí sinh. Trong đó lớp thí sinh có dữ liệu bao gồm các thông tin: số báo danh, điểm toán, điểm hoá, điểm lý. Lớp danh sách thí sinh có dữ liệu một mảng các thí sinh và số lượng phần tử thuộc mảng đó. Viết chương trình thực hiện các công việc sau:
    1. Nhập và hiển thị một danh sách các thí sinh từ bàn phím
    2. Sắp xếp danh sách các thí sinh theo thứ tự tăng dần về điểm số
    3. Hiển thị thông tin của các sinh viên có tổng điểm trên 18


    Mã:
    #include <iostream.h>
    #include <conio.h>
    
    class thisinh
    {
    private:
    char sbd[25];
    float dtoan,dly,dhoa;
    public:
    void nhap();
    void in();
    float tdiem();
    };
    
    void thisinh::nhap()
    {
    cout<<"Nhap vao so bao danh :";
    cin>>sbd;
    cout<<"Nhap diem toan :";
    cin>>dtoan;
    cout<<"Nhap diem ly:";
    cin>>dly;
    cout<<"Nhap diem hoa:";
    cin>>dhoa;
    }
    
    void thisinh::in()
    {
    cout<<"So bao danh "<<sbd;
    cout<<" Diem toan:"<<dtoan<<" Diem ly:"<<dly<<" Diem hoa:"<<dhoa;
    cout<<" Tong diem: "<<tdiem()<<endl;
    }
    
    float thisinh::tdiem()
    {
    return(dtoan+dly+dhoa);
    }
    
    class dsts
    {
    private:
    int n;
    thisinh dsts[100];
    public:
    void nhapds();
    void inds();
    void sapxep();
    void tdtren18();
    };
    
    void dsts::nhapds()
    {
    cout<<"Nhap vao so luong thi sinh:";
    cin>>n;
    for(int i=0;i<n;i++)
    dsts[i].nhap();
    }
    
    void dsts::inds()
    {
    for(int i=0;i<n;i++)
    dsts[i].in();
    }
    
    void dsts::sapxep()
    {
    for(int i=0;i<n-1;i++)
    for(int j=i+1;j<n;j++)
    if(dsts[i].tdiem()>dsts[j].tdiem())
    {
    thisinh temp;
    temp= dsts[i];
    dsts[i]=dsts[j];
    dsts[j]=temp;
    }
    }
    
    void dsts::tdtren18()
    {
    for(int i=0;i<n;i++)
    if(dsts[i].tdiem()>18)
    dsts[i].in();
    }
    
    void main()
    {
    dsts ds;
    ds.nhapds();
    cout<<"Sap xep danh sach cac thi sinh theo thu tu tang dan ve tong diem:"<<endl;
    ds.sapxep();
    ds.inds();
    cout<<"Danh sach cac thi sinh co tong diem tren 18 la:"<<endl;
    ds.tdtren18();
    getch();
    }
    ________________________________________
    killyou117 thích bài này.

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí