您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > C++产品管理系统-课程设计设计报告
学院课程设计说明书题目设计一个简单的产品管理系统系(部)计算机科学与技术专业(班级)姓名学号指导教师起止日期2010年1月4日-2010年1月8日程序设计基础课程设计任务书系__计算机科学与技术__专业__计算机科学与技术__班级___设计人__一、题目:设计一个简单的产品管理系统二、目的与要求1.目的:通过产品管理系统的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。2.基本要求:(1)要求用C++模块化设计的思想来完成程序的设计;(2)要求使用结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,要求使用头文件;(3)要求使用选择法排序,折半查找法进行查找。3.创新要求在基本要求达到后,进行创新设计,如进行删除或插入操作。4.书写设计报告的要求设计报告中包含以下几个方面:1、设计题目2、总体设计1)用自顶而下或自底而上的方法,划分功能模块。2)确定各模块的算法3、根据算法画出流程图4、列出程序清单,并加以必要的注释5、写出调试程序的方法6、指出所设计问题的不足和改进方案5.课程设计材料的装订顺序为:1)设计说明书封面2)课程设计任务书3)课程设计鉴定表4)目录5)设计报告书正文三、设计方法和基本原理1.问题描述:某工厂有5种产品,每种产品包括:产品代码,产品名称,产品数量,销售量,要求编写函数实现下面:(1)从键盘输入这些产品的信息;(2)按照产品的库存量进行升序排序,使用选择法排序,在主函数中输出;(3)使用折半查找法进行循环查询,当用户给出某种产品的代码时,在主函数中显示该产品的信息,如果没找到则给出未找到的信息,退出程序的运行;(4)输出产品信息。2.问题的解决方案:根据问题的描述,可以按照程序要求的功能采用结构化的设计思想。(1)产品的库存量在输入函数中求解或者编写独立函数求解;(2)在排序过程中,结构数组元素的交换可以整体进行,无需每个成员之间进行互换。(3)使用折半查找法进行查找之前,应该先按照产品代码进行排序。四、主要技术问题的描述根据三的分析,主要问题在于:(1)结构体的构造除了产品的代码(intcode)、产品名称(charname),产品数量(floatamount),销售量(floatsales)外,还应有产品的库存量(floatstock)(2)排序在进行完结构数组中某个成员的比较后,不是某个成员的互换,而是结构体数组元素之间的互换。例如结构体数组元素pro[j]和pro[k]的互换:t=pro[j];pro[j]=pro[j+1];pro[j+1]=t;(3)各个函数的参数传递问题实参应为结构数组名,形参为结构体指针或者结构体数组。如输入函数:voidInput(PRODUCT*p)//结构体指针作为形参{//programcode}函数调用时:Input(pro);//pro为结构体数组名五、课程设计时间:18周六、课程设计的考核方式及评分方法1.考核方式课程设计结束时,在机房当场验收。1)教师提供测试数据,检查运行结果是否正确。2)回答教师提出的问题。3)学生提交课程设计文档(A4纸打印)2.评分方法上机检查:书面报告=7:3,没有通过上机检查的其成绩直接记录不及格指导教师签名:日期:教研室主任签名:日期:系主任签名:日期:长沙学院课程设计鉴定表姓名学号专业计算机科学与技术班级设计题目设计一个简单的产品管理系统指导教师指导教师意见:评定等级:教师签名:日期:答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名:日期:系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;摘要用C++模块化设计的思想来完成该简单的产品管理系统程序的设计,使用结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,使用了头文件,并使用选择法排序,折半查找法进行查找。关键词:产品管理系统;模块化设计;结构数组;结构指针;选择法排序;折半查找法。目录1设计内容与要求…………………………………………………………………………………12.设计说明…………………………………………………………………………………………22.1问题描述与功能设计…………………………………………………………………………22.2算法与数据结构………………………………………………………………………………42.3函数定义…………………………………………………………………………………………62.4界面设计………………………………………………………………………………………92.5编码……………………………………………………………………………………………122.6测试……………………………………………………………………………………………213总结…………………………………………………………………………………………………23参考文献……………………………………………………………………………………………25附录A源代码………………………………………………………………………………………261设计内容与要求设计一个简单的产品管理系统:某工厂有5种产品,每种产品包括:产品代码,产品名称,产品数量,销售量,要求编写函数实现下面:(1)从键盘输入这些产品的信息;(2)按照产品的库存量进行升序排序,使用选择法排序,在主函数中输出;(3)使用折半查找法进行循环查询,当用户给出某种产品的代码时,在主函数中显示该产品的信息,如果没找到则给出未找到的信息,退出程序的运行;(4)输出产品信息。基本要求:(1)要求用C++模块化设计的思想来完成程序的设计;(2)要求使用结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,要求使用头文件;(3)要求使用选择法排序,折半查找法进行查找。创新要求:在基本要求达到后,进行创新设计,如进行删除或插入操作。2.设计说明2.1问题描述与功能设计2.1.1问题描述:问题描述:某工厂有5种产品,每种产品包括:产品代码,产品名称,产品数量,销售量,要求编写函数实现下面:(1)从键盘输入这些产品的信息;(2)按照产品的库存量进行升序排序,使用选择法排序,在主函数中输出;使用折半查找法进行循环查询,当用户给出某种产品的代码时,在主函数中显示该产品的信息,(3)如果没找到则给出未找到的信息,退出程序的运行;(4)输出产品信息。主要问题在于:(1)结构体的构造除了产品的代码(intcode)、产品名称(charname),产品数量(floatamount),销售量(floatsales)外,还应有产品的库存量(floatstock)(2)排序在进行完结构数组中某个成员的比较后,不是某个成员的互换,而是结构体数组元素之间的互换。例如结构体数组元素pro[j]和pro[k]的互换:t=pro[j];pro[j]=pro[j+1];pro[j+1]=t;(3)各个函数的参数传递问题实参应为结构数组名,形参为结构体指针或者结构体数组。如输入函数:voidInput(PRODUCT*p)//结构体指针作为形参{//programcode}函数调用时:Input(pro);//pro为结构体数组名2.1.2功能设计:根据问题描述和设计要求,设计如下的功能:产品信息的输入、全部产品信息的查看、单个产品信息的按代码查看、单个产品信息的修改。2.2算法与数据结构2.2.1算法主函数产品信息输入产品库存量升序排列产品代码查找修改已输入产品信2.2.2数据结构本程序采用的数据结构为:structproduct{intcode;charname[10];floatamount;floatsales;floatstock;}pro[5];2.3函数定义我设计该程序一共定义了三个函数,分别为:产品输入,产品库存量升序排列,产品代码查找,修改已输入产品信息,主界面。函数名分别为:voidinput()voidsort()voidsearch()voidreput()voiddesktop()2.4界面设计本程序界面设计为2.5编码system(pause);system(cls);在我写的程序中运用了上面的语句,这个语句在程序中大量运用,使得界面清晰明了,更加美观。system(pause)用来暂停系统工作system(cls)用来清除屏幕2.6测试⒈建立产品信息:产品代码产品名称产品数量产品销售量101沙发5622102椅子8948103餐桌4623104柜子3321105书桌126⒉查看全部产品信息:⒊查找产品信息:查找代码为103的餐桌.⒋修改产品信息:修改代码:105名称:书桌为:代码:205名称:书桌产品数量:23销售量:123总结通过本次课程设计,使得本学期来我学到的的知识得到了一次综合的应用。实验了从理论到实践的飞跃。本次课程设计中,我要用C++知识设计的是一个简单产品信息管理系统。要求用C++模块化设计的思想来完成程序的设计,并使用结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,要使用头文件。在查看产品信息时要求使用选择法排序,折半查找法进行查找。在输入产品信息时,为解决产品代码重复输入的问题,通过与同学的交流,采用了通过字符比较的方法排除。在查看产品信息时要求使用折半查找法进行查找,在输入错误代码时,总造成系统死机,也是在同学的帮助下找到了问题所在。这些都令我十分高兴。在一系列的数据测试后,该程序能基本顺利运行,但不排除还存在一些问题。比如:在输入产品代码时,如果输入数据不为整数类型时,会造成程序错误。总之,通过本次课程设计,是我使用C++语言编程的综合能力得到了提高。参考文献[1]王挺、周会平、贾丽丽、徐锡山.C++程序设计[M].北京:清华大学出版社,2005:138-221.[2]刘瑞新.VisualC++面向对象程序设计教程[M].北京:机械工业出版社,2005.附录A源代码Main.cpp#includeiostream.h#includewindows.h#includefunction.hintmain(){intn;do{desktop();cinn;system(cls);if(n==1){input();}elseif(n==2){sort();}elseif(n==3){search();}elseif(n==4){reput();}}while(n!=0);return0;}Function.h#includeiostream.h#includewindows.hstructproduct{intcode;charname[10];floatamount;floatsales;floatstock;}pro[5];//……产品输入……voidinput(){for(inti=0;i5;i++){cout请输入第i+1种产品代码:;cinpro[i].code;cout请输入第i+1种产品名称:;cinpro[i].name;cout请输入第i+1种产品数量:;cinpro[i].amount;cout请输入第i+1种产品销售量:;cinpro[i].sales;pro[i].stock=pro[i].amount-pro[i].sales;system(cls);}}//……产品库存量升序排列voidsort(){producttemp;for(inti=0;i5-1;i++)for(intj=i+1;j=5-1;j++)if(pro[i].stockpro[j].stock){temp=pro[i];pro[i]=pro[j];pro[j]=temp;}for(in
本文标题:C++产品管理系统-课程设计设计报告
链接地址:https://www.777doc.com/doc-456788 .html