超市商品销售管理系统C.docx

上传人:b****1 文档编号:13439103 上传时间:2023-06-14 格式:DOCX 页数:32 大小:255.44KB
下载 相关 举报
超市商品销售管理系统C.docx_第1页
第1页 / 共32页
超市商品销售管理系统C.docx_第2页
第2页 / 共32页
超市商品销售管理系统C.docx_第3页
第3页 / 共32页
超市商品销售管理系统C.docx_第4页
第4页 / 共32页
超市商品销售管理系统C.docx_第5页
第5页 / 共32页
超市商品销售管理系统C.docx_第6页
第6页 / 共32页
超市商品销售管理系统C.docx_第7页
第7页 / 共32页
超市商品销售管理系统C.docx_第8页
第8页 / 共32页
超市商品销售管理系统C.docx_第9页
第9页 / 共32页
超市商品销售管理系统C.docx_第10页
第10页 / 共32页
超市商品销售管理系统C.docx_第11页
第11页 / 共32页
超市商品销售管理系统C.docx_第12页
第12页 / 共32页
超市商品销售管理系统C.docx_第13页
第13页 / 共32页
超市商品销售管理系统C.docx_第14页
第14页 / 共32页
超市商品销售管理系统C.docx_第15页
第15页 / 共32页
超市商品销售管理系统C.docx_第16页
第16页 / 共32页
超市商品销售管理系统C.docx_第17页
第17页 / 共32页
超市商品销售管理系统C.docx_第18页
第18页 / 共32页
超市商品销售管理系统C.docx_第19页
第19页 / 共32页
超市商品销售管理系统C.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

超市商品销售管理系统C.docx

《超市商品销售管理系统C.docx》由会员分享,可在线阅读,更多相关《超市商品销售管理系统C.docx(32页珍藏版)》请在冰点文库上搜索。

超市商品销售管理系统C.docx

超市商品销售管理系统C

课程设计说明书(论文)

 

题目小型超市商品销售管理系统

 

课程名称面向对象程序设计

院(系、部、中心)

专业

班级

学生姓名

学号

设计地点

指导教师

 

课程设计任务书

 

课程名称面向对象程序设计

院(系、部、中心)

专业

班级

起止日期

指导教师

 

1.课程设计应达到的目的

通过课程设计加深理解课堂教学内容,熟练掌握C++语言的基本知识和技能;掌握面向对象程序设计的基本思路和方法;掌握指针、类的封装与继承、文件的打开和保存、链表应用;利用所学的基本知识和技能,解决面向对象程序设计问题。

培养分析、解决问题的能力;提高学生的科技论文写作能力。

2.课程设计题目及要求

题目:

小型超市商品销售管理系统

要求:

某小型超市销售的商品有四类:

食品、化妆品、生活用品和饮料。

每类商品都有商品名和商品利润。

每类商品还有区别于其他类的特殊信息,例如食品有批发商,化妆品有品牌,饮料有生产厂家。

本系统完成如下功能:

(1)输入商品的基本信息。

(2)根据商品名查询某个商品的情况。

(3)计算并显示商品的利润。

 

3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕

(1)分析系统中的各个实体之间的关系及其属性和行为。

(2)根据问题描述,设计系统的类层次,完成类层次中各个类的描述(包括属性和方法),完成类中各个成员函数的定义。

(3)完成系统的应用模块,进行功能调试。

(4)系统设计要实用,编程简练,功能全面。

程序中要有异常处理。

(5)界面设计要以用户为中心,操作方便、美观大方。

(要有选择性提示)

(6)按照课程设计说明书的格式规范撰写课程设计说明书,其中正文包括:

①功能描述:

对系统要实现的功能进行简明扼要的描述。

②概要设计:

根据功能描述,建立系统的体系结构,即将整个系统分解成若干子功能模块,并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能。

③详细设计:

详细说明各功能模块的实现过程,所用到的类的层次图(包括类成员列表)、算法、技巧等。

④效果及存在问题:

说明系统的运行效果(附上运行界面图片)、存在哪些不足以及预期的解决办法。

⑤心得体会:

谈谈自己在课程设计过程中的心得体会。

(7)课程设计说明书用A4纸统一打印,装订按学校的统一要求完成。

(8)课程设计的程序以软盘形式上交,文件夹名称为学生姓名及学号的组合。

未经指导教师许可或无故不到者,缺勤率达50%的学生不能参加答辩。

答辩时,设计者在5分钟内阐述自己的设计过程和最终结果,突出设计中遇到的主要问题和解决方法,然后回答教师提问。

每位学生答辩总时间一般不超过15分钟。

4.主要参考文献

[1]谭浩强.C++程序设计[M].北京:

清华大学出版社,2004.

[2]吴乃陵.C++程序设计实践教程[M].北京:

高等教育出版社,2003.

[3]谭浩强.C++程序设计题解与上机指导[M].北京:

清华大学出版社,1999.

[4]廖雷,罗代忠.C语言程序设计基础实验教程.北京:

高等教育出版社,2005.

 

5.课程设计进度安排

起止日期

工作内容

12月22日

12月23日

12月24日

12月25日

12月26日

12月27日

12月28日

熟悉任务,算法设计

软件设计

软件设计

软件调试

软件调试

软件联合调试

考核

6.成绩考核办法

课程设计成绩的评定:

根据设计的完成情况、程序的编制质量、独立设计能力以及答辩情况综合衡量,由答辩小组讨论决定。

原则上按以下公式计算:

课程设计成绩=工作表现×30%+设计成果×40%+考核测评×30%

工作表现:

独立工作能力及设计过程的表现。

占总成绩的30%。

设计成果:

设计说明书(计算书、论文)、图纸、程序、作品等的质量。

占总成绩的40%。

考核测评:

课程设计结束前,指导教师应采用考试或答辩等形式对所指导的学生进行测评。

测评成绩占总成绩的30%。

有创新的同学根据具体情况适当加分。

教研室审查意见:

教研室主任签字:

年月日

院(系、部、中心)意见:

 

主管领导签字:

年月日

一.功能描述

某小型公司,主要有四类人员:

经理、兼职技术人员、销售经理和兼职推销员。

现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。

要求:

(1)其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。

(2)程序对所有人员有提升级别的功能

(3)月薪的计算方法是:

经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销员的报酬按该推销员当月销售额提成,销售经理既拿固定月薪也领取销售提成。

(4)能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息。

二.概要设计

2.1类的设计

2.2流程图

(1)主函数流程图

(2)添加函数(左图)和删除函数(右图)的流程图

(3)查询函数流程图

三.详细设计

1.主函数设计

#include

#include

#include

#include

#include

#include

#include

voidmain()

{system("cls");

cout<<"\n\n\n\n\t\t********************************************\n"

<<"\t\t**\n"

<<"\t\t**\n"

<<"\t\t*欢迎使用小型超市商品销售管理系统(HYY)*\n"

<<"\t\t**\n"

<<"\t\t*Desinedby韩永扬206050529*\n"

<<"\t\t**\n"

<<"\t\t*(按任意键进入)*\n"

<<"\t\t**\n"

<<"\t\t**\n"

<<"\t\t********************************************\n"<

getch();

foodf;

makeupm;

drinkd;

livel;

while

(1)

{A:

system("cls");

intchoice;

intx;

cout<<"\n\n\t\t\t\t主菜单"<<"\n\n\t\t\t\t

(1)添加商品品种\n"<<"\n\t\t\t\t

(2)查询商品\n"

<<"\n\t\t\t\t(3)删除商品"<<"\n\n\t\t\t\t(4)退出"<<"\n\n\n请选择:

";

cin>>x;

switch(x)

{case1:

{system("cls");

cout<<"\n\n\n\n\n\n\t\t请选择添加哪一类:

"<<"\n\n\t\t\t\t

(1)食品类"<<"\n\t\t\t\t

(2)化妆品类"<<"\n\t\t\t\t(3)饮料类"<<"\n\t\t\t\t(4)生活用品类"<<"\n\t\t\t\t(5)返回"<

cin>>choice;

switch(choice)

{case1:

system("cls");

f.addf();

break;

case2:

system("cls");

m.addm();

break;

case3:

system("cls");

d.addd();

break;

case4:

system("cls");

l.addl();

break;

case5:

system("cls");

break;

}

break;

}

case2:

{system("cls");

cout<<"\n\n\n\n\n\n\t\t请选择查询哪一类:

"<<"\n\n\t\t\t\t

(1)食品类"<<"\n\t\t\t\t

(2)化妆品类"<<"\n\t\t\t\t(3)饮料类"<<"\n\t\t\t\t(4)生活用品类"<<"\n\t\t\t\t(5)返回"<

cin>>choice;

switch(choice)

{case1:

system("cls");

f.searchf();

break;

case2:

system("cls");

m.searchm();

break;

case3:

system("cls");

d.searchd();

break;

case4:

system("cls");

l.searchl();

break;

case5:

system("cls");

break;

}

break;

}

case3:

{system("cls");

cout<<"\n\n\n\n\n\n\t\t请选择删除哪一类:

"<<"\n\n\t\t\t\t

(1)食品类"<<"\n\t\t\t\t

(2)化妆品类"<<"\n\t\t\t\t(3)饮料类"<<"\n\t\t\t\t(4)生活用品类"<<"\n\t\t\t\t(5)返回"<

cin>>choice;

switch(choice)

{case1:

system("cls");

f.removef();

break;

case2:

system("cls");

m.removem();

break;

case3:

system("cls");

d.removed();

break;

case4:

system("cls");

l.removel();

break;

case5:

system("cls");

break;

}

break;

}

case4:

{system("cls");

cout<<"\n\n\n\n\n\n\t\t\t\t谢谢使用!

"<<"\n\n\t\t\t\t再见!

\n";

exit

(1);

}

break;

default:

{cout<<"输入有误,请重选!

";

gotoA;

}

}

}

}

上面即为主函数,通过switch语句来选择操作:

添加,查询,删除,退出。

在每项操作中又用switch语句来选择对哪一类商品进行操作,分别有食品,化妆品,饮料,生活用品四类。

该函数没有把“显示商品利润”作为一项单独操作,而是把该功能加进了“查询”操作中,查询的同时直接显示商品利润。

2.商品基类设计

classspbase

{public:

intt;

floatoprice;

floatiprice;

floatprof;

intquantity;

charname[10];

voidgetdate();

voidshowdate();

voidadd();

voidsearch();

voidremove();

intgett(){returnt;};

};

voidspbase:

:

getdate()//输入函数的设计

{cout<<"\n\t\t请输入商品名称:

";

cin>>name;

cout<<"\n\t\t请输入商品售价:

";

cin>>oprice;

cout<<"\n\t\t请输入商品进价:

";

cin>>iprice;

cout<<"\n\t\t请输入商品库存量:

";

cin>>quantity;

}

voidspbase:

:

showdate()//输出函数的设计

{cout<<"\n\n商品基本信息如下:

";

cout<<"\n\n\t\t商品名称:

";

cout<

cout<<"\n\n\t\t商品售价:

";

cout<

cout<<"\n\n\t\t商品进价:

";

cout<

cout<<"\n\n\t\t商品库存量:

";

cout<

prof=(oprice-iprice)*quantity;

cout<<"\n\n\t\t商品利润为:

";

cout<

}

voidspbase:

:

add()//添加函数的设计

{t=1;

ofstreamfile("HYY.txt",ios:

:

out|ios:

:

ate);

if(!

file)

{cout<<"文件打开失败!

";

getch();

exit

(1);

}

spbasep1;

p1.getdate();

(reinterpret_cast(&p1),sizeof(spbase));//reinterpret_cast强制转换

();

}

 

 

voidspbase:

:

search()//查询函数的设计

{

charname4[10];

cout<<"\n请输入生活用品名称:

";

cin>>name4;

fstreamfile("HYY.txt",ios:

:

in);

if(!

file)

{cout<<"文件打开失败!

";

getch();

exit

(1);

}

charflag='a';//设标志位

spbasep1;

(reinterpret_cast(&p1),sizeof(spbase));

while(!

())//正确显示,指针还没到末尾继续

{if((strcmp(p1.name,name4)==0)&&gett())

{p1.showdate();

getch();

flag='z';

break;

}

(reinterpret_cast(&p1),sizeof(spbase));

}

if(flag!

='z')

{cout<<("该商品已被删除!

");

getch();

}

();

}

voidspbase:

:

remove()//删除函数的设计

{t=0;search();}

3.食品类设计(food)

classfood:

publicspbase

{private:

charpfs[10];

public:

voidgetdatef()

{spbase:

:

getdate();

cout<<"\n\t\t请输入商品批发商:

";

cin>>pfs;

}

voidshowdatef()

{spbase:

:

showdate();

cout<<"\n\n\t\t商品批发商:

";

cout<

}

voidaddf()

{t=1;

ofstreamfile("HYY1.txt",ios:

:

out|ios:

:

ate);

if(!

file)

{cout<<"文件打开失败!

";

getch();

exit

(1);

}

foodf;

f.getdatef();

(reinterpret_cast(&f),sizeof(food));

();

}

voidsearchf()

{charname1[10];

cout<<"\n请输入食品名称:

";

cin>>name1;

fstreamfile("HYY1.txt",ios:

:

in);

if(!

file)

{cout<<"文件打开失败!

";

getch();

exit

(1);

}

charflag='a';

foodf;

(reinterpret_cast(&f),sizeof(food));

while(!

())

{if((strcmp(f.name,name1)==0)&&gett())

{f.showdatef();

getch();

flag='z';

break;

}

(reinterpret_cast(&f),sizeof(food));

}

if(flag!

='z')

{cout<<("该商品已被删除!

");

getch();

}

();

}

voidremovef()

{t=0;searchf();}

};

4.化妆品类设计(makeup)

classmakeup:

publicspbase

{private:

charpp[10];

public:

voidgetdatem()

{spbase:

:

getdate();

cout<<"\n\t\t请输入商品品牌:

";

cin>>pp;

}

voidshowdatem()

{spbase:

:

showdate();

cout<<"\n\n\t\t商品品牌:

";

cout<

}

voidaddm()

{t=1;

ofstreamfile("HYY2.txt",ios:

:

out|ios:

:

ate);

if(!

file)

{cout<<"文件打开失败!

";

getch();

exit

(1);

}

makeupm;

m.getdatem();

(reinterpret_cast(&m),sizeof(makeup));

();

}

voidsearchm()

{charname2[10];

cout<<"\n请输入化妆品名称:

";

cin>>name2;

fstreamfile("HYY2.txt",ios:

:

in);

if(!

file)

{cout<<"文件打开失败!

";

getch();

exit

(1);

}

charflag='a';

makeupm;

(reinterpret_cast(&m),sizeof(makeup));

while(!

())

{if((strcmp(m.name,name2)==0))

{m.showdatem();

getch();

flag='z';

break;

}

(reinterpret_cast(&m),sizeof(makeup));

}

if(flag!

='z')

{cout<<("该商品已被删除!

");

getch();

}

();

}

voidremovem()

{t=0;searchm();}

};

5.饮料类设计(drink)

classdrink:

publicspbase

{private:

charfactory[10];

public:

voidgetdated()

{spbase:

:

getdate();

cout<<"\n\t\t请输入商品生产厂家:

";

cin>>factory;

}

voidshowdated()

{spbase:

:

showdate();

cout<<"\n\n\t\t商品生产厂家:

";

cout<

}

voidaddd()

{t=1;

ofstreamfile("HYY3.txt",ios:

:

out|ios:

:

ate);

if(!

file)

{cout<<"文件打开失败!

";

getch();

exit

(1);

}

drinkd;

d.getdated();

(reinterpret_cast(&d),sizeof(drink));

();

}

voidsearchd()

{charname3[10];

cout<<"\n请输入饮料名称:

";

cin>>name3;

fstreamfile("HYY3.txt",ios:

:

in);

if(!

file)

{cout<<"文件打开失败!

";

getch();

exit

(1);

}

charflag='a';

drinkd;

(reinterpret_cast(&d),sizeof(drink));

while(!

())

{if((strcmp(d.name,name3)==0))

{d.showdated();

getch();

flag='z';

break;

}

(reinterpret_cast(&d),sizeof(drink));

}

if(flag!

='z')

{cout<<("该商品已被删除!

");

getch();

}

();

}

voidremoved()

{t=0;searchd();}

};

6.生活用品类设计(live)

classlive:

publicspbase

{

public:

voidgetdatel()

{spbase:

:

getdate();

}

voidshowdatel()

{spbase:

:

showdate();

}

voidaddl()

{spbase:

:

add();

}

voidsearchl()

{spbase:

:

search();}

voidremovel()

{spbase:

:

remove();}

};

 

四.效果及存在问题

4.1效果截屏

进入主界面

 

按任意键进入主菜单后,选择“1”,添加商品

 

进入”添加商品品种”的自菜单,选择“3“,添加”饮料类“

写入添加的商品基本信息

返回上一层主菜单后,选“2”,查询商品

 

选择“3”,查询“饮料类”

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2