* * * * 大 学
程序设计课程设计报告
商场销售管理系统
学号
姓名
日期
目 录
一.需求分析……………………………………………….3
file:///H:/C++/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E8%AF%BE%E8%AE%BE%EF%BC%88%E5%8F%82%E8%80%83%EF%BC%
二.程序主要功能………………………………………….3
三.程序运行平台………………………………………….4
四.系统功能框架图……………………………………….5
五.程序类说明…………………………………………….6
六.模块分析……………………………………………….7
七.比较有特色的地方…………………………………….13
八.存在的不足与对策…………………………………….13
九.编程体会……………………………………………14
十.程序源代码…………………………………………….15
一.需求分析
本系统旨在实现一个小型的商城销售管理系统,对于一个小型的
商场或销售店铺来说,实施本系统不仅可以减少工作人员数量,降低
成本,而且可以大大提高工作效率,降低工作强度,方便卖家记录商
file:///H:/C++/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E8%AF%BE%E8%AE%BE%EF%BC%88%E5%8F%82%E8%80%83%EF%BC%
file:///H:/C++/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E8%AF%BE%E8%AE%BE%EF%BC%88%E5%8F%82%E8%80%83%EF%BC%
file:///H:/C++/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E8%AF%BE%E8%AE%BE%EF%BC%88%E5%8F%82%E8%80%83%EF%BC%
file:///H:/C++/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E8%AF%BE%E8%AE%BE%EF%BC%88%E5%8F%82%E8%80%83%EF%BC%
file:///H:/C++/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E8%AF%BE%E8%AE%BE%EF%BC%88%E5%8F%82%E8%80%83%EF%BC%
file:///H:/C++/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E8%AF%BE%E8%AE%BE%EF%BC%88%E5%8F%82%E8%80%83%EF%BC%
file:///H:/C++/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E8%AF%BE%E8%AE%BE%EF%BC%88%E5%8F%82%E8%80%83%EF%BC%
file:///H:/C++/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E8%AF%BE%E8%AE%BE%EF%BC%88%E5%8F%82%E8%80%83%EF%BC%
file:///H:/C++/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E8%AF%BE%E8%AE%BE%EF%BC%88%E5%8F%82%E8%80%83%EF%BC%
品流通信息,统计销售情况,分析市场需求,帮助卖家更好的管理商
场,以获取跟多的利润。
程序主要实现进货管理、商品基本信息查询与修改、利润计算与
销售统计、库存管理等及一些辅助功能。
二.程序主要功能
该程序的主要功能有
1.商品信息管理
可对商品信息进行查看、按一定规则排序及商品查找,其
中具体信息包括 商品名称,编号,进货成本价,销售价,进货
总量,销售量,可以对库存,已获得利润,总体成本价等进行计
算
2.管理员功能
可实现对商品信息的进行修改,添加,删除等功能,并进
行文件的操作储存,以更好的保护信息,能有效的管理好商品信
息的隐秘性。
3.辅助功能
该程序实现了一下清屏,清空文件,操作提示等善后辅助
功能,能帮助用户更好的应用该程序,使程序的功能最大化实现。
三.程序运行平台
该程序是用 VC++ 制做的,使用 Microsoft Visual
C++ 运行该程序,具体操作是:打开 Microsoft Visual
C++ ,菜单栏里点文件→打开工作区→找到“图书管理系
统.dsw”这个文件→打开,或者在资源管理器中双击该文件,
此时,VC++ 会自动打开,并载入该系统相关资源,点击
Run 命令菜单或者或用快捷键 Ctrl+F5 运行该程序。
四.系统功能框架图
商城销售管理系统
五.程序类说明
有关商品信息的类
//存储商品信息
class GoodsInfo
{public:
char * name ; //商品名称
int number; //商品编号
float cost_p; //成本单价
float unit_p; //销售单价
int num_all; //共计商品件数
int num_now; //现存商品件数
int num_sell; //已售出商品件数
float cost_all; //进货总计成本价
float profit; //已销售商品获得的利润
GoodsInfo * next; //指向下一个商
GoodsInfo(); //构造函数
GoodsInfo(char * a,int b,float c,float u,int all,int sell) ; //重载构造函数
void operator= (const GoodsInfo &right); //重载=
void setInfo(char * a,float c,float u,int all,int sell) ; //数据载入
char* getname(){return name;} //返回姓名用于查找 显示商品信息
void Amend(GoodsInfo *);
void show(GoodsInfo *);
~GoodsInfo()
{ delete [] name;}
商品基本信息
名称
编号
成本
单价
销量
库存
总量
利润
商品管理
修改数据
创建新表
增加商品
删除商品
文件存档
从文件中
提取数据
商品信息查看
显示全部内容
商品查找
显示商品信息
按销量排序
按利润排序
进入系统
退出系统
其它辅助功能
使用说明及帮助等
};
商品类链表
class GoodList :public GoodsInfo
{
public:
GoodList();//构造函数,指针初始化
~GoodList();//析构函数,释放
GoodsInfo * head; //头指针
GoodsInfo * p; //活动指针 1
GoodsInfo * p2; //活动指针 2(指向最后一个)
void create(); //创建函数
void showinfo(GoodsInfo *); //显示
GoodsInfo * search(); //查找
void saveInfo();//信息存档
void getInfo(); //上传信息
void addInfo(GoodsInfo *); //添加数据
void sort(); //按销量显示
void menu();
void delete_();//删除节点
};
六.模块分析
菜单:
所有函数均封装在商品类及商品链表类中(GoodsInfo 和
GoodList) 信 息 存 储 在 类 GoodsInfo 中 , 类 中 定 义 了 3 个
GoodsInfo 指针,一个是*head,作为链表的头指针,另一个是*p,
作为活动指针,一个*p2,指向链表的尾节。在不同的类的成员
函数中都可使用,为了防止该活动指针使用过频,造成几个函数
同时使用同一个指针指向不明,在有些函数里还定义了一些临时
指针。
1.创建
此函数为是创建商品信息数据,构成商品信息表是使用,用于让
用户批量添加商品。
按照程序的提示,可依次添加商品信息,按‘Y’继续,其他建则
停止,返回主菜单。此时链表创建成功,*head 指向链表的头,
p2 指向尾。可用于后续函数的操作。
2.添加
跟创建有一样的用途,用于添加商品信息,不同的是添加只能用
于已有原链表存在的情况下。但这个不能批量添加,一次只能添
加一个,并且存放在原链表尾节点的后一个,形成一个新的链表。
3.查找
顾名思义,此函数用于查找商品信息。在原始信息过多的时候,可以
通过查找(按商品编号和商品名称两钟方式)查看自己想看的商品详
细信息。
若不存在该商品,程序则自动输出未找到,然后返回主菜单。若查找
到该商品,函数返回该节点的指针,并用单个显示函数显示出来。
4.修改
此函数是基于查找函数之上的。在查找到需要修改的单元后,选择自
己需要修改的项目。
函数会询问是否需要继续修改,Y 继续,其他键则返回主菜单。
5.删除
删除和修改一样,基于查找函数之上,用于删除不需要的节点。
操作方法也和前面类似。
6.显示
此函数用于批量显示商品信息。该函数以表格的型式显示,明了
清晰,有助于比较。
7.排序
排序是基于显示函数的一个函数。该函数用选择排序法,以两种
(按销量和按利润)方法排序显示,有助于商家对比比较分析哪
种商品的销量好利润高,便于管理和优化商城的盈利。
8.上传
当需要输入数据过多过大时,可以通过上传函数,直接把文件中
的数据读到程序中并形成链表,然后再继续后续操作。这个和创
建函数具有差不多的功能,不过一个是从键盘读入,一个是从文
件中读入。文件上传成功后,函数会自动显示成功,然后跳到主
菜单进行其他项目。
9.存档
上传和存档是文件和程序的两个接头。在数据操作过程中为避免
数据丢失,可边操作变保存,在退出程序之前,程序也会自动弹
出询问是否需要保存,这是比较人性化的一点,以免造成不可估
量的后果。保存成功后会自动输出成功字样,并退出或继续程序。
存档和上传合并利用,下一次运行程序时,可以直接上传上次所
保存的数据然后继续操作,就不需要工作人员一个一个慢慢输入
了。
10.其他
清屏是一个辅助函数,为了清晰界面方便操作美化外观。退出程
序是会自动询问是否保存文件,然后调用析构函数,释放链表清
除数据,然后安全退出。
七、比较有特色的地方
有特色的函数指的是实现地较为巧妙的类的构造函数、成员函数、
析构函数等函数,也可以是指针处理的函数,文件处理的函数等
比较有特色的函数,能体现巧妙构思即可。特别是运算附的重载,
大大减小了代码的数量,简洁了程序。还有就是文件操作方面,
比较合理和人性化。
八.存在的不足
在文件编写的时候我此次采用的是 txt 储存数据,虽然有助于使
用者查看数据,但是在面对一串庞大数据是,dat 文件的效率明
显会高很多。还有就是由于学得不够深,程序的功能总体来说还
比较少,有待以后更深层的学习后完善。比如界面方面的处理,
和对每天销售情况的记录等等。商品流通的具体过程等该程序都
没有记录。需要改进的地方还有很多。
九、心得体会
通过这次课程设计,我清楚的认识到了 C++是一门很庞大的并且
很有实用价值的一门学科,它一种非常简洁高效的语言。类的特
色在这次编程过程中有了充分的体会。就以前所学的 C 语言而
言,我明显感觉到 C++在编写这种比较复杂的程序时的优势,他
的重载函数运算符的等操作也是一大有点。模块的分块化,当需
要用到某个函数时再进行调用,大大增强了程序的可读性,而且
代码也更加合理清晰。
就拿这次我所写的商场销售管理系统来说,商品类的操作是一个
整体,写在一个中.cpp,文件里面同时也可以另外写到一个.h 的
头文件里面,在写程序的时候再进行调用。课程设计真的很能锻
炼人,平时上课都是讲的基础知识,上机也只是编写的小程序,
不能把知识融会贯通。然而这次课设是编写的一个小系统,把所
学的知识都联系起来了,在刚刚看到要求时是觉得有很大的难度
的,毕竟是第一次编写一个商场销售管理系统。但是想到有志者
事竞成,只要敢于思考敢于尝试,按步骤一步一步来也是能编写
出程序的。于是我首先把程序类图先画了出来,把程序基本结构
勾勒出来,化整为零,一个一个小功能慢慢写起,写完一个在主
函数中验证一个看是否正确,通过后在进行下一个,逐步实现。
而后编写主函数,菜单等,完善功能。因为我刚刚入门 c++,基
本工还不足,能力还很弱,所以在写的过程中遇到很多困难,有
些以前很熟悉的代码也忘了,于是我开始翻阅以前的书籍,边对
照边回忆,终于完成了。特别是在文件操作方面尤为薄弱,我意
思到了自己的弱点。由于自己的不足,以后学习还要更加努力,
不懂时多问老师多向同学学习。 作为一个计算机专业的学生,
计算机语言是我们的基本功,我们应该扎实自己的基础,才能更
快更好的发展。
十.源代码
#ifndef LIST_H
#define LIST_H
#include ""
class GoodList :public GoodsInfo
{
public:
GoodList(); //构造函数,指针初始化
~GoodList(); //析构函数,释放
GoodsInfo * head; //头指针
GoodsInfo * p; //活动指针 1
GoodsInfo * p2; //活动指针 2(指向最后一个)
void create(); //创建函数
void showinfo(GoodsInfo *); //显示
GoodsInfo * search(); //查找
void saveInfo(); //信息存档
void getInfo(); //上传信息
void addInfo(GoodsInfo *); //添加数据
void sort(); //按销量显示
void menu();
void delete_(); //删除节点
};
#endif
//存储商品信息
#ifndef GOODSINFO_H
#define GOODSINFO_H
class GoodsInfo
{public:
char * name ; //商品名称
int number; //商品编号
float cost_p; //成本单价
float unit_p; //销售单价
int num_all; //共计商品件数
int num_now; //现存商品件数
int num_sell; //已售出商品件数
float cost_all; //进货总计成本价
float profit; //已销售商品获得的利润
GoodsInfo * next; //指向下一个商
GoodsInfo(); //构造函数
GoodsInfo(char * a,int b,float c,float u,int all,int sell) ; //重载构造函数
void operator= (const GoodsInfo &right); //重载=
void setInfo(char * a,float c,float u,int all,int sell) ; //数据载入
char* getname(){return name;} //返回姓名用于查找 //显
示商品信息
void Amend(GoodsInfo *);
void show(GoodsInfo *);
~GoodsInfo()
{ delete [] name;}
};
#endif
#include<iostream>
using namespace std;
#include""
#include<>
GoodsInfo::GoodsInfo() //构造函数
{
name=new char [21];
number=cost_p=unit_p=num_all=num_now=num_sell=cost_all=profit=0;
next=NULL;
}
GoodsInfo::GoodsInfo(char * a,int b,float c,float u,int all,int sell) //重载构造函数
{
strcpy(name,a);
number=b;
cost_p=c;
unit_p=u;
num_all=all;
num_sell=sell;
num_now=all-sell;
cost_all=c*all;
profit=(u-c)*sell;
next=NULL;
}
void GoodsInfo::operator= (const GoodsInfo &right) //重载=
{
strcpy(name,);
number= ;
cost_p=_p;
unit_p=_p ;
num_all=_all ;
num_sell=_sell ;
num_now=_now ;
cost_all=_all;
profit= ;
}
void GoodsInfo::setInfo(char * a,float c,float u,int all,int sell) //数据载入
{
strcpy(name,a);
cost_p=c;
unit_p=u;
num_all=all;
num_sell=sell;
num_now=all-sell;
cost_all=c*all;
profit=(u-c)*sell;
next=NULL;
}
void GoodsInfo::show(GoodsInfo * h) //显示
{
if(h==NULL) cout<<"NULL!\n";
else
{cout<<"-----------------------------------\n"
<<"商品名: "<<h->name<<endl;
cout<<"编号: "<<h->number<<endl
<<"成本: "<<h->cost_p<<endl
<<"销售单价: "<<h->unit_p<<endl
<<"销量:"<<h->num_sell <<endl
<<"库存: "<<h->num_now<<endl
<<"已获得利润:"<<h->profit<<endl;
}
}
void GoodsInfo:: Amend(GoodsInfo * h) //修改信息
{ int F;
char S;
cout<<"~~~~~~~~~~~~~~~~~~\n"
<<"^2.商品成本单价 ^"<<endl
<<"^3.商品销售单价 ^"<<endl
<<"^4.进货数量 ^"<<endl
<<"^5.销售数量 ^"<<endl
<<"~~~~~~~~~~~~~~~~~~\n";
do
{cout<<"请选择需要修改的项目编号:"<<endl;
cin>>F;
switch(F)
{
case 1 :{cout<<"~~~~~~~~~~~~~~~~~~~~\n"
<<"|请输入修改后的名称|\n"
<<"~~~~~~~~~~~~~~~~~~~~";
();
(h->name,21);break;}
case 2 :{cout<<"~~~~~~~~~~~~~~~~~~~~~~~\n"
<<"|请输入修改后的成本价: \n"
<<"~~~~~~~~~~~~~~~~~~~~~~~";
cin>>h->cost_p;break;}
case 3 :{cout<<"请输入修改后的销售单价: ";
cin>>h->unit_p;break;}
case 4 :{cout<<"请输入修改后的进货量: ";
cin>>h->num_all;break;}
case 5 :{cout<<"请输入修改后的销售量: ";
cin>>h->num_sell;break;}
}
h->cost_all=h->cost_p*(h->num_all);
h->num_now=h->num_all -(h->num_sell);
h->profit=(h->unit_p -(h->cost_p ))*h->num_sell;
cout<<"是否需要继续修改?";
cin>>S;
}
while(S=='Y');
}
#include <iostream>using namespace std;
#include <string>
#include<iomanip>
#include <fstream>
#include""
GoodList::GoodList() //构造函数
{
p=new GoodsInfo [sizeof(GoodsInfo)];
head=NULL;
p2=NULL;
p->next =NULL;
}
GoodList::~GoodList() //析构函数
{
while(head!=NULL)
{p=head;
head=p->next ;
delete [] p;
}
}
void GoodList::create() //创建
{int n=0;
char f='Y';
cout<<"请输入商品信息:"<<endl;
while(f=='Y')
{n+=1;
if(n==1) head=p;
else
{p=new GoodsInfo [sizeof(GoodsInfo)];
p2->next=p;
}
cout<<"商品名称: ";
if(n==1) ();
(p->name,21);
cout<<"商品编号:";
cin>>p->number;
cout<<"成本价: ";
cin>>p->cost_p;
cout<<"销售价: ";
cin>>p->unit_p;
cout<<"共计商品件数: ";
cin>>p->num_all;
cout<<"已售出商品件数: ";
cin>>p->num_sell;
p->num_now=p->num_all-(p->num_sell);
p->cost_all=p->cost_p*(p->num_all);
p->profit=((p->unit_p)-(p->cost_p))*(p->num_sell);
p2=p;
cout<<"是否继续输入?(输入‘Y’继续)";
cin>>f;
();
}
if(head!=NULL) p2->next=NULL; //P2 指向最后一个
}
void GoodList::showinfo(GoodsInfo * h) //显示信息
{cout<<setw(10)<<"商品名称"<<setw(10)<<"编号"<<setw(8)<<"进价"<<setw(8)<<"售价"
<<setw(8)<<"销量"<<setw(8)<<"库存"<<setw(12)<<"已得利润"<<endl;
while(h!=NULL)
{
cout<<setw(10)<<h->name<<setw(10)<<h->number<<setw(8)<<h->cost_p<<setw(8)<<h->unit_
p
<<setw(8)<<h->num_sell<<setw(8)<<h->num_now<<setw(12)<<h->profit<<endl;
h=h->next;
}
}
GoodsInfo * GoodList::search() //查找
{
if(head==NULL) { cout<<"数据为空!\n";return NULL;}
else
{GoodsInfo *h;
h=head;
int f;
cout<<"~~~~~~~~~~~~~~~~\n"
<<"请选择查找方式: \n"
<<"1.按商品编号 \n" <<"2.按商品名称 "<<endl
<<"~~~~~~~~~~~~~~~~\n";
cin>>f;
switch(f)
{case 1:
{
int x,y;
cout<<"请输入需查找的商品编号:";
cin>>x;
while(h!=NULL&&(x!=(y=h->number)))
h=h->next;
if(x==y) return h;
lse {cout<<"没有找到该商品!\n";return NULL;}
}
case 2:
{char x[21];
int c;
cout<<"请输入需查找的商品名称:";
();
(x,21);
while(h!=NULL&&(c=strcmp(x,h->name))!=0)
h=h->next;
if(c==0) return h;
else {cout<<"没有找到该商品!\n";return NULL;}
}
}
}
}
void GoodList::saveInfo() //存档
{
fstream File;
("",ios::out|ios::binary);
if(!File)
{ cout<<"文件打开失败!\n";
exit(0);
}
p=head;
GoodsInfo X;
File<<"商品名称 编号 进价 售价 总量 销量 库存 已
得利润 \n";
while(p!=NULL)
{ X=*p;
File<<<<" "<<<<" "<<_p<<" "<<_p<<"
"
<<_all <<" "<<_sell<<" "<<_now <<"
"<<<<endl;
p=p->next;
}
cout<<"文件保存成功!\n";
();
}
void GoodList::getInfo() //上传
{ fstream File;
("",ios::in);
if(!File)
{ cout<<"文件打开失败!\n";
exit(0);
}
char s[81];
GoodsInfo h;
(s,81);
int n=0;
while(! ())
{
if(()) break;
n+=1;
if(n==1) head=p;
else
{ p=new GoodsInfo [sizeof(GoodsInfo)];
p2->next=p;
}
File>>>>>>_p>>_p
>>_all>>_sell>>_now
>>;
*p=h;
p2=p;
}
cout<<"上传显示完毕!"<<endl;
();
}
void GoodList::addInfo(GoodsInfo * h) //添加
{ cout<<"请输入商品信息:"<<endl;
p=new GoodsInfo [sizeof(GoodsInfo)];
h->next=p;
();
cout<<"商品名称: ";
(p->name,21);
cout<<"商品编号:";
cin>>p->number;
cout<<"成本价: ";
cin>>p->cost_p;
cout<<"销售价: ";
cin>>p->unit_p;
cout<<"共计商品件数: ";
cin>>p->num_all;
cout<<"已售出商品件数: ";
cin>>p->num_sell;
p->num_now=p->num_all-(p->num_sell);
p->cost_all=p->cost_p*(p->num_all);
p->profit=((p->unit_p)-(p->cost_p))*(p->num_sell);
p2=p;
p2->next=NULL;
}
void GoodList::delete_() //删除节点
{ if(head==NULL)
cout<<"NULL!\n";
else
{
cout<<"请输入需要删除的商品编号:";
int n;
GoodsInfo * h;
cin>>n;
h=head;
while(h->next!=NULL&&h->number!=n)
{ p=h;
h=h->next;
}
if(h->number==n)
{
char F;
cout<<"是否确定删除该节点?";
cin>>F;
if(F=='Y')
{ if(h==head) head=h->next;
else p->next=h->next;
delete [] h;
cout<<"删除成功!\n";
}
}
else cout<<"未找到该节点!\n";
}
}
void GoodList::sort () //按销量排序显示
{
GoodsInfo *h1,*h2,t;
int n;
if(head==NULL) cout<<"NULL!\n";
else
{ int F;
cout<<"~~~~~~~~~~~~~~~~\n"
<<"请选择排序方式:\n"
<<"1.按销量降序排列\n"
<<"2.按利润降序排列\n"
<<"~~~~~~~~~~~~~~~~\n";
cin>>F;
switch(F)
{
case 1:
for(h1=head;h1->next!=NULL;h1=h1->next)
{ n=h1->num_sell;
for(h2=h1->next;h2!=NULL;h2=h2->next)
{ if((h2->num_sell)>(h1->num_sell))
n=h2->num_sell;
if(n!=h1->num_sell)
{t=*h2;*h2=*h1;*h1=t;}
}
}break;
case 2:
for(h1=head;h1->next!=NULL;h1=h1->next)
{ n=h1->profit;
for(h2=h1->next;h2!=NULL;h2=h2->next)
{ if((h2->profit)>(h1->profit))
n=h2->profit;
if(n!=h1->profit)
{t=*h2;*h2=*h1;*h1=t;}
}
}break;
}
}
showinfo(head);
}
void GoodList::menu() //菜单
{
cout<<endl<<endl<<" ----------------------------------------------\n"
<<" |************商场销售管理系统
***************|\n"
<<" |-------------------------------------------|\n"
<<" |
|\n"
<<" |------------------*菜单*-------------------|\n"
<<" |
|\n"
<<" |1.创建 2.添加 3.修改 |\n"
<<" |
|\n"
<<" |4.显示 5.存档 6.查找 |\n"
<<" |
|\n"
<<" |7.上传 8.排序 9.清屏 |\n"
<<" |
|\n"
<<" |10.删除 0.退出 |\n"
<<" ---------------------------------------------\n"
cout<<"*** 请选择操作 ***: ";
}#include <iostream>
using namespace std;
#include""
int main()
{ cout<<endl<<endl<<endl<<endl<<endl<<endl
<<"
****************************************************\n"
<<" ***
***\n"
<<" ***
***\n"
<<" *** 欢迎进入商场销售管理系统! ***\n"
<<" ***
***\n"
<<" ***
***\n"
<<"
****************************************************\n"
<<" ";
system("pause");
system("cls");
GoodList goods;
GoodsInfo * a;
int N;
();
cin>>N;
while(N!=0)
{
switch(N)
{
case 1 : { ();
break;
}
case 2 : { ();
break;
}
case 3 : { cout<<"~~~~~~~~~~~~~~~~~~~~\n"
<<"请选择需要修改的单元\n"
<<"~~~~~~~~~~~~~~~~~~~~\n";
a=();
(a);
if(a!=NULL)
(a);
else cout<<"*error!*\n";
break;
}
case 4 : { ();
break;
}
case 5 : { ();
break;
}
case 6 : { a= ();
(a);
break;
}
case 7 : { ();
break;
}
case 8 : { ();
break;
}
case 9 : { system("cls");
break;
}
case 10 :{ _();
break;
}
}
();
cin>>N;
}
char F;
cout<<" ***是否需要保存文件***('Y'确认保存) ";
cin>>F;
if(F=='Y') ();
system("cls");
cout<<"\n\n\n\n\n\n\n\n\n\n\ 谢谢使用!"<<endl<<endl<<" ";
return 0;
}