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ả
}