📄 收银模块.cpp
字号:
#include "stdafx.h"
#include"harRange.h"
#include"BookData.h"
#include"harRange.h"
#include<iomanip>
#include"BookData.h"
#include <conio.h>
#include <windows.h>
#include <time.h>
void transaction();
void manage();
void showData();
void BookInfo(BookData &obj);
void editBook();
void mainshow();
//*********************************************************************************************************************
//* 收银模块 *
//*********************************************************************************************************************
struct sell
{
int num;
char isbn[13];
char name[51];
float retail;
float money;
};
void cutqtyOnHand(int num,BookData &obj) //BookData的友元,用来对库存量的减少
{
obj.qtyOnHand -=num;
}
void Ctime()
{
SYSTEMTIME t;
GetLocalTime (&t);
cout<<t.wYear <<"年";
cout<<t.wMonth <<"月";
cout<<t.wDay <<"日"<<endl;
}
void transaction()
{
sell book[20];
fstream file;
BookData obj;
string isbn,isb; //定义ISBN号和确认是否还要输入其他书的信息变量,isb用来将文件里的isbn转换成string类型
char ch;
int num,a,i=0,j=0,m=0;
float money=0,tax=0,total=0,count=0; //定义书的销售合计,销售税和销售总额
file.open("shendan.dat",ios::out|ios::in|ios::binary);
if(file.fail())
{
cout<<"打开文件失败!";
exit(0);
}
cout<<"\t***************************************************************\n";
cout<<"\t\t\t欢迎光临!\n\n";
do{
cout<<"\t\t请输入您购买的书的ISBN号:";
cin>>isbn;
file.clear();
file.seekg(0,ios::beg);
a = file.tellg();
file.read((char *)&obj,sizeof(obj));
isb.assign (obj.getISBN() );
while(isb !=isbn&&!file.eof())
{
a = file.tellg();
file.read((char *)&obj,sizeof(obj));
isb.assign (obj.getISBN());
}
if(isb!=isbn)
{
cout<<"\t\t本书库没有该书!\n";
count+=0;
}
else
{
money = 0;
cout<<"\t\t请输入您购买的该书的数量:";
cin>>num;
cutqtyOnHand(num,obj); //BookData的友元,用来对库存量的减少
file.seekp(a,ios::beg);
file.write((char *)&obj,sizeof(obj));
cout<<"\t书名:"<<obj.getTitle ()<<endl;
cout<<"\t单价:"<<obj.getRetail ()<<endl;
money = obj.getRetail () ;
book[i].num = num;
for(j=0;book[i].isbn[j]!='\0';j++)
{
book[i].isbn[j] = *(obj.getISBN ()+j);
}
for(j=0;book[i].name[j]!='\0';j++)
{
book[i].name[j] = *(obj.getTitle ()+j);
}
book[i].retail = money;
count += (obj.getRetail () * num);
book[i].money = count;
i++;
}
m=i;
cout<<"\t\t您还需要输入其他的书的信息吗?(y:是,n:结账):";
cin>>ch;
//计算销售合计
}while(ch=='y');
tax = count * (float)0.06; //计算销售税
total = count + tax; //计算销售总额
cout<<"\t日期:";
Ctime();
cout<<"\t数量 "<<"ISBN号 "<<"书名 "<<"单价 "<<"金额"<<endl;
for(i=0;i<m;i++)
{
cout.width(5);
cout<<"\t"<<book[i].num;
cout<<setw(8)<<book[i].isbn;
cout<<setw(13)<<book[i].name;
cout<<setw(12)<<book[i].retail;
cout<<setw(12)<<book[i].money <<endl;
}
cout<<"\t-------------------------------\n";
cout<<"\t销售合计:"<<count<<"元"<<endl;
cout<<"\t零售税:"<<tax<<"元"<<endl;
cout<<"\t应付总额:"<<total<<"元"<<endl;
cout<<"\t-------------------------------\n";
file.close();
cout<<"\t\t\t谢谢光临!\n\n";
mainshow();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -