小型超市商品销售管理系统C++文档下载_第1页
小型超市商品销售管理系统C++文档下载_第2页
小型超市商品销售管理系统C++文档下载_第3页
小型超市商品销售管理系统C++文档下载_第4页
小型超市商品销售管理系统C++文档下载_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南京工程学院课程设计说明书(论文)题 目 小型超市商品销售管理系统 课 程 名 称 面向对象程序设计 院(系、部、中心) 专 业 班 级 学 生 姓 名 学 号 设 计 地 点 指 导 教 师 设计起止时间: 2007 年12 月22日至2007年12 月28日 目 录课程设计任务书21 功能描述72 概要设计72.1 类的设计72.2 流程图83 详细设计114 效果及存在问题234.1 效果截屏234.2 存在问题275 心得体会286 参考文献28南京工程学院课程设计任务书 课 程 名 称 面向对象程序设计 院(系、部、中心) 专 业 班 级 起 止 日 期 2007 年12月 22 日

2、至28日指 导 教 师 1课程设计应达到的目的通过课程设计加深理解课堂教学内容,熟练掌握c+语言的基本知识和技能;掌握面向对象程序设计的基本思路和方法;掌握指针、类的封装与继承、文件的打开和保存、链表应用;利用所学的基本知识和技能,解决面向对象程序设计问题。培养分析、解决问题的能力;提高学生的科技论文写作能力。2课程设计题目及要求题目:小型超市商品销售管理系统要求:某小型超市销售的商品有四类:食品、化妆品、生活用品和饮料。每类商品都有商品名和商品利润。每类商品还有区别于其他类的特殊信息,例如食品有批发商,化妆品有品牌,饮料有生产厂家。本系统完成如下功能:(1) 输入商品的基本信息。(2) 根据

3、商品名查询某个商品的情况。(3) 计算并显示商品的利润。 3课程设计任务及工作量的要求包括课程设计计算说明书、图纸、实物样品等要求(1)分析系统中的各个实体之间的关系及其属性和行为。 (2)根据问题描述,设计系统的类层次,完成类层次中各个类的描述(包括属性和方法),完成类中各个成员函数的定义。(3)完成系统的应用模块,进行功能调试。(4)系统设计要实用,编程简练,功能全面。程序中要有异常处理。(5)界面设计要以用户为中心,操作方便、美观大方。(要有选择性提示)(6)按照课程设计说明书的格式规范撰写课程设计说明书,其中正文包括: 功能描述:对系统要实现的功能进行简明扼要的描述。 概要设计:根据功

4、能描述,建立系统的体系结构,即将整个系统分解成若干子功能模块,并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能。 详细设计:详细说明各功能模块的实现过程,所用到的类的层次图(包括类成员列表)、算法、技巧等。 效果及存在问题:说明系统的运行效果(附上运行界面图片)、存在哪些不足以及预期的解决办法。 心得体会:谈谈自己在课程设计过程中的心得体会。(7)课程设计说明书用a4纸统一打印,装订按学校的统一要求完成。(8)课程设计的程序以软盘形式上交,文件夹名称为学生姓名及学号的组合。未经指导教师许可或无故不到者,缺勤率达50%的学生不能参加答辩。 答辩时,设计者在5分钟内阐述自己的设计过程和

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、调试软件联合调试考核6成绩考核办法课程设计成绩的评定:根据设计的完成情况、程序的编制质量、独立设计能力以及答辩情况综合衡量,由答辩小组讨论决定。原则上按以下公式计算: 课程设计成绩工作表现30%设计成果40%考核测评30% 工作表现:独立工作能力及设计过程的表现。占总成绩的30%。设计成果:设计说明书(计算书、论文)、图纸、程序、作品等的质量。占总成绩的40%。考核测评:课程设计结束前,指导教师应采用考试或答辩等形式对所指导的学生进行测评。测评成绩占总成绩的30%。有创新的同学根据具体情况适当加分。教研室审查意见:教研室主任签字: 年 月 日院(系、部、中心)意见:主管领导签字: 年 月 日一

7、 功能描述某小型公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。 要求: (1)其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。 (2)程序对所有人员有提升级别的功能 (3)月薪的计算方法是:经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销员的报酬按该推销员当月销售额提成 ,销售经理既拿固定月薪也领取销售提成。 (4)能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息 。二 概要设计2.1 类的设计2.2 流程图(1)主函数流程图(2)添加函数(左图)和删除

8、函数(右图)的流程图(3)查询函数流程图三 详细设计1. 主函数设计#include#include#include#include#include#include#include void main() system(cls);coutnnnntt*ntt* *ntt* *ntt* 欢迎使用小型超市商品销售管理系统(hyy) *ntt* *ntt* desined by 韩永扬 206050529 *ntt* *ntt* (按任意键进入) *ntt* *ntt* *ntt*nendl; getch(); food f; makeup m; drink d; live l; while(1)

9、a: system(cls); int choice; int x; coutnntttt主菜单nntttt(1)添加商品品种n ntttt(2)查询商品n ntttt(3)删除商品nntttt(4)退出x; switch(x) case 1: system(cls); coutnnnnnntt请选择添加哪一类:nntttt(1)食品类ntttt(2)化妆品类ntttt(3)饮料类ntttt(4)生活用品类ntttt(5)返回choice; switch(choice) case 1: system(cls); f.addf(); break; case 2: system(cls); m.a

10、ddm(); break; case 3: system(cls); d.addd(); break; case 4: system(cls); l.addl(); break; case 5: system(cls); break; break; case 2: system(cls); coutnnnnnntt请选择查询哪一类:nntttt(1)食品类ntttt(2)化妆品类ntttt(3)饮料类ntttt(4)生活用品类ntttt(5)返回choice; switch(choice) case 1: system(cls); f.searchf(); break; case 2: sys

11、tem(cls); m.searchm(); break; case 3: system(cls); d.searchd(); break; case 4: system(cls); l.searchl(); break; case 5: system(cls); break; break; case 3: system(cls); coutnnnnnntt请选择删除哪一类:nntttt(1)食品类ntttt(2)化妆品类ntttt(3)饮料类ntttt(4)生活用品类ntttt(5)返回choice; switch(choice) case 1: system(cls); f.removef

12、(); break; case 2: system(cls); m.removem(); break; case 3: system(cls); d.removed(); break; case 4: system(cls); l.removel(); break; case 5: system(cls); break; break; case 4:system(cls);coutnnnnnntttt谢谢使用!nntttt再见!n;exit(1);break; default:cout输入有误,请重选!; goto a; 上面即为主函数,通过switch语句来选择操作:添加,查询,删除,退出。

13、在每项操作中又用switch语句来选择对哪一类商品进行操作,分别有食品,化妆品,饮料,生活用品四类。该函数没有把“显示商品利润”作为一项单独操作,而是把该功能加进了“查询”操作中,查询的同时直接显示商品利润。2. 商品基类设计class spbasepublic: int t; float oprice; float iprice; float prof; int quantity; char name10; void getdate(); void showdate(); void add(); void search(); void remove(); gett()return t;oid

14、 spbase:getdate() /输入函数的设计 coutname; coutoprice; coutiprice; coutquantity;void spbase:showdate() /输出函数的设计 coutnn商品基本信息如下:; coutnntt商品名称:; coutname; coutnntt商品售价:; coutoprice; coutnntt商品进价:; coutiprice; coutnntt商品库存量:; coutquantity; prof=(oprice-iprice)*quantity; coutnntt商品利润为 :; coutprof;void spbase

15、:add() /添加函数的设计 t=1;ofstream file(hyy.txt,ios:out|ios:ate); if(!file) cout文件打开失败!; getch(); exit(1); spbase p1; p1.getdate(); file.write(reinterpret_cast(&p1),sizeof(spbase); / reinterpret_cast强制转换 file.close(); void spbase:search() /查询函数的设计 char name410; coutname4; fstream file(hyy.txt,ios:in); if

16、(!file) cout文件打开失败!; getch(); exit(1); char flag=a; /设标志位 spbase p1; file.read(reinterpret_cast(&p1),sizeof(spbase); while(!file.eof() /正确显示,指针还没到末尾继续 if(strcmp(,name4)=0)&gett() p1.showdate(); getch(); flag=z; break; file.read(reinterpret_cast(&p1),sizeof(spbase); if(flag!=z) cout(该商品已被删除!);

17、 getch(); file.close();void spbase:remove() /删除函数的设计 t=0;search();3. 食品类设计(food)class food:public spbase private: char pfs10; public: void getdatef() spbase:getdate(); coutpfs; void showdatef() spbase:showdate(); coutnntt商品批发商:;coutpfs; void addf() t=1;ofstream file(hyy1.txt,ios:out|ios:ate); if(!fi

18、le)cout文件打开失败!; getch(); exit(1); food f; f.getdatef(); file.write(reinterpret_cast(&f),sizeof(food); file.close(); void searchf() char name110;coutname1;fstream file(hyy1.txt,ios:in); if (!file)cout文件打开失败!; getch(); exit(1); char flag=a; food f; file.read(reinterpret_cast(&f),sizeof(food); while(!f

19、ile.eof() if(strcmp(,name1)=0)&gett()f.showdatef(); getch(); flag=z; break; file.read(reinterpret_cast(&f),sizeof(food); if(flag!=z) cout(该商品已被删除!); getch(); file.close(); void removef() t=0;searchf(); ;4. 化妆品类设计(makeup)class makeup:public spbase private: char pp10; public: void getdatem() spb

20、ase:getdate(); coutpp; void showdatem() spbase:showdate(); coutnntt商品品牌:;coutpp; void addm() t=1;ofstream file(hyy2.txt,ios:out|ios:ate); if(!file)cout文件打开失败!; getch(); exit(1); makeup m; m.getdatem(); file.write(reinterpret_cast(&m),sizeof(makeup); file.close(); void searchm() char name210;coutname

21、2;fstream file(hyy2.txt,ios:in); if (!file)cout文件打开失败!; getch(); exit(1); char flag=a; makeup m; file.read(reinterpret_cast(&m),sizeof(makeup); while(!file.eof() if(strcmp(,name2)=0)m.showdatem(); getch(); flag=z; break; file.read(reinterpret_cast(&m),sizeof(makeup); if(flag!=z) cout(该商品已被删除!)

22、; getch(); file.close(); void removem() t=0;searchm(); ;5. 饮料类设计(drink)class drink:public spbase private: char factory10; public: void getdated() spbase:getdate(); coutfactory; void showdated() spbase:showdate(); coutnntt商品生产厂家:;coutfactory; void addd() t=1;ofstream file(hyy3.txt,ios:out|ios:ate); i

23、f(!file)cout文件打开失败!; getch(); exit(1); drink d; d.getdated(); file.write(reinterpret_cast(&d),sizeof(drink); file.close(); void searchd() char name310;coutname3;fstream file(hyy3.txt,ios:in); if (!file)cout文件打开失败!; getch(); exit(1); char flag=a; drink d; file.read(reinterpret_cast(&d),sizeof(drink);

24、 while(!file.eof() if(strcmp(,name3)=0)d.showdated(); getch(); flag=z; break; file.read(reinterpret_cast(&d),sizeof(drink); if(flag!=z) cout(该商品已被删除!); getch(); file.close(); void removed() t=0;searchd(); ;6. 生活用品类设计(live)class live:public spbase public: void getdatel() spbase:getdate(); void

25、showdatel() spbase:showdate(); void addl() spbase:add(); void searchl() spbase:search(); void removel() spbase:remove(); ;四效果及存在问题4.1 效果截屏进入主界面按任意键进入主菜单后,选择“1”,添加商品进入”添加商品品种”的自菜单,选择“3“,添加”饮料类“写入添加的商品基本信息返回上一层主菜单后,选“2”,查询商品选择“3”,查询“饮料类”输入查询的饮料名称查询到该商品,基本信息如下:返回主菜单,选“3”,删除商品选“3”,删除“饮料类”写入删除的商品名称删除后查询显

26、示:选“4”后,退出4.2存在问题“添加商品品种”的操作还存在不完善之处,进入主菜单选了“添加商品品种”的操作,当添加完一种商品后,不能继续添加商品;必须选择“返回”操作返回到主菜单重新选择“添加商品品种”后,才能添加第二种商品,也就是说不能够连续添加。 五心得体会经过一周课程设计,熟练的掌握了c+语言的基本知识和技能,可以利用面向对象程序设计的基本思路和方法,利用所学的基本知识和技能,解决面向对象程序设计问题。通过一个学期的visual c+程序设计的学习,自己感觉吸收了不少新知识。从计算机基础到visual c+,我感觉充实了很多。经过自己的努力,把程序作完,作好,自己感受到了收获的喜悦,

27、告诉我:一分耕耘一分收获。一个程序作完不难,关键是调试,修改的过程很难,不过按动键可以提示你哪里出错,有时少个分号都不能调试过去。还有一点,一个细心的人作程序可能少走弯路。再次,一般作程序不是从头到尾作完再调试,这样很难调好,因为每编一句都可能出错,这样错误越积越多,最好的方法是每作完一个小段调试一次,按动找出其错误,一步一步循序渐进地作完,到最后不至于出了很多错误,不知如何寻找,同样少了很多的麻烦。编程多了,自然地经验多了,调程序就不觉得那么难了。还有一点,要想编好、快速完成任务,就必须有严谨的科学态度,比如说一个字母,甚至一个标点符号的错误都会导致错误,这种错误在编程中我们经常出现,有时系

28、统能让你很快找出,你能顺利往下进行,但有时它提示的错误信息和标点一点关系都没有,而后你把编的程序从头到尾看了一遍,结果花了大量的时间,大大降低了效率。其它的粗心大意错误更是五花八门,调试起来就更加困难了,所以在编程时一定要心细。还有就是要有耐心,因为编程是件很繁琐的工作,如果没有耐心恐怕是编不下去的,比如有的人,有好几处错误,就放弃了,结果一事无成。最后一点,就是编程时思路一定要清楚。因为编程本身就是一个严密的逻辑过程,实现每一步的操作需要那些命令,哪些条件都是清清楚楚,明明了了的,来不得半点遗漏。总的来说,编程是件复杂的脑力劳动,要有科学严谨的科学态度,细心的习惯和耐心才能作好,要做到以上的

29、要求我们还要做许多许多。也就是从现在我更深刻体会到学海无涯,我要用正确的态度面对学习的挑战,理论联系实际,进一步熟练掌握科学知识,武装自己的头脑,为将来走向社会打下坚实的基础。”六参考文献1 谭浩强. c+程序设计m . 北京:清华大学出版社,2004.文案写作 - 销售文案写作技巧 多媒体在博客创新,如何启发你的创作灵感一 文中,我为大家介绍了几个创新写作的方法,其中我们提到了自由写作,自由写作freewriting也被称为意识流写作,是一种非常有效的写作训练手段。自由写作主张人们在设定一定的时间范围内(通常为5到15分钟),无须考虑拼写,语 法,甚至主题的情况下进行写作。我在创作一篇博客文

30、章或者广告文案的时候,通常是先进行自由写作,再将初稿进行整理和完善,在这个过程我们则可以通过下面的这些写作技巧将自由写作生成的草稿转变成为一篇真正的博客文章或者广告文案。一、大声朗读大声阅读你的文章,这是检查文章语法错误和一些笨拙语句的最好办法。同时,大声的阅读更容易让你将文章变得朗上口,如果一个销售文案看上去像一个难读的长字,或许你应该重新组织适当的语言。记住:一篇好的文案看上去应该是一次真正的对话。二、标题与子标题标题应该包括下面的一个或者几个重要内容:o 明确的目标听众 o 明确一个具体的问题 o 表达主要的产品/服务卖点 o 在读者的脑中预设一个问题 观察标题的长度 超过8-12个单词

31、的标题将会显得过于冗长,尤其对于需要纸质出版的文案更是如此。如果确实无法表达完整的意思,可以考虑使用小标题进行补充,参考杂志封面标题的处理方式。针对网络发布的文案写作,比如博客文章和landingpage等,标题对搜索引擎优化也非常重要,如果你希望从搜索引擎获得流量,那么标题中包含主要的关键词,合理的使用标签是非常必要的,对于针对seo的写作技巧可以参考:如何创建搜索引擎友好的内容。 如果你针对的是网络广告,或者社会化媒体来获得流量的话,我认为关键词就显得不那么重要了,你更多的应该是考虑标题的趣味性和磁性,利用人们的好奇心,吸引更多读者的注意,从而达到提高点击率的目的。另外,如果在标题中包含了

32、非常重要的信息,确认你在文 章主体中再次重复,通常需要在文首,文中,文末各出现一次,当然如果文案较长,则可以多次重复,避免读者在阅读中跳过该重要信息。不过在文章的第一句话 中,可以适当对信息内容进行一下变形,如果和标题一模一样则容易产生不好的阅读体验。你的子标题是否适用? 子标题的主要作用是标题的可读性延伸,尤其对于长文案来说,在文章内部使用子标题可以起到路标的作用,可以让文章的可读性大大增强。三、文案主体你的文案是否清晰的传递了所提供的产品/服务的好处?这是判断一个文案质量好坏最重要的标准。不要把焦点简单的放在主要特色的描述上面,更多的传递这些特色能提供什么好处给你的潜在买家。将主要的好处/

33、卖点靠前放置 产品或服务的核心好处应该在文案主要内容的第一或者第二个段落中放置。段落的长度 确保你的主体内容段落有适当的长度,对于大多数文案来说,任何超过4-5行的段落都显得过于冗长了。将第一个段落作为可读性吊钩尤其重要,尽量保持在2到3行是比较适合的。注意局部细节 提防那些会让你的文案显得单调的习惯。多使用连词来连接语句,多使用“您”,“您的”,“you”,“yours”等人称来定位,尽量让你的文案看上去像一次真正的会话。你的文案中是否使用了“free”,“new”,“save”,“no-risk”,“guaranteed”,“sample”,“fast”等词汇以及它们的变体,并且随时在脑海

34、中铭记产品的品牌价值?你是否喜欢在广告文案中提请人们注意文案本身?一个好的文案应该是简单明了的,你应该避免奇怪的内容架构,俏皮话或者双关语,以及极少使用的标点符号等等。避免让这些东西分散读者的注意力,你不需要卖弄你的文采,需要做的只是传递清晰的产品好处给你的潜在买家。你的文案是否包括建立信任的内容? 人性的角度,引用真实的人/客户,推荐和表扬,直接引用,客户故事等等都是建立信任的好办法。我们在有关说服力的写作技巧中也提到了许多如何建立信任的技巧,在文案写作中也是可以借鉴的。避免欺骗诱惑 如果你提供的是一些免费的东西,保证读者能够真正的得到免费。如果你使用你无法兑现的承诺来诱惑他们,这将最终摧毁

35、他们对你的信任。坦率和公正让文案维持生命力 你不能为那些你自己都不相信的产品编写文案,或者说推荐那些你自己都不愿意购买的产品给你的读者。永远不要尝试去误导读者,歪曲事实,坦率和公正的发表你的真实想法。诚实的对待所有问题 如果你提供一些特别优惠给客户,不要忘记诚实的告诉他们特别优惠的原因和理由,这将帮助你销售更多的产品,例如:有理由的特别优惠更能让提高客户对你的信任度和认同感。四、口吻和腔调1、正如我们前面提到过的那样,一篇优秀的文案应该是一次真正的会话。确保在文案中你没有使用过任何不会在日常会谈中使用的口吻。与产品相关的主要术语可能是个例外,但即使如此,你还是需要向读者清晰的解释,除非你是1对

36、1的面对相关行业的专业读者。2、考虑到正式会谈的礼仪,使用合适的礼貌用语。3、口吻和强调应该能够反映出品牌价值。4、第一人称还是第三人称?这依赖于你的文案与谁有关,一旦你做出了选择,确保你在整个文案中都保持使用一致的人称。五、calltoaction1、每次呼吁行动都应该包含清晰的指令,所有的文案,不管是landingpage还是directmail甚至促销传单的写作,都应该在脑中铭记并提出一个精确的目标(callusnow,buythisnow,visitthisstore)。你需要清楚和直接的告诉读者你需要他们做什么。2、为每次呼吁行动制造紧迫感。在calltoaction中使用now,rightnow,hurry等词语以及添加时间限制信息等手段来制造紧迫感。3、文案结尾使用calltoaction非常重要,你应该在这里请求他们做点什么,不要让他们在读完你的文案后感觉到无所适从。六、排版和布局可读性1、在适当的位置插入图片可以提升文案的可读性,尤其对于较长的文案。但与博客文章插图不同的是,你不需要那些可能分散读者注意力的图片,人们对文字的理解大致相同,但对于图片,人们会有更多的想象空间。你应该围绕你的核心产品及卖点进行图片的搭配。2、不要使用过多的字体颜色搭配。建议

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论