C++课程设计《商品销售管理系统》
更新时间:2023-10-10 04:17:01 阅读量: 综合文库 文档下载
- 销售管理系统课程设计推荐度:
- 相关推荐
C++课设 商品销售管理系统 目录
一、需求分析......................................2 二、概要设计......................................2 三、详细设计......................................3 四、调试分析......................................9 五、用户手册.....................................10 六、测试数据.....................................11 七、附录.........................................12
—1—
一、需求分析
商品销售管理程序
商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。
记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。
(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学) 二、概要设计
1、数据类(class Data)的数据类型定义: class Data //数据类 {
private:
int id; //产品编号 char name[100]; //产品名称 int count; //库存数量 int salecount; //已售数量 float iprice; //进价 float oprice ; //售价 char gys[20]; //供应商 Public: //公有函数 int getid() //获取id char *getname() //获取产品名 Int getcount() //获取库存量 Int getsalecount() //获取已售量 Float getbuy() //获取进价 Float getsale() //获取售价 Char *getgys() //获取供应商 —2— Void setid(int n) //输入id Void setname(char na[]) //产品名 Void setcount(int c) //库存量 Void setsalecount(int s) //已售量 Void setbuy(float i) //进价 Void setsale(float o) //售价 Void setgys(char g[]) //供应商 };
2、class commodity 商品类设计: class Commodity //商品类 {
private:
Data t[50]; //数组
—2— int n; //商品数量 public:
void newFile() //添加商品信息 void showData(int i) //显示商品信息 void showData() //显示文字信息 void save() //写入数据至文件 int search() //商品查询
void sale() //商品销售结算 void showSale() //销售清单 inline void menu() //主菜单 3、本程序结构 (1)主函数 Void main(){ menu();
Commodity com; int c;
switch(c){return} Break;}
(2)数据类——实现对数据的输入输出。 (3)商品类——系统各项功能的实现。 三、详细设计 (1)数据类
class Data //数据类 {
private:
int id;//产品编号
char name[100];//产品名称 int count;//库存数量 int salecount;//已售数量 float iprice;//进价
float oprice;//售价 char gys[20];//供应商 public:
int getId() {
return id; }
char *getName() {
return name; }
int getCount()
{
—3— return count; }
int getSaleCount() {
return salecount; }
float getBuy() {
return iprice; }
float getSale() {
return oprice; }
char *getGys() {
return gys; }
//---------------------- void setId(int n) { id=n; }
void setName(char na[]) {
strcpy(name,na); }
void setCount(int c) {
count=c; }
void setSaleCount(int s) {
salecount=s; }
void setBuy(float i) {
iprice=i; }
void setSale(float o) {
oprice=o;
}
—4— //................... void setGys(char g[]) {
strcpy(gys,g); } };
(2)商品类
class Commodity //商品类 {
private:
Data t[50]; //数组
int n; //商品数量
public:
void newFile() {
int id;
char name[50]; //字符数组 int count; float iprice; float oprice; char gys[20]; if(n<0) n=0; int i; Data temp; for(;;n++) {
cout<<\商品编号:\
cin>>id; if(id==-1) break;
t[n].setId(id);
cout<<\商品名:\ cin>>name;
t[n].setName(name);
cout<<\库存量:\ cin>>count;
t[n].setCount(count);
cout<<\进价:\
—5— cin>>iprice;
t[n].setBuy(iprice);
cout<<\售价:\ cin>>oprice;
t[n].setSale(oprice);
cout<<\供应商:\ cin>>gys;
t[n].setGys(gys);
t[n].setSaleCount(0);//售出此产品0个
cout<<\若商品添加完毕,请按-1退出添加!\ for(i=0;i if(t[i].getId()>t[n].getId()) { temp=t[i]; t[i]=t[n]; t[n]=temp; } } } } void showData(int i) { cout< < < void showData() { cout<<\商品编号\ < < —6— < if(t[i].getCount()>0 ) showData(i); cout<<\产品种类:\ } void save() //写入数据至文件 { ofstream fout; fout.open(\商品销售管理系统.txt\ if(!fout) { cout<<\ return ; } fout<<\商品编号\商品名\库存量\进价\售价\供应商\已售量\ for(int i=0;i fout< cout<<\ fout.close(); } int search() { int id; cout<<\ cin>>id; int low=0,mid,high=n-1; while(low<=high) { mid=(low+high)/2; if(t[mid].getId()==id) return mid; else if(t[mid].getId()>id) high=mid-1; Else low=mid+1; —7— } return -1; } void sale() { cout<<\产品编号\ int temp; temp=search(); if(temp==-1) { cout<<\ return; } if(t[temp].getCount()<=0) { cout<<\此产品已缺!\ } int count; cout<<\输入数量:\ cin>>count; float money; cout<<\输入收到金额(元):\ cin>>money; if(count<=0 && count>t[temp].getCount())//输入的是负数或超出该产品库存量 cout<<\数量输入不正确\ else if(money cout<<\购物金额不足,还需增加金额\元\ else { t[temp].setCount(t[temp].getCount()-count);//当前库存减少count t[temp].setSaleCount(t[temp].getSaleCount()+count);//出售量增加count cout<<\名称:\ <<\数量:\ <<\单价:\元\ —8— <<\应收:\元\ <<\找零:\元\ <<\ } } void showSale() { for(int i=0;i if(t[i].getSaleCount()>0 ) showData(i); } }; (3)主函数 inline void menu() { cout<<\欢迎使用商品销售管理系统********** \ cout<<\主菜单********** \ cout<<\添加 \ cout<<\保存 \ cout<<\显示 \ cout<<\菜单 \ cout<<\销售单 \ cout<<\退出系统 \ cout<<\\} void main() { menu(); Commodity com; int c; for(;;) { cout<<\请选择:\ cin>>c; —9— switch(c) { case 1:com.newFile();break; case 2:com.save();break; case 3:com.showData();break; case 4:menu();break; case 5:com.sale();break; case 0:{ cout<<\谢谢使用***** \ cout<<\再见!********* \ return; } break; } } } 四、调试手册 (1)、error C2143: syntax error : missing ';' before '}'行246少了一个分号 (2)、error C2562: 'main' : 'void' function returning a value空类型不能有返回值 (3)、error C2679: binary '<<' : no operator defined which takes a right-hand operand of type '' (or there is no acceptable conversion) t[i].getName后面少了() 五、用户手册 1、本程序的运行环境为windows操作系统,执行文件为Ks..exe; 2、进入演示程序后,即显示对话形式的提示操作过程: 如:第一项:(1)商品添加功能 在选择一栏输入:1 即显示商品编号、商品名、库存量、进价、售价、供应商各项商 品信息,依次输入所需添加的数据 。添加商品完毕,按-1退出添加。 选择:2 即将商品信息保存。 选择:3 显示已保存的商品信息。 选择:4 重新回到主菜单。 选择:5 进行商品销售结算。同时选择:3 显示商品库存和已销售的完整信息。 六、测试数据 进入演示程序后,即显示对话形式的提示操作过程: 选择:1 —10— 输入相应提示的商品信息 选择:2 界面显示数据保存成功 选择:3 显示商品信息 —11— 选择:4 重新回到主菜单 选择:5 进行商品结算 选择:3 显示商品信息 七、附录 程序源代码: #include #include class Data //数据类 { private: int id;//产品编号 char name[100];//产品名称 int count;//库存数量 int salecount;//已售数量 float iprice;//进价 float oprice;//售价 char gys[20];//供应商 public: int getId() { return id; } char *getName() { return name; } int getCount() { return count; } int getSaleCount() { return salecount; } float getBuy() { return iprice; —12— } float getSale() { return oprice; } char *getGys() { return gys; } //---------------------- void setId(int n) { id=n; } void setName(char na[]) { strcpy(name,na); } void setCount(int c) { count=c; } void setSaleCount(int s) { salecount=s; } void setBuy(float i) { iprice=i; } void setSale(float o) { oprice=o; } //................... void setGys(char g[]) { strcpy(gys,g); } }; class Commodity //商品类 { private: —13— Data t[50]; //数组 int n; //商品数量 public: void newFile() { int id; char name[50]; //字符数组 int count; float iprice; float oprice; char gys[20]; if(n<0) n=0; int i; Data temp; for(;;n++) { cout<<\商品编号:\ cin>>id; if(id==-1) break; t[n].setId(id); cout<<\商品名:\ cin>>name; t[n].setName(name); cout<<\库存量:\ cin>>count; t[n].setCount(count); cout<<\进价:\ cin>>iprice; t[n].setBuy(iprice); cout<<\售价:\ cin>>oprice; t[n].setSale(oprice); cout<<\供应商:\ cin>>gys; t[n].setGys(gys); t[n].setSaleCount(0);//售出此产品0个 —14— cout<<\若商品添加完毕,请按-1退出添加!\ for(i=0;i —15— { cout< } void save() //写入数据至文件 { ofstream fout; fout.open(\商品销售管理系统.txt\ if(!fout) { —15— cout<<\ return ; } fout<<\商品编号\ \商品名\ \库存量\ \进价\ \售价\ \供应商\ \已售量\ for(int i=0;i fout< cout<<\产品编号\ int temp; temp=search(); if(temp==-1) { cout<<\ return; —16— } if(t[temp].getCount()<=0) { cout<<\此产品已缺!\ } int count; cout<<\输入数量:\ cin>>count; float money; cout<<\输入收到金额(元):\ cin>>money; if(count<=0 && count>t[temp].getCount())//输入的是负数或超出该产品库存量 —17— cout<<\数量输入不正确\ else if(money } }; inline void menu() { cout<<\ ******欢迎使用商品销售管理系统****** \ cout<<\ **************主菜单********** \ cout<<\ (1)添加 \ —17— cout<<\ (2)保存 \ cout<<\ (3)显示 cout<<\ (4)菜单 cout<<\ (5)销售单 cout<<\ (0)退出系统 cout<<\ ********2011--2012******** } void main() { menu(); Commodity com; int c; for(;;) { cout<<\ 请选择:\ cin>>c; switch(c) { case 1:com.newFile();break; case 2:com.save();break; case 3:com.showData();break; case 4:menu();break; case 5:com.sale();break; case 0:{ cout<<\ ***********谢谢使用********** cout<<\ *********!再见!********** return; } break; } } } \\\\\ \ \ —18—
正在阅读:
C++课程设计《商品销售管理系统》10-10
20XX护士个人工作计划书范文12-11
高尿酸血症一个未被重视的心血管病危险因素07-26
开学的打算作文02-04
游泳池水质日常管理06-21
四年级第八课01-28
2015-2020年中国光无源器件行业市场调查及投资前景预测报告06-09
物质的分离和提纯(教案)05-03
辩手必备——史上最全的辩论赛经典辩题集锦04-29
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- C++
- 管理系统
- 课程
- 销售
- 商品
- 设计
- 河北省石家庄市2019届高三二模文综历史试题
- 人民解放军各师沿革(4)
- 驾驶员岗位安全操作规程
- 初中数学公式定理总结
- 希尔排序
- 日记作文之实习日记100篇
- 65吨锅炉除尘、脱硫脱硝方案DOC - 图文
- 大工12春《大学英语4》在线测试2
- 病理科二甲复审准备内容
- 道路翻浆原因及防治措施
- 学生中心 nbsp;素养核心 - 《以阳光教育校本课程发展学生核心素养的实践研究》文献综述
- 2015-2016学年牛津英语沪教版七年级英语上册 7A Unit 1 Making friends精品学案
- 煤矿探放水设计
- 数据库系统原理练习题2-me(5)
- 大学体验英语综合教程4 lead-in
- 上海市安全监理继续教育总复习题2013年11月16日
- 2015年第32届全国中学生物理竞赛预赛试卷及答案
- 机械工程及自动化专业毕设开题报告-转筒干燥机设计 - 图文
- OXE用户培训资料
- 第一章 客运运价