1、c语言课程设计报告商品销售统计程序信息科学与技术学院程序设计基础课程设计报告 题目名称: 商 品 销 售 统 计 学生姓名: 学 号: 专业班级: 电子信息工程14级1班 指导教师: 2015年 1 月 7 日1 课程设计题目与要求1.1设计题目商品销售统计程序。1.2设计要求商品销售统计问题描述编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件),单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。基本要求程序分为两个部分:第一部分用于输入
2、商品的信息并允许修改和删除;第二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码(如-1)表示本次购物结束。此时,程序计算出应付钱款数并显示。测试数据程序应输入不少于10种商品的信息,并进行模拟运行。实现提示本程序的商品信息可用一个结构体数组或链表进行管理。至少要有文本菜单实现。2总体设计2.1 总体功能框架如图1-1程序设计方法根据系统功能要求,可以将问题解决分为以下步骤: (1)分析
3、系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。3 详细设计3.1 主界面流程图如图3.1设计超市管理系统的主界面,主界面相应的现实有下列菜单:增加商品、修改商品、查询商品、统计商品、显示商品、退出。否是3.1主界面流程图3.1 系统功能详细设计(1)函数原型Void new thing (strut thing things);/增加商品信息(2) 函数功能求所增加商品信息(3)函数
4、形参说明thing things:输入新增加商品信息(1)函数原型Void updatscore (struct thing things,intnum);/求所增加商品信息(2) 函数功能求所修改商品信息(3)函数形参说明thing things:输入的数据数组所要修改的商品信息num:数组中数据个数(1)函数原型Void search thing (struct thing things,intnum);/求所修改商品信息(2) 函数功能所要查询商品的信息(3)函数形参说明thing things:输入的数据数组所要的查询商品的信息num:数组中数据个数(1)函数原型Voie output
5、 thing (strut thing things);/所要查询商品的信息(3)函数形参说明thing things:输入的数据数组所要显示商品信息3.2增加商品信息voidnew_thing(struct thing things) struct thing s; if(count=100) printf(商品已满!n); return; s.num=count; printf(输入商品名称:); scanf(%s,s.name); printf(输入商品价格:); scanf (%lf,&s.EP); thingscount=s; count+; 3.5修改商品信息的过程voidupda
6、t_score(struct thing things,intnum) printf(请输入新的商品名称); scanf(%s,&thingsnum.name); printf(请输入新的商品价格); scanf(%lf,&thingsnum.EP); printf(修改成功!);3.6查询商品的过程:voidsearch_thing(struct thing things,intnum) inti,flag=0; if(count=0) printf (还没有录入商品哦n); return; if(num=0&num=count) printf(num:%dn名字:%sn价格:%f, thi
7、ngsnum.num,thingsnum.name,thingsnum.EP); else printf(未找到该商品); 3.8显示商品过程voidoutput_thing(struct thing things) int i; if(count=0)printf (还没有录入商品哦n);return; printf(numtnametEPtn); for(i=0;icount;i+) printf(%dt,thingsi.num);printf(%st,thingsi.name); printf(%ftn,thingsi.EP);4 运行结果4.1运行结果截图由图可知,1:是输入新的商品,
8、2:是查找商品,3是输出商品,4是修改商品,0是退出:这个是软件进入界面的过程。由上图可知这个是商品添加的过程( 5 总结(一).通过这次实践,我们成功的实现了数据的输入与保存,并在程序中实现了使用类对各个学生的各参数的基本操作。该系统的难点在于不使用任何数据库,只使用磁盘文件来实现对每个学生的信息的存储和读取。虽然测试的学生的信息条数不够多,但是题目的要求是完全能够达到的,在现有的基础上只要稍加修改就能够满足批量数据的存储和查阅。要想增加更多学生信息,只要增加相应的对象的属性即可,前提是在拥有相似的属性的时候。若有不同的属性,可以增加相应的类就可满足需求。其中重要的是打开文件,保存文件,也就
9、是对数据的妥善的存储和再次的调用的操作。本次的课程设计对我们也是一个很好的实践的机会,锻炼了自己,提高了自己编程的能力,为今后的项目打好基础。(二) 编程中的问题及解决方法(1)录入数据难以保存,通过参考一系列的指导书得以解决。(2)对于预处理函数的概念不清楚,在同学的讲解下,自己才能得以明白。(3)对于切换界面的方法不是特别理解,通过参考大量的资料,找到了解决方法。(三)心得体会a)对于程序设计有了新的认识,一个好的程序员必须要对程序整体有足够的认识,才能够写出一个完美的程序。要想对每一个代码熟悉,只有不停的实验和不停的变形不同的程序来检验它b)的作用,正如“实验室检验真理的唯一标准”。同样的对于编程也是如此。c)熟悉程序是怎样运行的,每一个函数调用的目的、每一个函数的作用和功能。具体是怎样执行的,这些问题都必须弄得透彻。参考文献1C+面向对象程序设计(第一版) 谭浩强 北京:清华大学出版社 2006年1月2C程序设计(第三版) 谭浩强 北京:清华大学出版社2005年7月 3c语言的实战宝典
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1