QQ网名大全

用C语言来编写:商品销售统计程序

#include<iostream>
#include<cstring>
#include<fstream>
#include<stdlib.h>//system("cls")//清屏
#include<conio.h>//getche()
using namespace std;
//全局变量
int i=0;//已录入商品总个数
char ch;//cin>>ch
int n;//case(n)
char code[10];
char name[10];
char unit[10];
int amount;
float unitprice;
float total=0;//总价
ofstream f1("./test.txt");
ofstream f2("./sell.txt");//构建输出流,没有文件就建立

class Goods
{
private:
char code[10];//代码
char name[10];//名称
char unit[10];//单位
int amount;//总数
float unitprice;//单价
public:
Goods();
Goods(char co[10],char na[10],char un[10],int am,float unpr);//构造函数
void f_write();// 录入
void f_change();//改变
void f_delete();//删除
void display();//显示全部商品信息
void s_buy();//买入
};
//构造函数
Goods::Goods(){}
Goods::Goods(char co[10],char na[10],char un[10],int am,float unpr)
{
strcpy(code,co);
strcpy(name,na);
strcpy(unit,un);
amount=am;
unitprice=unpr;
}
Goods *g[50];
//商品信息录入
void Goods::f_write()
{
cout<<"请输入第"<<i+1<<"件商品代码:"<<endl;
cin>>code;
cout<<"请输入第"<<i+1<<"件商品名称:"<<endl;
cin>>name;
cout<<"请输入第"<<i+1<<"件商品计量单位:"<<endl;
cin>>unit;
cout<<"请输入第"<<i+1<<"件商品总数:"<<endl;
cin>>amount;
cout<<"请输入第"<<i+1<<"件商品单价:"<<endl;
cin>>unitprice;
g[i]=new Goods(code,name,unit,amount,unitprice);
i++;
cout<<"信息录入成功!(继续录入按y,返回上一层按n)"<<endl;
cin>>ch;
if(ch=='y')
{
f_write();
}
}
//改变商品信息
void Goods::f_change()
{
cout<<"请输入要改变的商品代码:";
cin>>code;
for(int h=0;h<i;h++)
{
if(0 == strcmp(g[h]->code,code))
{
cout<<"商品信息如下:"<<endl;
cout<<"代码 名称 单价 总数 单位"<<endl;
cout<<g[h]->code<<"\t"<<g[h]->name<<"\t"<<g[h]->unitprice
<<"\t"<<g[h]->amount<<"\t"<<g[h]->unit<<endl;
char newco,newna,newun;
int newam;
float newunpr;
cout<<"你想要修改:1、代码;2、名称;3、单价;4、总数;5、单位。"<<endl;
cin>>n;
switch(n)
{
case 1:
cout<<"请输入修改后的商品代码:";
cin>>newco;
g[h]->code[10]=newco;
cout<<"修改成功!"<<endl;
break;
case 2:
cout<<"请输入修改后的商品名称:";
cin>>newna;
g[h]->name[10]=newna;
cout<<"修改成功!"<<endl;
break;
case 3:
cout<<"请输入商品单价:";
cin>>newunpr;
g[h]->unitprice=newunpr;
cout<<"修改成功!"<<endl;
break;
case 4:
cout<<"请输入修改后的商品总数:";
cin>>newam;
g[h]->amount=newam;
cout<<"修改成功!"<<endl;
break;
case 5:
cout<<"请输入修改后的商品单位:";
cin>>newun;
g[h]->unit[10]=newun;
cout<<"修改成功!"<<endl;
break;
}
break;
}//if
}//for循环
cout<<"是否继续修改?(y/n)"<<endl;
cin>>ch;
if(ch=='y')
{
f_change();
}
}
//删除信息
void Goods::f_delete()
{
cout<<"请输入要删除的商品代码:";
cin>>code;
for(int h=0;h<i;h++)
{
if(0 == strcmp(g[h]->code,code))
{
for(int k=h;k<i;k++)
{
g[k]=g[k+1];
i--;
}
}
}
cout<<"删除成功!"<<endl;
cout<<"是否继续删除?(y/n)"<<endl;
cin>>ch;
if(ch=='y')
{
f_delete();
}
}
//打印信息
void Goods::display()
{
system("cls");
cout<<" "<<endl;
cout<<"-----------全部商品信息如下-------------------"<<endl;
cout<<" "<<endl;
cout<<"代码 名称 单价 总数 单位"<<endl;
f1<<" "<<endl;
f1<<"---------------全部商品信息如下--------------"<<endl;
f1<<" "<<endl;
f1<<"代码 名称 单价 总数 单位"<<endl;
if(i==0)
{
cout<<"系统未曾录入任何商品信息,或记录被删除!";
}
for(int k=0;k<i;k++)
{
cout<<g[k]->code<<"\t"<<g[k]->name<<"\t"<<g[k]->unitprice
<<"\t"<<g[k]->amount<<"\t"<<g[k]->unit<<endl;
f1<<g[k]->code<<"\t"<<g[k]->name<<"\t"<<g[k]->unitprice
<<"\t"<<g[k]->amount<<"\t"<<g[k]->unit<<endl;
}
cout<<endl;
}
//买入
void Goods::s_buy()
{
float price=0;//单个商品价格
cout<<"请输入想要买的商品代码:";
cin>>code;
for(int h=0;h<i;h++)
{
if(0 == strcmp(g[h]->code,code))
{
cout<<"请输入想要购买的商品数量:";
cin>>amount;//当前要购买的数量
price=amount*g[h]->unitprice;
g[h]->amount=g[h]->amount-amount;
cout<<endl;
cout<<"代码 名称 单价 数量 小计"<<endl;
cout<<g[h]->code<<"\t"<<g[h]->name<<"\t"<<g[h]->unitprice
<<"\t"<<g[h]->amount<<g[h]->unit<<"\t"<<price<<endl;
f2<<"代码 名称 单价 数量 小计"<<endl;
f2<<g[h]->code<<"\t"<<g[h]->name<<"\t"<<g[h]->unitprice
<<"\t"<<g[h]->amount<<g[h]->unit<<"\t"<<price<<endl;
total=total+price;
break;
}
}
cout<<"按1继续购买,按2结束。"<<endl;
cin>>n;
if(n==2)
{
cout<<endl;
cout<<"购买结束,总计:"<<total<<"元!"<<endl;
}
else
{
s_buy();
}
}

//类外函数
//第一部分操作显示
void f_screen()
{
system("cls");
Goods g;
cout<<"按相应键操作:"<<endl;
cout<<"0.录入信息 1.更改信息 2.删除信息 3.返回上一层"<<endl;
cin>>n;
switch(n)
{
case 0:
g.f_write();
if(ch=='n'||ch=='N')
f_screen();
break;
case 1:
g.f_change();
if(ch=='n'||ch=='N')
f_screen();
break;
case 2:
g.f_delete();
if(ch=='n'||ch=='N')
f_screen();
break;
}
}
//第二部分操作显示
void s_screen()
{
Goods g;
g.display();
cout<<endl;
g.s_buy();
}
//初始屏幕显示
void screen()
{
system("cls");
cout<<" "<<endl;
cout<<"-----------------商品销售统计系统---------------"<<endl;
cout<<" "<<endl;
f2<<" "<<endl;
f2<<"----------------商品销售统计系统--------------"<<endl;
f2<<" "<<endl;
cout<<"更改商品信息请按1,进行销售统计请按-1。"<<endl;
cin>>ch;
if(ch=='1')
{
f_screen();
if(n==3)
screen();
}
else if(ch=='-1')
{
s_screen();
}
else
{
cout<<"输入错误,系统重新启动!";
screen();
}
}
int main()
{
screen();
return 0;
}
佚名
2024-06-04 05:26:32
最佳回答
类似问题(10)