版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(此文档为word格式,下载后您可任意编辑修改!)信息科学与技术学院程序设计基础课程设计报告题目名称:商品销售统计专业班级:电子信息工程12级1班i目录目录21课程设计题目与要求 31.1设计题目31.2设计要求32总体设计43详细设计43.1主界面流程图 53.2清除内存中的商品函数 63.3增加商品信息73.4删除商品信息的过程 83.5修改商品信息的过程 103.6查询商品的过程: 123.7统计商品的过程 143.8显示商品过程164运行结果175总结206编程中的问题及解决方法 217心得体会228程序设计方法239程序运行环境 249.1软件环境249.2硬件环境2410参考文献2
2、51 课程设计题目与要求1.1 设计题目商品销售统计程序。1.2 设计要求商品销售统计问题描述 编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重 量或件),单价。所有商品的信息事先已存入计算机, 屏幕上显示所有商品 的名称,选择商品名,输入商品计量单位 ( 如重量,件数等 ) ,根据单价算 出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款 数。基本要求程序分为两个部分: 第一部分用于输入商品的信息并允许修改和删除; 第二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能 在运行时在两部分之间切换。第二部分运行时,首先显示所有商品名称及 代码(商品数目较多时
3、, 应考虑分屏显示),用户输入商品代码及商品重量 或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的 代码(如 -1 )表示本次购物结束。此时,程序计算出应付钱款数并显示。测试数据程序应输入不少于 10 种商品的信息,并进行模拟运行。实现提示 本程序的商品信息可用一个结构体数组或链表进行管理。至少要有文本菜单实现2总体设计3 详细设计3.1 主界面流程图设计超市管理系统的主界面,主界面相应的现实有下列菜单:增加商品、删除商品、修改商品、查询商品、统计商品、显示商品、退出。3.1 主界面流程图3.2 清除内存中的商品函数 在超市管理系统中,商品出售出去,库存中的商品信息必须清除。
4、类外定义一个函数 clear, 在函数中定义一个指针 p, 讲物品 goods 赋 给 p, 为了使函数能够不断地清除内存中的数据,要使指针移动 , 首先将 p-next 赋予 goods , 然后删除 p 中的数据 , 清空 p 中的数据,然后将 goods 赋给p,依次循环,从而实现删除库存中的一个或多个商品。图 3.2 清除内存商品流程图3.3 增加商品信息类外定义一个函数add,首先在函数中定义变量商品代码 num和商品 数量count,都为double类型,商品名name和产地address为char类 型 ,价格 price 为 int 类型,首先要求用户输入商品信息,依次输入商
5、品的代码、商品名称、商品产地、商品单价,判断单价是否在 065535之 间,如果不在范围内重新输入直到在范围之内再继续向下面执行,输入商 品库存量,库存在 099999 之间,如果超出范围重新输入,在范围之内继续执行,保存数据图 3.3增加商品流程图3.4删除商品信息的过程(1)在Supermarket类下定义一个Delete函数作为删除商品信息的 函数,然后定义商品名,输入商品信息。(2)查找要删除的结点(节点中包含所有该商品的信息:商品代码、名称、产地、数量、单价),分别定义两个指针,原商品表信息指针pl和输入的商品信息指针p2,在pl循环的过程中比较输入的商品名与原有的 商品名是否一致,
6、如果一致则结束本次循环,否则p2指向pl,使得两指针同化,pl指针接着指向下一指针,这样依次向后查询。(3)删除结点,如果找到要删除的结点则删除,在这个条件下,如 果删除的结点是第一个结点,则继续将指针后移删除第一结点,如果删除 的结点是后续结点,则将p2下一指针指向pl下一指针,则删除相应的后 续结点。输出的结果是:找到并删除或者 sorry,未找到!流程图如图3.5图3.5删除商品流程图3.5修改商品信息的过程(1)定义各参数变量的类型,然后是输入要查找等待修改的商品名称(2)查找要修改的结点,定义 p1、p2指针,p1为指向goods商品表 指针,p2为输入的商品指针,判断p1指针,如果
7、输入的商品名和原有的 商品名一致,则结束本次循环,否则,p1和p2指针同化,p1接着指向p1 的下一指针。( 3)修改结点,若找到相应的要修改的结点,则 p1 指向 Output 函 数,接着输出要修改的信息,利用 Switch 语句来调用相应的修改信息。(4) 创建新商品的结点,把原来要修改的结点删除并重新替换要创 建的商品结点。如果找到等待修改的结点则修改,否则保持商品表信息不 变。流程图如图 3.6图 3.6 修改商品流程图3.6 查询商品的过程:(1) 在 Supermarket 类下定义一个 Query 函数作为查询商品信息的函 数,输入商品名。(2) 查找要查询的结点(结点中包含所
8、有该商品的信息:商品代码、名称、产地、数量、单价),定义一个原商品表信息指针pl,在pl循环的 过程中比较输入的商品名与原有的商品名是否一致,如果一致则结束本次循环, 否则 p1 指针接着指向下一指针,这样依次向后查询。(3) 查询结点,如果找到要查询的结点则输出:查询成功并输出其所 有信息,若没有找到输出: sorry 未找到! 流程图如图 3.7图 3.7 查询商品流程图3.7 统计商品的过程( 1)是在 Supermarket 类下定义一个 Add_up 函数作为统计商品信息 的函数,然后定义两个double型变量Amount和Value分别表示要求统计 商品的总量和总价值,输入商品名字
9、 name。(2)查找要统计的结点(结点中包含所有该商品的信息:商品代码、 名称、产地、数量、单价),定义一个指针pl,原商品表信息指针pl,在 p1 循环的过程中比较输入的商品名与原有的商品名是否一致, 如果一致则 结束本次循环, p1 指针接着指向下一指针,这样依次向后查询。没找到则 输出: sorry, 未找到!(3)统计商品,每当找到一个商品后就将 Amount与pl所指count 相加存入Amount,并将此时pl所指的count与price相乘再加上 Value存 入 Value ,循环查找相加,最后分别输出。流程图如图 3.8图 3.8 统计商品流程图3.8 显示商品过程( 1)
10、是在 Supermarket 类下定义一个 Out 函数作为显示商品信息的 函数。(2) 将goods的首地址给pl,判断pl是否为空,若空则输出“没有 商品”。否则输出该商品所有信息(商品代码、名称、产地、数量、单价) 等。(3) 将 p1 赋给 p2,p1-next 赋给 p 1 ,进入循环,输出下一个商品信 息。流程图如图 4.9图 3.9 显示商品流程图4运行结果4.1运行结果截图经理登录理询專 理询懐 口品品 杳一 管查商商商 品口嚣码束口豈品码束回 百一叵回丄粽 _叵育面工芸 览删近 1 2 3 d 0 12=0112304.1.1软件进入界面 - IFJi M U! Jrt l=
11、l I 4.1.2商品添加理询雷 菅杳黒 品品口瞿束 商商商密结询询 杳香一 商名回请输入商品编号需状态:在架号; 旷量:1胸 囂品编号= 数量,1HQ 同口口编号:_: 100 帝品編尸: :1M存在态:晶编号:弓崗品名f :手彳-商品EM: 4=1?在状态;.商品已*屮 品编号:6鬆鬱?|F-在架 100存在遊盍 陶编号=B商命 #! 100存在枚品编号:9商品右“:U盘-qt 3期:20130102商品1 :0存在状态:商品已售岀ib53 any key ta cantInue更孚韋賀:商品日期:29130102商品价格: ;壬品筋景称_1星商品日期: 了頁館負称二膾盆商品日期;3刷商品
12、日期:存隹获奔在蕖却商品名称:TU商品日朗:20130102商品价格;1.261301R223130102商品价格;商品价格:商品价格: 20130102商品价格:品名称:.被子品日期:213012苟品价格=型;口书商品日期:20130102商品价格:1. 號篥笔商品日期:2130102商品价格:4.1.2商品查询信息1.-2商品种类:fruit商2商品种类;2商品种类二2商品种类:fruitfruitfruit商品种类:F2商品种类二fruit2商品种类;fruit 商品种类:F2商品种类二fruit商占商品种类=fruit商品青输入账号青输入备码蠶查询结東请输入商品的名称PPlew-2加4
13、-4元焉除第删 品品品 商冏商4.1.3商品销售H:商品销售 Debug1,exe4.1.4商品删除请输入要刪除商品的编号商品已删除,操作成功5 总结通过这次实践,我们成功的实现了数据的输入与保存,并在程序中实 现了使用类对各个学生的各参数的基本操作。该系统的难点在于不使用任 何数据库,只使用磁盘文件来实现对每个学生的信息的存储和读取。虽然 测试的学生的信息条数不够多,但是题目的要求是完全能够达到的,在现 有的基础上只要稍加修改就能够满足批量数据的存储和查阅。要想增加更 多学生信息,只要增加相应的对象的属性即可,前提是在拥有相似的属性 的时候。若有不同的属性,可以增加相应的类就可满足需求。其中
14、重要的 是打开文件, 保存文件,也就是对数据的妥善的存储和再次的调用的操作。 本次的课程设计对我们也是一个很好的实践的机会,锻炼了自己,提高了 自己编程的能力,为今后的项目打好基础。6 编程中的问题及解决方法(1) 录入数据难以保存,通过参考一系列的指导书得以解决。(2) 对于预处理函数的概念不清楚, 在同学的讲解下, 自己才能得 以明白。(3)对于切换界面的方法不是特别理解, 通过参考大量的资料, 找 到了解决方法。7 心得体会a)对于程序设计有了新的认识, 一个好的程序员必须要对程序整体有足够的认识,才能够写出一个完美的程序b)要想对每一个代码熟悉, 只有不停的实验和不停的变形不同的程序 来检验它的作用,正如“实验室检验真理的唯一标准” 。同样的对 于编程也是如此。c)熟悉程序是怎样运行的, 每一个函数调用的目的、 每一个函数的作 用和功能。具体是怎样执行的,这些问题都必须弄得透彻 。8程序设计方法根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;( 3)完成类层次中各个类的描述(包括属性和方法) ;(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度建设施工合同标的为高速公路3篇
- 2024年度广告发布合同范本:互联网平台广告投放3篇
- 2024版健身俱乐部会员服务合同
- 2024年度电脑展示厅建设合同:展示设备、互动体验及布展2篇
- 二零二四年度车辆租赁合同(新能源)
- 城区公共区域LED照明产品供应及安装合同(04版)
- 2024年度墙纸墙布产品研发合作合同2篇
- 2024版特许加盟合同纠纷
- 二零二四年度软件开发合同:电子商务平台建设与运营协议
- 二零二四年度互联网服务合同:某网络公司与用户关于互联网接入与使用的协议
- 批发零售大个体 E204-3批发和零售业产业活动单位(个体经营户)商品销售和库存
- 单斗反铲挖掘机动臂设计计算说明书
- 《消化道出血》优秀课件
- 苯氯苯连续精馏塔设计二设计正文
- 焊缝焊条用量的计算公式
- 浆砌块石施工方法
- 人员编制及岗位调整表.doc
- (推荐)浅谈初中学生英语写作中存在的问题、原因及解决策略
- 七年级历史教案:林则徐的教学设计
- 水面垃圾自动打捞船的设计 (全套图纸)
- 烟草企业安全生产标准化 规范
评论
0/150
提交评论