Giúp về phần sắp xếp

Sao cái phần sắp xếp của em nó không chạy được vậy ạ? Mong mọi người giúp đỡ em.

#include<iostream>
#include<string.h>
using namespace std;
class hang
{	public:
	string  mahang,tenhang;
	float dongia;
	int soluong;
	public:
			float thanhtien;
		void nhap()
		{	
			cout<<"Nhap ma hang: ";
			fflush(stdin);
			getline(cin,mahang);
			cout<<"Nhap ten hang: ";
			fflush(stdin);
			getline(cin,tenhang);
			cout<<"Nhap don gia: ";
			cin>>dongia;
			cout<<"Nhap so luong: ";
			cin>>soluong;
			thanhtien=1.0*dongia*soluong;
			
		}
		void xuat()
		{	
			cout<<"Ma hang: "<<mahang<<endl;
			cout<<"Ten hang: "<<tenhang<<endl;
			cout<<"Don gia: "<<dongia<<endl;
			cout<<"So luong: "<<soluong<<endl;
			cout<<"Thanh tien: "<<thanhtien<<endl;
		}
			friend class hoadon;
			friend void xuatm();
			friend void sapxep();
			
};
class hoadon
{	public:
	string mahd;
	int d,m,y;
	string nv;
	string manv;
	string tenncc,mancc;
	float sum;
	public:
			hang x[100];
			int n;
		void nhap()
		{	
			cout<<"Nhap ma hoa don: ";
			fflush(stdin);
			getline(cin,mahd);
			cout<<"Nhap ngay thang nam: ";
			cin>>d>>m>>y;
			cout<<"Nhap nhan vien: ";
			fflush(stdin);
			getline(cin,nv);
			cout<<"Nhap ma nhan vien: ";
			fflush(stdin);
			getline(cin,manv);
			cout<<"Nhap ten nha cung cap: ";
			fflush(stdin);
			getline(cin,tenncc);
			cout<<"Nhap ma nha cung cap: ";
			fflush(stdin);
			getline(cin,mancc);
			cout<<"Nhap so don hang: ";
			cin>>n;
			for(int i=0;i<n;i++)
			{	cout<<"Nhap thong tin don hang "<<i+1<<endl;
				x[i].nhap();
			}
			
		}
		void xuat()
		{
			cout<<"Ma hoa don: "<<mahd<<endl;
			cout<<d<<"/"<<m<<"/"<<y;
			cout<<"Nhan vien: "<<nv<<endl;
			cout<<"Ma nhan vien: "<<manv<<endl;
			cout<<"Ten nha cung cap: "<<tenncc<<endl;
			cout<<"Ma nha cung cap: "<<mancc<<endl;
			for(int i=0;i<n;i++)
			{	cout<<"Thong tin don hang "<<i+1<<endl;
				x[i].xuat();
				sum=sum+x[i].thanhtien;
			}
			cout<<"Tong tien la: "<<sum<<endl;
			
		}
		void count()
		{	int count=0;
			for(int i=0;i<n;i++)
			{
				if(x[i].thanhtien>500)
				cout<<count++;
			}
			cout<<"So hoa don co don hang > 500 la: "<<count<<endl;
		}
		
	
};
void sapxep(hoadon &a,int n)
{	hang tg;
	for(int i=0;i<n-1;i++)
	{
		for(int j=i+1;j<n;i++)
		{
			if(a.x[i].thanhtien>a.x[j].thanhtien)
			{
				hang tg=a.x[i];
				a.x[i]=a.x[j];
				a.x[j]=tg;
			}
		}
	}
}
void xuatm(hoadon &a,int n)
{
	for(int i=0;i<n;i++)
	{
		a.x[i].xuat();
	}
}

int main()
{
		hoadon a;
	cout<<"NHAP THONG TIN"<<endl;
	a.nhap();
	cout<<"XUAT THONG TIN"<<endl;
	a.xuat();	
	a.count();
	sapxep(a,a.n);
	xuatm(a,a.n);
}

Thiếu friend void sapxep ở class hoadon bn nhá

Phải là friend void sapxep(hoadon &a ,int n) cả void xuatm() cũng vậy
Phải có tham số nhá

3 Likes

mình cảm ơn bạn nha. Thank you so muck

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?