viết chương trình theo phong cách hướng đối tượng c++ thiết kế chuong trình nhập vào số lượng hồ sơ bán ra với giá à có thuế hay khong thì tùy nhập vào. xuất ra thông tin đã nhập và tính tổng doanh thu bán hàng. với thuế có 2 loại là 7% hoặc 8%. đồng thời thiết kế chương trình theo phương pháp enu lựa chọn.
bài này mình chia ra làm nhiều fle nhỏ để dễ quản lý và viết code hơn.
HOSO.H
#pragma once
#include<iostream>
using namespace std;
class hoso
{
private:
 int soluong;
 float giatien;
 int thue;
 int loaithue;
public:
 hoso(void);
 ~hoso(void);
 void nhaphoso();
 void xuathoso();
 float sotien();
};
HOSO.CPP
#include "hoso.h"
hoso::hoso(void)
{
}
hoso::~hoso(void)
{
}
void hoso::nhaphoso()
{
 int kt;
 do{
  kt=0;
  cout<<"\nso luong : ";cin>>soluong;
  if(soluong<0)
  {
   cout<<"\nnhap so luong khong hop le! nhap lai!\n";
   kt=1;
  }
 }while(kt);
 do{
  kt=0;
  cout<<"\ngia tien : ";cin>>giatien;
  if(giatien<0)
  {
   cout<<"\nnhap gia tien khong hop le! nhap lai!\n";
   kt=1;
  }
 }while(kt);
 do{
  kt=0;
  cout<<"\nco thue hay khong? (1:co, 0:khong) :";
  cin>>thue;
  if(thue !=1 && thue!=0)
  {
   cout<<"\nlua chon khong dung! chon lai!\n";
   kt=1;
  }
 }while(kt);
 if(thue==1)
 {
  do{
   kt=0;
   cout<<"\nnhap loai thue (1:7%, 0:8%) :";
   cin>>loaithue;
   if(loaithue !=0 && loaithue!=1)
   {
    cout<<"\nlua cho khong hop le! nhap lai!\n";
    kt=1;
   }
  }while(kt);
 }
}
float hoso::sotien()
{
 float tien=soluong*giatien;
 if(thue==1)
  if(loaithue==1) tien+=tien*7/100;
  else tien+=tien*8/100;
 return tien;
}
void hoso::xuathoso()
{
 cout<<"\nso luong: "<<soluong<<"\ngia tien: "<<giatien;
 if(thue==1)
  if(loaithue==1) cout<<"\nco thue 7%";
  else cout<<"\nco thue 8%";
 else cout<<"\nkhong co thue";
 cout<<"\ntong tien = "<<sotien();
}
DANHSACH.H
#pragma once
#include"hoso.h"
#include<vector>;
class danhsach
{
private:
 vector<hoso> l;
public:
 danhsach(void);
 ~danhsach(void);
 void nhapdanhsach();
 void xuatdanhsach();
 float doanhthu();
};
DANHSACH.CPP
#include "danhsach.h"
danhsach::danhsach(void)
{
}
danhsach::~danhsach(void)
{
}
void danhsach::nhapdanhsach()
{
 int kt,m,k;
 do{
  do{
   kt=0;
   cout<<"\n--------------menu---------------------";
   cout<<"\n1.nhap ho so.";
   cout<<"\n0.ket thuc.";
   cout<<"\n---------------------------------------\n nhap lua chon cua ban: ";
   cin>>m;
   if(m!=1 && m!=0)
   {
    cout<<"\nlua chon cua ban khong hop le! chon lai!\n";
    kt=1;
   }
  }while(kt);
  if(m==1)
  {
   hoso x;
   x.nhaphoso();
   l.push_back(x);
  }
 }while(m);
}
float danhsach::doanhthu()
{
 float tong=0;
 for(int i=0;i<l.size();i++) tong+=l[i].sotien();
 return tong;
}
void danhsach::xuatdanhsach()
{
 for(int i=0;i<l.size();i++)
 {
  cout<<"\n\n\tho so thu "<<i+1;
  l[i].xuathoso();
 }
 cout<<"\n\n\tTONG DOANH THU: "<<doanhthu();
}
SOURCE.CPP
#include"danhsach.h"
void main()
{
 danhsach t;
 t.nhapdanhsach();//nhập vào sô lượng hồ sơ , giá tiền , có thuế hay không, có thì 7% hoặc 8%
 t.xuatdanhsach();//xuat ra nhưng thứ đã nhập và tính tiền tường loại hồ sơ bán ra và tổng doanh thu
 system("pause");//dừng chương trình để xem kết quả
}
.png)
 
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)