商品销售统计_程序设计基础课程设计报告.doc_第1页
商品销售统计_程序设计基础课程设计报告.doc_第2页
商品销售统计_程序设计基础课程设计报告.doc_第3页
商品销售统计_程序设计基础课程设计报告.doc_第4页
商品销售统计_程序设计基础课程设计报告.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

信息科学与技信息科学与技术术学院学院 程序程序设计设计基基础课础课程程设计报设计报告告 题题目名称目名称: 商商 品品 销销 售售 统统 计计 专业专业班班级级: : 电电子信息工程子信息工程 12 级级 1 班班 石河子大学信息科学与技术学院 2 目录目录 目录目录 .2 1 课课程程设计题设计题目与要求目与要求 .3 1.1 设计题目.3 1.2 设计要求.3 2 总总体体设计设计 4 3 详细设计详细设计 .4 3.1 主界面流程图.5 3.2 清除内存中的商品函数.6 3.3 增加商品信息.7 3.4 删除商品信息的过程.8 3.5 修改商品信息的过程.10 3.6 查询商品的过程:.12 3.7 统计商品的过程.14 3.8 显示商品过程.16 4 运行运行结结果果 .17 5 总总 结结 .20 6 编编程中的程中的问题问题及解决方法及解决方法 21 7 心得体会心得体会 22 8 程序程序设计设计方法方法 23 9 程序运行程序运行环环境境 24 9.1 软件环境.24 9.2 硬件环境.24 10 参参考考文献文献 25 石河子大学信息科学与技术学院 3 1 课课程程设计题设计题目与要求目与要求 1.1 设计题设计题目目 商品销售统计程序。 1.2 设计设计要求要求 商品销售统计 问题描述 编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件), 单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商 品名,输入商品计量单位(如重量,件数等),根据单价算出总价。客户一次购物可 能购买多种商品,程序应计算出客户应付的钱款数。 基本要求 程序分为两个部分:第一部分用于输入商品的信息并允许修改和删除;第二 部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在 两部分之间切换。第二部分运行时,首先显示所有商品名称及代码(商品数目较 多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可 输入若干商品的购买信息,然后输入一个特殊的代码(如-1)表示本次购物结束。 此时,程序计算出应付钱款数并显示。 测试数据 程序应输入不少于 10 种商品的信息,并进行模拟运行。 实现提示 本程序的商品信息可用一个结构体数组或链表进行管理。 石河子大学信息科学与技术学院 4 至少要有文本菜单实现。 2 总总体体设计设计 商品销售统计系统设计 商品信息管理商品销售 商品信息录 入 商品信息修 改 商品信息保 存 商品信息显 示 商品买入 石河子大学信息科学与技术学院 5 3 详细设计详细设计 3.1 主界面流程主界面流程图图 设计超市管理系统的主界面,主界面相应的现实有下列菜单:增加商品、删 除商品、修改商品、查询商品、统计商品、显示商品、退出。 超市管理系统 商品 类 超市 类 查询 商品 统计 商品 修改 商品 增加 商品 删除 商品 显示 商品 找到 是 否 开始 结束 3.1 主界面流程图 石河子大学信息科学与技术学院 6 3.2 清除内存中的商品函数清除内存中的商品函数 在超市管理系统中,商品出售出去,库存中的商品信息必须清除。 类外定义一个函数 clear,在函数中定义一个指针 p,讲物品 goods 赋给 p,为了 使函数能够不断地清除内存中的数据,要使指针移动,首先将 p-next 赋予 goods ,然 后删除 p 中的数据,清空 p 中的数据,然后将 goods 赋给 p,依次循环,从而实现删 除库存中的一个或多个商品。 开始 定义指针 goods 赋值 p 给 p 将 p 的 next 赋值给 goods 删除 p 中的数据 goods 赋值给 p 是否有需要 删除的商品 结束 yes no 石河子大学信息科学与技术学院 7 图 3.2 清除内存商品流程图 3.3 增加商品信息增加商品信息 类外定义一个函数 add,首先在函数中定义变量商品代码 num 和商品数量 count,都为 double 类型 ,商品名 name 和产地 address 为 char 类型 ,价格 price 为 int 类型,首先要求用户输入商品信息,依次输入商品的代码、商品名称、商品 产地、商品单价,判断单价是否在 065535 之间,如果不在范围内重新输入直到 在范围之内再继续向下面执行,输入商品库存量,库存在 099999 之间,如果超 出范围重新输入,在范围之内继续执行,保存数据。 开始 定义变量 输入商品代码名称产地 输入商品价格 ( 065535 ) 输入商品库存 (099999) 保存 no no yes yes 石河子大学信息科学与技术学院 8 图 3.3 增加商品流程图 3.4 删删除商品信息的除商品信息的过过程程 (1)在 supermarket 类下定义一个 delete 函数作为删除商品信息的函数,然 后定义商品名,输入商品信息。 (2)查找要删除的结点(节点中包含所有该商品的信息:商品代码、名称、产 地、数量、单价),分别定义两个指针,原商品表信息指针 p1 和输入的商品信息 指针 p2,在 p1 循环的过程中比较输入的商品名与原有的商品名是否一致,如果 一致则结束本次循环,否则 p2 指向 p1,使得两指针同化,p1 指针接着指向下一 指针,这样依次向后查询。 (3)删除结点,如果找到要删除的结点则删除,在这个条件下,如果删除的结 点是第一个结点,则继续将指针后移删除第一结点,如果删除的结点是后续结点, 则将 p2 下一指针指向 p1 下一指针,则删除相应的后续结点。 输出的结果是:找到并删除或者 sorry,未找到! 流程图如图 3.5 10 10 查找要删除的结点 定义指针 p1 p2 比较输入商品名和商品表已知 商品名是否一致 是否找到结点 继续向后查找 p2=p1;p1=p1-next 是否为第一结点 找到则删除 成功 查找后续结点 是 是 是 否 否 否 开始 结束 图 3.5 删除商品流程图 11 11 3.5 修改商品信息的修改商品信息的过过程程 (1)定义各参数变量的类型,然后是输入要查找等待修改的商品名称 (2)查找要修改的结点,定义 p1、p2 指针,p1 为指向 goods 商品表指针,p2 为输入的商品指针,判断 p1 指针,如果输入的商品名和原有的商品名一致,则结 束本次循环,否则,p1 和 p2 指针同化,p1 接着指向 p1 的下一指针。 (3)修改结点,若找到相应的要修改的结点,则 p1 指向 output 函数,接着输 出要修改的信息,利用 switch 语句来调用相应的修改信息。 (4)创建新商品的结点,把原来要修改的结点删除并重新替换要创建的商品 结点。如果找到等待修改的结点则修改,否则保持商品表信息不变。 流程图如图 3.6 12 12 输入要查的商品名 查找要修改的结点 比较输入商品名和商品表已知 商品名是否一致 是否找到第一结点 继续向后查找 p2=p1;p1=p1-next 继续查找后续结点 删除并替换 是 是 否 否 是 否 开始 结束 图 3.6 修改商品流程图 13 13 3.6 查询查询商品的商品的过过程:程: (1)在 supermarket 类下定义一个 query 函数作为查询商品信息的函数,输入 商品名。 (2)查找要查询的结点(结点中包含所有该商品的信息:商品代码、名称、产地、 数量、单价),定义一个原商品表信息指针 p1,在 p1 循环的过程中比较 输入的商品名与原有的商品名是否一致,如果一致则结束本次循环,否则 p1 指针接着指向下一指针,这样依次向后查询。 (3)查询结点,如果找到要查询的结点则输出:查询成功并输出其所有信息, 若没有找到输出:sorry 未找到! 流程图如图 3.7 14 14 定义指针 p1 比较输入商品名和商品表已知 商品名是否一致 是否找到商品 继续向后查找 p1=p1-next 是 是 否 否 输入要查询商品的名字 开始 结束 图 3.7 查询商品流程图 15 15 3.7 统计统计商品的商品的过过程程 (1)是在 supermarket 类下定义一个 add_up 函数作为统计商品信息的函数, 然后定义两个 double 型变量 amount 和 value 分别表示要求统计商品的总量和 总价值,输入商品名字 name。 (2)查找要统计的结点(结点中包含所有该商品的信息:商品代码、名称、产 地、数量、单价),定义一个指针 p1,原商品表信息指针 p1,在 p1 循环的过程中 比较输入的商品名与原有的商品名是否一致,如果一致则结束本次循环,p1 指针 接着指向下一指针,这样依次向后查询。没找到则输出:sorry,未找到! (3)统计商品,每当找到一个商品后就将 amount 与 p1 所指 count 相加存入 amount,并将此时 p1 所指的 count 与 price 相乘再加上 value 存入 value,循环查 找相加,最后分别输出。 流程图如图 3.8 16 16 查找要统计的结点 定义指针 p1 比较输入商品名和 商品表已知商品名 是否一致 是否找到结点 继续向后查找 p1=p1-next 是 是 否 否 否 amount+=p1-count; value+=p1-count*p1-price value+=p1- count*p1-price 从 当 前 指 针 p 1 输出 结束 图 3.8 统计商品流程图 开始 17 17 3.8 显显示商品示商品过过程程 (1)是在 supermarket 类下定义一个 out 函数作为显示商品信息的函数。 (2)将 goods 的首地址给 p1,判断 p1 是否为空,若空则输出“没有商品”。否 则输出该商品所有信息(商品代码、名称、产地、数量、单价)等。 (3)将 p1 赋给 p2,p1-next 赋给 p1,进入循环,输出下一个商品信息。 流程图如图 4.9 定义数据 p=goods 是否有商 品 输出该商品信息 指针移向下一个商品 输出没有商品 否 是 开始 图 3.9 显示商品流程图 18 18 4 运行运行结结果果 4.1 运行运行结结果截果截图图 4.1.1 软件进入界面 4.1.2 商品添加 19 19 4.1.2 商品查询信息 4.1.3 商品销售 20 20 4.1.4 商品删除 21 21 5 总总 结结 通过这次实践,我们成功的实现了数据的输入与保存,并在程序中实现了使 用类对各个学生的各参数的基本操作。该系统的难点在于不使用任何数据库,只 使用磁盘文件来实现对每个学生的信息的存储和读取。虽然测试的学生的信息 条数不够多,但是题目的要求是完全能够达到的,在现有的基础上只要稍加修改 就能够满足批量数据的存储和查阅。要想增加更多学生信息,只要增加相应的对 象的属性即可,前提是在拥有相似的属性的时候。若有不同的属性,可以增加相 应的类就可满足需求。其中重要的是打开文件,保存文件,也就是对数据的妥善 的存储和再次的调用的操作。本次的课程设计对我们也是一个很好的实践的机 会,锻炼了自己,提高了自己编程的能力,为今后的项目打好基础。 22 22 6 编编程中的程中的问题问题及解决方法及解决方法 (1(录入数据难以保存,通过参考一系列的指导书得以解决。 (2(对于预处理函数的概念不清楚,在同学的讲解下,自己才能得以明 白。 (3(对于切换界面的方法不是特别理解,通过参考大量的资料,找到了 解决方法。 23 23 7 心得体会心得体会 a)对于程序设计有了新的认识,一个好的程序员必须要对程序整体有足够 的认识,才能够写出一个完美的程序。 b)要想对每一个代码熟悉,只有不停的实验和不停的变形不同的程序来检 验它的作用,正如“实验室检验真理的唯一标准”。同样的对于编程也是 如此。 c) 熟悉程序是怎样运行的,每一个函数调用的目的、每一个函数的作用和 功能。具体是怎样执行的,这些问题都必须弄得透彻。 24 24 8 程序程序设计设计方法方法 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使

温馨提示

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

评论

0/150

提交评论