Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1

    Mọi người giúp em bài này với ạ!

    a. Xây dựng 1 lớp Student mô tả các sinh viên của mộtt lớp học, lớ[p gồm các thành phần:
    - Các thuộc tính mô tả họ tên, Điểm kì 1, Điểm kì 2, Điểm trung bình cả năm. (Điểm trung bình cả năm = (Điểm kì 1 + 2*Điểm kì 2)/3).
    - Hàm thiết lập.
    - Hàm nhập dữ liệu.
    - Hàm hiển thị dữ liệu.
    - Định nghĩa tóan twus > Để so sánh hai sinh viên theo tiêu chuẩn Điểm trung bình cả năm.
    b. Viết ch­ương trình nhập dữ liệu vào từ bàn phím để tạo một mảng 5 sinh viên. Hiển thị danh sách những sinh viên vừa nhập. Sắp xếp danh sách sinh viên theo thứ tự giảm dần của điểm trung bình cả năm. Hiển thị danh sách sinh viên sau khi sắp xếp.

    Mã:
    #include <iostream.h>
    #include <stdio.h>
    #include <conio.h>
    using namespace std;
    class studen{
    	private:
    	char hten[30];
    	float dk1,dk2,tbcn;
       public:
       studen(char hten1[30]=0, float dk11=0, float dk21=0, float tbcn1=0){
       	hten1=hten;
       	dk11=dk1;
       	dk21=dk2;
       	tbcn1=tbcn;
       }
       void nhap();
       void xuat();
       studen operator>(studen &x, studen &y)
    };
    studen operator>(studen &x, studen &y){
    		if(x.tbcn>y.tbcn)
    		return 0;
    	}
    void studen::nhap(){
    	cout<<"
     HO TEN:";cin>>hten[30];
    	fflush(stdin);
    	cout<<"
     Diem Hoc Ki 1:";cin>>dk1;
    	fflush(stdin);
    	cout<<"
     Dien Hoc Ki 2:";cin>>dk2;
    	fflush(stdin);
    	tbcn=0;
    	tbcn=((dk1+2*dk2)/3);
    	cout<<"
     Trung Binh Ca Nam:"<<tbcn;
    }
    void studen::xuat(){
    	cout<<"
     Ho Ten:"<<hten[30];
    	cout<<"
     Diem Ki 1:"<<dk1;
    	cout<<"
     Diem Ki 2:"<<dk2;
    	cout<<"
     Trung binh ca nam:"<<tbcn;
    }
    int main(){
    	int i,j;
    	const int n=5;
    	studen hs[n];
    	cout<<"
    -Nhap Danh Sach Hoc Sinh:";
    	for(i=0;i<n;i++)
    	hs[i].nhap();
    	cout<<"
    -Danh Sach Da Nhap:";
    	for(i=0;i<n;i++)
    	hs[i].xuat();
    	cout<"
    -Danh Sach Da Xep:";
    	for(i=0;i<n-1;i++)
    	for(j=i+1;j<n;j++){
    	if(hs[i]>hs[j])
    	cout<<hs[i].xuat();
    	}
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Biết thế nào mà giúp đây cậu. 1 là cậu upload bài xong không nhìn rõ lại đề bài, 2 là cậu chỉ biết copy và paste, cái đề bài cũng không muốn gõ lại.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    xin lỗi bạn, mình gõ lại đây

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn test thử xem:
    Mã:
    #include <iostream>
    #include <conio.h>
    using namespace std;
    
    class Student 
    {
    private:
    	char *ht;
    	float dk1, dk2, dtb;
    public:
    	Student (char *ht1 = "\0", float dk1 = 0, float dk2 = 0);
    	void diemtb ()
    	{
    		dtb = (dk1 + 2*dk2)/3;
    	}
    	void nhap ();
    	void xuat ();
    	friend int operator > (Student s1, Student s2);
    };
    
    Student::Student (char *ht1, float dk11, float dk21)
    {
    	ht = strdup (ht1);
    	dk1 = dk11;
    	dk2 = dk21;
    	diemtb ();
    }
    
    void Student::nhap ()
    {
    	cout << "
    Nhap ho ten: "; fflush (stdin); gets (ht);
    	cout << "Nhap diem ki 1: "; cin >> dk1;
    	cout << "Nhap diem ki 2: "; cin >> dk2;
    	diemtb ();
    }
    
    void Student::xuat ()
    {
    	cout << "
    Ho ten: " << ht <<", diem ki 1: " << dk1
    		 << ", diem ki 2: " << dk2 << ", diem trung binh: " << dtb;
    }
    
    int operator> (Student s1, Student s2)
    {
    	return (s1.dtb > s2.dtb);
    }
    
    int main ()
    {
    	int i, j, n = 5;
    	Student *s = new Student [n];
    	for (i = 0; i < n; i++)
    		s[i].nhap ();
    	cout << "
    Hien thi danh sach vua nhap: ";
    	for (i = 0; i < n; i++)
    		s[i].xuat ();
    
    	for (i = 0; i < n-1; i++)
    		for (j = i+1; j < n; j++)
    			if (!(s[i] > s[j]))
    			{
    				Student s1 = s[i];
    				s[i] = s[j];
    				s[j] = s1;
    			}
    	cout << "
    
    Danh sach sau khi sap xep: ";
    	for (i = 0; i < n; i++)
    		s[i].xuat ();
    
    	getch ();
    	return 0;
    }

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •