Tìm kiếm

BT Về Lập trình hướng đối tượng (Mở đầu)

5. Xây dựng lớp sinh viên gồm các thành phần:
-DL: họ tên, ngày sinh, giới tính, lớp (k43/41.01),điểm toán, lý, hóa, đtb
-Pt: nhập, in, tính điểm trung bình
Hàm main:
-Nhập danh sách sinh viên
-Sắp xếp theo điểm trung bình giảm dần
-In danh sách sau khi xếp
Code:

#include <iostream.h>
#include <conio.h>

 class date
  {
  public:
  int ngay;
  int thang;
  int nam;
  };
class SV
{
 private:
char *hoten;
char *gioitinh;
char *lop;
float dt;
float dl;
float dh;

date ns;
 public:
SV()
{
 hoten = new char[30];
 gioitinh = new char[5];
 lop = new char[15];
 dt = 0;
 dl = 0;
 dh = 0;

 ns.ngay = 0;
 ns.thang = 0;
 ns.nam = 0;
 }
 ~SV()
 {
delete hoten;
  delete gioitinh;
  delete lop;
 }

float tb()
{
return (dt+dl+dh)/3;
}

friend istream& operator>>(istream& is,SV &x)
{

is.ignore();
cout<<" Ho Ten : ";is.getline(x.hoten,30);
cout<<" Gioi tinh : ";is.getline(x.gioitinh,5);
cout<<" Lop : ";is.getline(x.lop,15);
cout<<" Ngay sinh: ";is>>x.ns.ngay;
cout<<" Thang sinh: ";is>>x.ns.thang;
cout<<" Nam sinh: ";is>>x.ns.nam;
cout<<" Diem toan : ";is>>x.dt;
cout<<" Diem Ly : ";is>>x.dl;
cout<<" Diem hoa : ";is>>x.dh;
 return is;
}

friend ostream& operator<<(ostream& os,SV &x)

{
 os<<x.hoten<<"\t"<<x.gioitinh<<"\t"<<x.lop<<"\t"<<x.ns.ngay<<"/"<<x.ns.thang<<"/"<<x.ns.nam<<"\t"<<x.dt<<"\t"<<x.dl<<"\t"<<x.dh<<"\t"<<x.tb();
 return os;
 }

};
void main()
{
int n,i;
SV tg;
SV *p ;

cout<<"Nhap so sinh vien : ";cin>>n;
  p =  new SV[n+1];

for ( i=1;i<=n;i++)
{
cout<<"Nhap thong tin sinh thu "<<i<<": \n";
 cin>>p[i];
 }
 cout<<"Danh sach sinh vien :\n";
 for (int j=1;j<n;j++)
 {
for (int k=j+1;k<=n;k++)
 if (p[k].tb()>p[j].tb())
  {
tg = p[j];
p[j]=p[k];
p[k]=tg;
}
}
for (int l=1;l<=n;l++)
 {
cout<<p[l];
 cout<<"\n";
 }
 }

Read Users' Comments (0)

0 Response to "BT Về Lập trình hướng đối tượng (Mở đầu)"

Đăng nhận xét

Support

Liên hệ DMTuan-Uneti
Mọi thông tin góp ý các bạn liên hệ với mình ! Mail:
  1. manhtuan.leo@gmail.com
  2. manhtuan.itvp@gmail.com

Y!M: manhtuan.it92