信息科学与技术学院程序设计基础课程设计报告题目名称:商品销售统计专业班级:电子信息工程12级1班石河子大学信息科学与技术学院2目录目录..........................................................................................................................................................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参考文献...........................................................................................................................................25石河子大学信息科学与技术学院31课程设计题目与要求1.1设计题目商品销售统计程序。1.2设计要求商品销售统计问题描述编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件),单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。基本要求程序分为两个部分:第一部分用于输入商品的信息并允许修改和删除;第二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码(如-1)表示本次购物结束。此时,程序计算出应付钱款数并显示。测试数据程序应输入不少于10种商品的信息,并进行模拟运行。实现提示本程序的商品信息可用一个结构体数组或链表进行管理。至少要有文本菜单实现。石河子大学信息科学与技术学院42总体设计商品销售统计系统设计商品信息管理商品销售商品信息录入商品信息修改商品信息保存商品信息显示商品买入石河子大学信息科学与技术学院53详细设计3.1主界面流程图设计超市管理系统的主界面,主界面相应的现实有下列菜单:增加商品、删除商品、修改商品、查询商品、统计商品、显示商品、退出。3.1主界面流程图超市管理系统商品类超市类查询商品统计商品修改商品增加商品删除商品显示商品找到是否开始结束石河子大学信息科学与技术学院63.2清除内存中的商品函数在超市管理系统中,商品出售出去,库存中的商品信息必须清除。类外定义一个函数clear,在函数中定义一个指针p,讲物品goods赋给p,为了使函数能够不断地清除内存中的数据,要使指针移动,首先将p-next赋予goods,然后删除p中的数据,清空p中的数据,然后将goods赋给p,依次循环,从而实现删除库存中的一个或多个商品。图3.2清除内存商品流程图开始定义指针goods赋值p给p将p的next赋值给goods删除p中的数据goods赋值给p是否有需要删除的商品结束YESNO石河子大学信息科学与技术学院73.3增加商品信息类外定义一个函数add,首先在函数中定义变量商品代码num和商品数量count,都为double类型,商品名name和产地address为char类型,价格price为int类型,首先要求用户输入商品信息,依次输入商品的代码、商品名称、商品产地、商品单价,判断单价是否在0~65535之间,如果不在范围内重新输入直到在范围之内再继续向下面执行,输入商品库存量,库存在0~99999之间,如果超出范围重新输入,在范围之内继续执行,保存数据。图3.3增加商品流程图开始定义变量输入商品代码名称产地输入商品价格(0~65535)输入商品库存(0~99999)保存NoNoYesYes3.4删除商品信息的过程(1)在Supermarket类下定义一个Delete函数作为删除商品信息的函数,然后定义商品名,输入商品信息。(2)查找要删除的结点(节点中包含所有该商品的信息:商品代码、名称、产地、数量、单价),分别定义两个指针,原商品表信息指针p1和输入的商品信息指针p2,在p1循环的过程中比较输入的商品名与原有的商品名是否一致,如果一致则结束本次循环,否则p2指向p1,使得两指针同化,p1指针接着指向下一指针,这样依次向后查询。(3)删除结点,如果找到要删除的结点则删除,在这个条件下,如果删除的结点是第一个结点,则继续将指针后移删除第一结点,如果删除的结点是后续结点,则将p2下一指针指向p1下一指针,则删除相应的后续结点。输出的结果是:找到并删除或者sorry,未找到!流程图如图3.599图3.5删除商品流程图查找要删除的结点定义指针p1p2比较输入商品名和商品表已知商品名是否一致是否找到结点继续向后查找p2=p1;p1=p1-next是否为第一结点找到则删除成功查找后续结点是是是否否否开始结束10103.5修改商品信息的过程