Untitled

 avatar
unknown
plain_text
4 months ago
12 kB
2
Indexable
#include<bits/stdc++.h>
#include<string>
using namespace std;

class PHIEU;
class HH
{
private:
    char mahang[20];
    char tenhang[30];
    float dongia;
    int sl;
    long thanhtien;
public:
    void nhap();
    void xuat();
    friend class PHIEU;
    friend void sx(PHIEU &a);
    friend void in(PHIEU a);
    friend void sua (PHIEU &a);
    friend void xoaSLHon20(PHIEU &a);
    friend void xoaMaxSL(PHIEU &a);
    friend void chenMatHang(PHIEU &a, int k);
    friend void demVaInSLHon10(PHIEU a);
};

void HH::nhap()
{
    cout << "Nhap ma hang: "; fflush(stdin); gets(mahang);
    cout << "Nhap ten hang: "; fflush(stdin); gets(tenhang);
    cout << "Nhap don gia: "; cin >> dongia;
    cout << "Nhap so luong: "; cin >> sl;
    thanhtien = dongia * sl;
}

void HH::xuat()
{
    cout << mahang << setw(15) << tenhang << setw(15) << dongia << setw(15) << sl << setw(15) << thanhtien << endl;
}

class PHIEU
{
private:
    char maphieu[20];
    char ngaylap[20];
    char manv[20];
    char hoten[20];
    char khachhang[30];
    int n;
    HH *X;
public:
    void nhap();
    void xuat();
    friend void sx(PHIEU &a);
    friend void in(PHIEU a);
    friend void sua(PHIEU &a);
    friend void xoaSLHon20(PHIEU &a);
    friend void xoaMaxSL(PHIEU &a);
    friend void chenMatHang(PHIEU &a, int k);
    friend void demVaInSLHon10(PHIEU a);
};

void PHIEU::nhap()
{
    cout << "Nhap ma phieu: "; fflush(stdin); gets(maphieu);
    cout << "Nhap ngay lap: "; fflush(stdin); gets(ngaylap);
    cout << "Nhap ma nhan vien: "; fflush(stdin); gets(manv);
    cout << "Nhap ho ten: "; fflush(stdin); gets(hoten);
    cout << "Nhap khach hang: "; fflush(stdin); gets(khachhang);
    do
    {
        cout << "Nhap so luong hang: ";
        cin >> n;
    } while (n < 0);
    X = new HH[n];
    for (int i = 0; i < n; i++) {
        cout << "Nhap thong tin hang thu " << i + 1 << endl;
        X[i].nhap();
    }
}

void PHIEU::xuat()
{
    cout << "Bach hoa Thanh Huong" << endl;
    cout << "====================PHIEU MUA HANG====================" << endl;
    cout << "Ma phieu: " << maphieu << setw(20) << "Ngay lap phieu: " << ngaylap << endl;
    cout << "Ma nhan vien: " << manv << setw(20) << "Ho va ten: " << hoten << endl;
    cout << "Khach hang: " << khachhang << endl;
    cout << "Ma hang" << setw(15) << "Ten hang" << setw(15) << "Don gia" << setw(15) << "So luong" << setw(15) << "Thanh tien" << endl;
    int TSL = 0;
    long TT = 0;
    for (int i = 0; i < n; i++)
    {
        X[i].xuat();
        TSL += X[i].sl;
        TT += X[i].thanhtien;
    }
    cout << "TONG" << setw(45) << TSL << setw(15) << TT << endl;
}

void sx(PHIEU &a)
{
    for (int i = 0; i < a.n - 1; i++) {
        for (int j = i + 1; j < a.n; j++) {
            if (a.X[i].dongia > a.X[j].dongia) {
                HH tg = a.X[i];
                a.X[i] = a.X[j];
                a.X[j] = tg;
            }
        }
    }
    a.xuat();
}

void in(PHIEU a)
{
    long max_thanhtien = 0;
    for (int i = 0; i < a.n; i++) {
        if (a.X[i].thanhtien > max_thanhtien) {
            max_thanhtien = a.X[i].thanhtien;
        }
    }
    cout << "Mat hang co thanh tien lon nhat:" << endl;
    for (int i = 0; i < a.n; i++) {
        if (a.X[i].thanhtien == max_thanhtien) {
            a.X[i].xuat();
        }
    }
}
void sua(PHIEU &a){
    strcpy(a.khachhang,"Nguyen Hai Long");
}

void xoaSLHon20(PHIEU &a)
{
    for (int i = 0; i < a.n; i++ ) {
        if (a.X[i].sl > 20) {
            for (int j = i; j < a.n - 1; j++) {
                a.X[j] = a.X[j + 1];
            }
            a.n--;
        } else {
            i++;
        }
    }
}

void xoaMaxSL(PHIEU &a)
{
    int maxSL = a.X[0].sl, pos = 0;
    for (int i = 1; i < a.n; i++) {
        if (a.X[i].sl > maxSL) {
            maxSL = a.X[i].sl;
            pos = i;
        }
    }
    for (int i = pos; i < a.n - 1; i++) {
        a.X[i] = a.X[i + 1];
    }
    a.n--;
}

void chenMatHang(PHIEU &a, int k)
{
    if (k < 0 || k > a.n) {
        cout << "Vi tri chen khong hop le!" << endl;
        return;
    }
    HH newItem;
    cout << "Nhap thong tin mat hang moi:" << endl;
    newItem.nhap();
    HH *temp = new HH[a.n + 1];
    for (int i = 0; i < k; i++) {
        temp[i] = a.X[i];
    }
    temp[k] = newItem;
    for (int i = k; i < a.n; i++) {
        temp[i + 1] = a.X[i];
    }
    delete[] a.X;
    a.X = temp;
    a.n++;
}

void demVaInSLHon10(PHIEU a)
{
    int count = 0;
    cout << "Danh sach mat hang co so luong > 10:" << endl;
    for (int i = 0; i < a.n; i++) {
        if (a.X[i].sl > 10) {
            a.X[i].xuat();
            count++;
        }
    }
    cout << "Tong so mat hang co so luong > 10: " << count << endl;
}

int main()
{
    PHIEU a;
    cout << "Nhap thong tin phieu: " << endl;
    a.nhap();
    //strcpy(a.khachhang, "Nguyen Hai Long");
    cout << "Thong tin phieu: " << endl;
    a.xuat();
    cout << "Danh sach mat hang sau khi sx: " << endl;
    sx(a);
    cout << "Danh sach mat hang co thanh tien lon nhat: " << endl;
    in(a);
    cout << "Phieu sau khi sua" << endl;
    sua(a);
    // Xoa mat hang co so luong > 20
    cout << "Xoa mat hang co so luong > 20:" << endl;
    xoaSLHon20(a);
    a.xuat();

    // Xoa mat hang co so luong max
    cout << "Xoa mat hang co so luong max:" << endl;
    xoaMaxSL(a);
    a.xuat();

    // Chen mat hang vao vi tri k
    int k;
    cout << "Nhap vi tri chen: ";
    cin >> k;
    chenMatHang(a, k);
    a.xuat();

    // Dem va in danh sach mat hang co so luong > 10
    demVaInSLHon10(a);
    return 0;
}



#include<bits/stdc++.h>
using namespace std;

class TL{
	private:
	char tensp[20];
	char mausac[20];
	float gia;
	public:
		TL();
		TL(char *name,char *color,float x);
	    bool operator!();
		friend istream& operator>>(istream& is,TL& B);
		friend ostream& operator<<(ostream& os, TL&B);
		bool operator==(TL B);
};

 TL::TL(){
	strcpy(tensp,"sony");
	strcpy(mausac,"den");
	gia=10;
}
TL::TL(char *name,char *color,float x){
	strcpy(tensp,name);
	strcpy(mausac,color);
	gia=x;
}
istream& operator>>(istream& is,TL &B){
	cout<<"nhap ten san pham: ";
	is>>B.tensp;
	cout<<"nhap mau sac: ";
	is>>B.mausac;
	cout<<"nhap gia: ";
	is>>B.gia;
	return is;
}
ostream& operator<<(ostream& os,TL &B){
	os<<"Ten san pham: "<<B.tensp<<", Mau sac: "<<B.mausac<<", Gia: "<<B.gia<<endl;
	return os;
}
bool TL::operator!()
{
	if(gia>250&&strcmp(mausac,"trang")==0)
	return true;
	return false;
}
bool TL::operator==(TL B){
	if(strcmp(tensp,B.tensp)==0&&gia==B.gia&&strcmp(mausac,B.mausac)==0)
	return true;
	return false;
}

int main(){
	TL A,B;
	cout<<"nhap thong tin tu lanh A: ";
	cin>>A;
	cout<<"nhap thong tin tu lanh B: ";
	cin>>B;
	cout<<A<<endl;
	cout<<B<<endl;
	if(!A){
		cout<<"Tu lanh A co gia >250 va co mau trang! "<<endl;
	} else{
		cout<<"Tu lanh A co gia  < 250 va khong co mau trang! "<<endl;
	}
		if(!B){
		cout<<"Tu lanh B co gia >250 va co mau trang! "<<endl;
	} else{
		cout<<"Tu lanh B co gia  < 250 va khong co mau trang! "<<endl;
	}
	if(A==B){
		cout<<"hai tu lanh A, B co cung ten, mau sac va gia ban "<<endl;;
	} else{
		cout<<"hai tu lanh A, B khong co cung ten, mau sac va gia ban "<<endl;
	}

ofstream f("TL.txt",ios::out);
    f<<A<<endl;
    f<<B<<endl;
 if(!A){
		f<<"Tu lanh A co gia >250 va co mau trang! "<<endl;
	} else{
		f<<"Tu lanh A khong co vua gia  < 250, vua mau trang! "<<endl;
	}
		if(!B){
		f<<"Tu lanh B co gia >250 va co mau trang! "<<endl;
	} else{
		f<<"Tu lanh B khong co vua gia  < 250 ,vua co mau trang! "<<endl;
	}
	if(A==B){
		f<<"hai tu lanh A, B co cung ten, mau sac va gia ban "<<endl;;
	} else{
		f<<"hai tu lanh A, B khong co cung ten, mau sac va gia ban "<<endl;
	}


#include<bits/stdc++.h>
using namespace std;

class VECTOR{
	float x,y,z;
	public:
		friend istream& operator>>(istream& is, VECTOR &B);
		friend ostream& operator<<(ostream& os, VECTOR& B);
		VECTOR operator+(VECTOR B);
		bool operator-(VECTOR B);
        float operator*();
};
istream& operator>>(istream& is, VECTOR &B){
	cout<<"nhap x: ";
	is>>B.x;
	cout<<"nhap y: ";
	is>>B.y;
	cout<<"nhap z: ";
	is>>B.z;
	return is;
}
ostream& operator<<(ostream& os, VECTOR &B){
	os<<"X= "<<B.x<<", Y= "<<B.y<<", Z= "<<B.z<<endl;
	return os;
}
VECTOR VECTOR::operator+(VECTOR B){
	VECTOR t;
	t.x=x+B.x;
	t.y=y+B.y;
	t.z=z+B.z;
	return t;
}
bool VECTOR::operator-(VECTOR B){
  if(x>B.x&&y>B.y&&z>B.z)
  return true;
  return false;
}
float THUADAT::operator*()
{
    return ChieuDai*ChieuRong;
}
int main(){
	VECTOR A,B;
	cout<<"nhap vector a; "<<endl;
	cin>>A;
	cout<<"nhap vector b; "<<endl;
	cin>>B;
    double S1=*TD1;
    double S2=*TD2;
    cout << "Dien tich thua dat 1: " << S1 << endl;
    cout << "Dien tich thua dat 2: " << S2 << endl;
	VECTOR t=A+B;
	cout<<"tong hai vecto: "<<t<<endl;
	if(A-B){
		cout<<"a lon hon b! "<<endl;
	}else{
		cout<<"a nho hon b! "<<endl;
	}
	ofstream f("Vector.txt",ios::out);
	f<<"tong hai vecto: "<<t<<endl;
	if(A-B){
		f<<"a lon hon b! "<<endl;
	}else{
		f<<"a nho hon b! "<<endl;
	}
	f.close();
}



#include<bits/stdc++.h>
using namespace std;
class MOTO;
class NSX{
	char tennsx[20];
	char diachi[20];
	 public:
	 	void nhap();
	 	void xuat();
	 	friend class HANGHOA;
	 	friend void xoa(MOTO*a,int &n);
};
void NSX::nhap(){
	cout<<"nhap ten nha san xuat: ";fflush(stdin);gets(tennsx);
	cout<<"nhap dia chi: ";fflush(stdin);gets(diachi);
}
void NSX::xuat(){
	cout<<"Nha san xuat: "<<tennsx<<endl;
	cout<<"Dia chi: "<<diachi<<endl;
}
class HANGHOA{
	char nhanhieu[20];
	NSX x;
	public:
		void nhap();
		void xuat();
		friend void xoa(MOTO*a,int &n);
};
void HANGHOA::nhap(){
    x.nhap();
	cout<<"nhap nhan hieu: ";fflush(stdin);gets(nhanhieu);
}
void HANGHOA::xuat(){
    x.xuat();
	cout<<"Nhan hieu: "<<nhanhieu<<endl;
}
class MOTO:public HANGHOA{
	int phanphoi;
	float giathanh;
	public:
		void nhap();
		void xuat();
		friend void bonus1(MOTO*a,int n);
};
void MOTO::nhap(){
    HANGHOA::nhap();
	cout<<"nhap phan phoi: ";cin>>phanphoi;
	cout<<"nhap gia thanh: ";cin>>giathanh;
}
void MOTO::xuat(){
    HANGHOA::xuat();
	cout<<"Phan phoi: "<<phanphoi<<endl;
	cout<<"Gia thanh: "<<giathanh<<endl;
}
void bonus1(MOTO*a,int n){
	float min=a[0].giathanh;
	for(int i=0;i<n;i++){
		if(a[i].giathanh<min){
			min=a[i].giathanh;
		}
	}
	for(int i=0;i<n;i++){
		if(a[i].giathanh==min){
			a[i].xuat();
		}
	}
}
void xoa(MOTO*a,int &n){
	for(int i=0;i<n;i++){
		while(strcmp(a[i].x.tennsx,"HONDA")==0){
			for(int j=i;j<n;j++){
				a[j]=a[j+1];
				n--;
			}
		}
	} a=(MOTO*)realloc(a,(n)*sizeof(MOTO));
}
int main(){

	int n;
	do{
		cout<<"nhap n moto: ";
		cin>>n;
	}while(n<0&&n>50);
	MOTO*a;
	a=new MOTO[n];
	for(int i=0;i<n;i++){
		cout<<"nhap thong tin moto thu "<<i+1<<endl;
		a[i].nhap();
	}
	for(int i=0;i<n;i++){
		cout<<"thong tin moto thu "<<i+1<<endl;
		a[i].xuat();
	}
	cout<<"NHUNG MOTO CO GIA THAP NHAT: "<<endl;
	bonus1(a,n);
	cout<<"DANH SACH MOTO SAU KHI XOA: "<<endl;
	xoa(a,n);
	for(int i=0;i<n;i++){
		cout<<"thong tin oto thu "<<i+1<<endl;
		a[i].xuat();
	}
}
Editor is loading...
Leave a Comment