标题:
c++商品销售统计程序,有没有大神给我看看呢
[打印本页]
作者:
NickChen520
时间:
2018-11-15 08:55
标题:
c++商品销售统计程序,有没有大神给我看看呢
c++源程序如下:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include<fstream>
#define null 0
#include<iostream>
#include <iomanip>
#include<string> //控制字符串的头文件
using namespace std;
class tong
{
public:
tong();
tong(char co[20],char n[20],
char dw[20],double pr,int qu);
~tong();
void save();
void take();
void Set(); //商品信息录入
void Alter(); //商品信息修改
void list(); //商品信息显示
void Display();
float Checkout(int quantity); //单个商品小结
void Total(); //总计
void buy(); //商品买入
private :
char code[20];char name[20];char danwei[20];double price;int quantity;
};
tong::tong(){}
tong::tong(char co[20],char n[20],char dw[20],double pr,int qu){
strcpy(code,co);
strcpy(name,n);
strcpy(danwei,dw);
price=pr;
quantity=qu;}
tong::~tong(){}
tong *s[50];
int i=0;
int j=0;
char code[20];char name[20];char danwei[20];double price; int quantity;
void tong::save() //写入数据至文件
{
ofstream outfile;
outfile.open("F:\\商品订购\\商品订购.txt",ios::out);
if(!outfile)
{
cout<<"cannot open the file!"<<endl;
return ;
}
else
outfile<<"商品代码及名称"<<""<<"商品单价"<<""<<"请输入商品数量"<<""<<"计量单位"<<endl;
cout<<"商品代码及名称"<<""<<"商品单价"<<""<<"请输入商品数量"<<""<<"计量单位"<<endl;
for(int k=0;k<i;k++)
{
cout<<setw(10)<<left<<s[k]->code<<setw(10)<<left<<s[k]->name<<setw(15)<<left<<s[k]->price<<setw(10)<<left<<s[k]->quantity<<setw(15)<<left<<s[k]->danwei<<endl;
outfile<<setw(10)<<left<<s[k]->code<<setw(10)<<left<<s[k]->name<<setw(15)<<left<<s[k]->price<<setw(10)<<left<<s[k]->quantity<<setw(15)<<left<<s[k]->danwei<<endl;
}
cout<<"**********************************Save Success!***************************************"<<endl;
outfile.close();
}
void tong::Set() //商品信息录入
{
cout<<"请输入商品代码及名称:"<<endl;
cin>>code>>name;
cout<<"请输入计量单位:"<<endl;
cin>>danwei;
cout<<"请输入商品单价:"<<endl;
cin>>price;
cout<<"请输入商品数量:"<<endl;
cin>>quantity;
j++;
s[i]=new tong(code,name,danwei,price,quantity); //没有循环
i++;
cout<<"信息录入成功!"<<endl;
cout<<"是否继续录入?(y or n)"<<endl;
if(getch()=='y')
Set();
else return;
}
void tong::Alter()//商品信息修改
{
cout<<"请输入您所修改的商品名称:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
if(strcmp(name,s[h]->name)==0)
{
char newcode[20];
char newname[20];
char newdanwei[20];
double newprice;
int newquantity;
int n;
cout<<"你想要修改:代码及名称按3) 、数量(请按4)"<<endl;
cin>>n;
switch(n)
{
case 1:
{ cout<<"请输入商品代码及名称:"<<endl;
cin>>newcode[20]>>newname[20];
s[h]->code[20]=newcode[20];
s[h]->name[20]=newname[20];
cout<<"数据修改成功!";
}break;
case 2:
{
cout<<"请输入计量单位:"<<endl;
cin>>newdanwei;
s[h]->danwei[20]=newdanwei[20];
cout<<"数据修改成功!";
}break;
case 3:
{
cout<<"请输入单价:"<<endl;
cin>>newprice;
s[h]->price=newprice;
cout<<"数据修改成功!";
}break;
case 4:
{
cout<<"请输入数量:"<<endl;
cin>>newquantity;
s[h]->quantity=newquantity;
cout<<"数据修改成功!";
}break;
}
}
else
cout<<"你所要修改的商品的信息不存在,请修正后在更改!"<<endl;
cout<<"是否继续修改?(y/n)"<<endl;
if(getch()=='y')
Alter();
else return ;
}
void tong::list() //商品信息显示
{
cout<<"=========================================================="<<endl;
cout<<"===================所有商品信息==================="<<endl;
cout<<"=========================================================="<<endl;
cout<<"货品代码=======货品名称======货品价格======货品数量======计量单位"<<endl;
if(i==0)
cout<<"系统中没有录入商品信息或该商品信息已被删除!"<<endl;
for(int k=0;k<i;k++){
cout<<setw(15)<<left<<s[k]->code<<setw(15)<<left<<s[k]->name<<setw(15)<<left<<s[k]->price<<setw(15)<<left<<s[k]->quantity<<setw(15)<<left<<s[k]->danwei<<endl;
}
}
void tong::buy() //商品买入
{
cout<<"请输入你想购买的商品的代码及名称:"<<endl;
cin>>code>>name;
cout<<"请输入您想购买的商品的数量:"<<endl;
cin>>quantity;
Checkout(quantity);
Display();
Total();
}
void tong::Display()
{
int k;
k=atoi(code)-1;
cout<<"货品代码=======货品名称======货品价格======购买数量======计量单位=====小计(元)=="<<endl;
cout<<setw(15)<<left<<s[k]->code
<<setw(15)<<left<<s[k]->name
<<setw(15)<<left<<s[k]->price
<<setw(15)<<left<<quantity
<<setw(15)<<left<<s[k]->danwei
<<setw(15)<<left<<quantity*s[k]->price<<endl;
}
float tong::Checkout(int quantity) //单个商品小结
{
int k=0;
float sum(0.0);
sum=s[k]->price * quantity;
return sum;
}
void tong::Total() //总结帐
{
float sum = 0;
float factly;
char GoOn;
while(1)
{
cout<<"要结束商品买入请按'N/n',其继续买入请按'Y/y': "<<endl;
cin>>GoOn;
if(GoOn=='Y'||GoOn=='y'){ //int quantity;
cout<<"请输入商品代码:"<<endl;
cin>>code>>name;
cout<<"请输入商品数量:"<<endl;
cin>>quantity;
sum+=Checkout(quantity);
cout<<"你购买的商品为:"<<endl;
Display();
}
else if(GoOn=='N'||GoOn=='n')
break;
}
cout<<"----------------------------------------------------"<<endl;
sum+=Checkout(quantity);
cout<<"你应该付 "<<sum<<"元!"<<endl;
cout<<"你实际付(元): ";
cin>>factly;
cout<<"应该找回你 "<<factly-sum<<"元!"<<endl; //找零。
}
void caozuoa(int p){
tong t;
switch(p){
case 0:t.Set();break;
case 1:t. Alter ();break;
case 2:t.save();break;
case 8:exit(0);break;
}
}
void caozuob(int p){
tong t;
switch(p){
case 0:t.list();break;
case 1:t.buy();break;
case 8:exit(0);break;
}
}
void main()
{
int a;
char w;
cout<<"*-------------------------------------------------*"<<endl;
cout<<"***************************************************"<<endl;
cout<<"\n"<<endl;
cout<<"*------------欢迎进入商品订购统计系统-------------*"<<endl;
cout<<"\n"<<endl;
cout<<"***************************************************"<<endl;
do{
cout<<"请选择您的操作:商品信息管理系统(M)商品订购系统(S)"<<endl;
cin>>w;
cout<<"*---------------------菜单选项--------------------*"<<endl;
cout<<"*-------------------------------------------------*"<<endl;
cout<<"*-------------------------------------------------*"<<endl;
cout<<"\n"<<endl;
if(w=='M'||w=='m')
{ cout<<"商品信息录入(请输入0) 修改信息(请输入1) 保存信息(请输入2) "<<endl;
cin>>a;
caozuoa(a);
}
else if(w=='S'||w=='s')
{
cout<<"显示商品信息(请输入0) 商品买入(请输入1) "<<endl;
cin>>a;
caozuob(a);
}
else
{
cout<<"请输入'M' 、'm' 或'S' 、's'"<<endl;}
cout<<"您想继续进行其他操作吗?(y/n)"<<endl;
cin>>w;
}
while(w=='y');
}
复制代码
作者:
admin
时间:
2018-11-15 16:23
您这个问题给的信息不全,估计是没人能回答得了的,先转移到冷门区了,自行编辑补充一下吧,审核员会帮你重新转到热门问答区的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1