Untitled

 avatar
unknown
plain_text
5 months ago
2.3 kB
4
Indexable
#include<bits/stdc++.h>
using namespace std;
#define MAX 8
#define ll long long
struct HangHoa{
	string maHang;
	string tenHang;
	string dVTinh;
	int donGia;
	int soLuong;
};
struct List{
	int count;
	HangHoa e[MAX];
};
void nhapHangHoa(HangHoa &hh){
	cout << "Nhap ma hang\n";
	getline(cin,hh.maHang);
	cout << "Nhap ten hang\n";
	getline(cin,hh.tenHang);
	cout << "Nhap don vi tinh\n";
	getline(cin,hh.dVTinh);
	cout << "Nhap don gia \n";
	cin >> hh.donGia;
	cout << "Nhap so luong\n";
	cin >> hh.soLuong;
	cin.ignore();
}
void nhapDS(List &L){
	HangHoa x; L.count = -1;
	List initializer_list(L);
	for(int i = 0; i < 6; i++){
		cout << "nhap hang thu " << L.count+1 << endl;
		nhapHangHoa(x);
		++L.count;
		L.e[L.count] =x;
	}
}
void hienDS(List L){
	cout << setw(5) << "STT";
	cout << setw(10) << "MaHang";
	cout << setw(10) << "TenHang";
	cout << setw(10) << "DonViTinh";
	cout << setw(10) << "DonGia";
	cout << setw(10) << "SoLuong";
	cout << setw(10) << "ThanhTien" << endl;
	for(int i = 0; i < 6; i++){
		++L.count;cout << setw(5) << i+1;
	cout << setw(10) << L.e[i].maHang;
	cout << setw(10) << L.e[i].tenHang;
	cout << setw(10) << L.e[i].dVTinh;
	cout << setw(10) << L.e[i].donGia;
	cout << setw(10) << L.e[i].soLuong;
	cout << setw(10) << L.e[i].donGia * L.e[i].soLuong<< endl;
	}
}
void xoa(List &L, int k){
	if(L.count < 0){
		cout << "Danh sach rong\n";
		return;
	}
	for(int i = k-1; i < L.count;i++){
		L.e[i] = L.e[i+1];
	}
	--L.count;
}
void them(List &L, int k){
	HangHoa x;
	cout << "Nhap hang hoa can bo sung\n";
	nhapHangHoa(x);
	for(int i = L.count+1; i>= k; i--){
		L.e[i] = L.e[i-1];
	}

	L.e[k-1] = x;
}

void sapxep(List&L)
{
	for (int i=0; i< L.count-1; i++){
		for (int j= L.count-1; j>i; j--){
			int tmp1 = L.e[j].donGia * L.e[j].soLuong;
			int tmp2 = L.e[j-1].donGia * L.e[j-1].soLuong;
			if (tmp1 < tmp2 )
			{
				int tmp = tmp1; 
				tmp1 = tmp2; 
				tmp2 = tmp;
			}
		}
	}
}
int main(){
	List L; int k, l;
	nhapDS(L);
	hienDS(L);
    cout << "Nhap vi tri can bo sung" << endl; cin >> k;
    them(L,k);
    hienDS(L);
    cout << "Nhap vi tri can xoa"; cin >> l;
    xoa(L,l);
    hienDS(L);
    sapxep(L);
    hienDS(L);
}
Editor is loading...
Leave a Comment