Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
em mới nhập môn nên cho em hỏi code em bị sai chỗ nào vậy ạ?
#include <iostream>
#include <iomanip>
using namespace std;
struct NGAY
{
int ngay, thang, nam;
};
class MATHANG
{
private:
char ma[10];
char ten[30];
NGAY nsx;
int dg;
public:
MATHANG(char ma[10]="", char ten[30]="",int dg=0)
{
this->nsx.ngay = nsx.ngay;
this->nsx.thang = nsx.thang;
this->nsx.nam = nsx.nam;
}
~MATHANG();
void nhap()
{
cin.ignore();
cout<<"\n-Nhap ma hang: "; cin.getline(ma, 10);
cout<<"Nhap ten hang san xuat: "; cin.getline(ten, 30);
cout<<"Nhap ngay xuat xuong: "; cin>> nsx.ngay >> nsx.thang >> nsx.nam;
cout<<"Nhap don gia: "; cin>>dg;
}
void xuat()
{
cout<<"\nMa hang: "<<ma;
cout<<"\nTen hang san xuat: "<<ten;
cout<<"\nNgay xuat xuong: "<< nsx.ngay << nsx.thang << nsx.nam;
cout<<"\nDon gia: "<<dg;
}
};
class MTBANG : public MATHANG
{
private:
char tenHDH[10];
int sl;
public:
MTBANG(char tenHDH[10]="", int sl=0);
~MTBANG();
friend istream& operator >> (istream &is, MTBANG &a)
{
a.nhap();
is.ignore();
cout<<"\nNhap HDH: "; is.getline(a.tenHDH, 10);
cout<<"Nhap so luong: "; is>>a.sl;
return is;
}
friend ostream& operator << (ostream &os, MTBANG &a)
{
a.xuat();
cout<<"\nHDH: "<<a.tenHDH;
cout<<"\nSo luong: "<<a.sl;
return os;
}
bool operator > (MTBANG &a);
};
bool MTBANG::operator >(MTBANG &a)
{
return (this->sl < a.sl);
};
int main()
{
int n;
cout<<"Nhap so luong mat hang: "; cin>>n;
MTBANG *a=new MTBANG[n];
cout<<"\n\t\tNHAP THONG TIN MAT HANG!!! ";
for(int i=0;i<n;i++)
{
cout<<"\n[+]Nhap thong tin mat hang thu "<<i+1;
cin>>a[i];
}
cout<<"\n\t\tTHONG TIN MAT HANG!!!";
for(int i=0;i<n;i++)
{
cout<<"\n[-]Thong tin mat hang thu "<<i+1;
cout<<a[i];
}
for(int i=0; i<n; i++)
{
for(int j=i+1; j<n; j++)
{
if(a[i] > a[j])
{
MTBANG temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
cout<<"[+]DANH SACH SAN PHAM XEP THEO THU TU GIAM DAN!!!";
for(int i=0;i<n;i++)
{
cout<<a[i];
}
cout<<endl;
return 0;
}
Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.
Đăng nhập