⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 收银模块.cpp

📁 图书馆管理系统 查找
💻 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 + -