




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学院课程设计说明书题目设计一个简单的产品管理系统系(部)计算机科学与技术专业(班级)姓名学号指导教师起止日期2010年1月4日-2010年1月8日程序设计基础课程设计任务书系_计算机科学与技术_专业_计算机科学与技术 班级设计人_一、题目:设计一个简单的产品管理系统二、目的与要求1. 目的:通过产品管理系统的设计,培养学生综合利用 C+语言进行程序设计的能力,加强函数的运用 及学生对软件工程方法的初步认识, 提高软件系统分析能力和程序文档建立、 归纳总结的能力, 养学生利用系统提供的标准函数及典型算法进行设计。2. 基本要求:(1) 要求用C+模块化设计的思想来完成程序的设计;(2) 要求使用
2、结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别 存放在不同的.cpp文件中,要求使用头文件;(3) 要求使用选择法排序,折半查找法进行查找。3. 创新要求在基本要求达到后,进行创新设计,如进行删除或插入操作。4. 书写设计报告的要求设计报告中包含以下几个方面:1、设计题目2、总体设计1) 用自顶而下或自底而上的方法,划分功能模块。2) 确定各模块的算法3、根据算法画出流程图4、列出程序清单,并加以必要的注释5、写出调试程序的方法6、指出所设计问题的不足和改进方案5. 课程设计材料的装订顺序为:1) 设计说明书封面2) 课程设计任务书3) 课程设计鉴定表4) 目录5) 设计
3、报告书正文三、设计方法和基本原理1. 问题描述:某工厂有 5 种产品,每种产品包括:产品代码,产品名称,产品数量,销售量,要求编写函数 实现下面:(1)从键盘输入这些产品的信息;(2)按照产品的库存量进行升序排序,使用选择法排序,在主函数中输出;(3)使用折半查找法进行循环查询,当用户给出某种产品的代码时,在主函数中显示该产 品的信息,如果没找到则给出未找到的信息,退出程序的运行;(4)输出产品信息。2 问题的解决方案:根据问题的描述,可以按照程序要求的功能采用结构化的设计思想。(1)产品的库存量在输入函数中求解或者编写独立函数求解;(2)在排序过程中,结构数组元素的交换可以整体进行,无需每个
4、成员之间进行互换。(3)使用折半查找法进行查找之前,应该先按照产品代码进行排序。四、主要技术问题的描述根据三的分析,主要问题在于:( 1)结构体的构造除了产品的代码(int code)、产品名称(char name),产品数量(float amount),销售量(float sales) 外,还应有产品的库存量( float stock )( 2 )排序 在进行完结构数组中某个成员的比较后,不是某个成员的互换,而是结构体数组元素之间的互换。 例如结构体数组元素 proj 和 prok 的互换:t=proj; proj=proj+1; proj+1=t;( 3)各个函数的参数传递问题 实参应为结
5、构数组名,形参为结构体指针或者结构体数组。如输入函数: void Input(PRODUCT *p)/结构体指针作为形参/program code函数调用时: Input(pro); / pro 为结构体数组名五、课程设计时间: 18 周六、课程设计的考核方式及评分方法1考核方式课程设计结束时,在机房当场验收。1)教师提供测试数据,检查运行结果是否正确。2)回答教师提出的问题。3)学生提交课程设计文档( A4 纸打印)2评分方法上机检查:书面报告=7 :3,没有通过上机检查的其成绩直接记录不及格指导教师签名:教研室主任签名:日期:日期:日期:系主任签名:长沙学院课程设计鉴定表姓名学号专业计算机
6、科学与技术班级设计题目设计一个简单的产品管理系统指导教师指导教师意见:评定等级:教师签名:日期:答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名:日期:系(部)意见:系主任签名:日期:说明 课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;摘要用C+莫块化设计的思想来完成该简单的产品管理系统程序的设计,使用结构数组和结构指 针,各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的 .cpp 文件中,使用了头 文件,并使用选择法排序,折半查找法进行查找。关键词: 产品管理系统;模块化设计;结构数组;结构指针;选择法排序;折半查找法。目录1设计内容与要求
7、12.设计说明 22.1 问题描述与功能设计 22.2 算法与数据结构 42.3 函数定义 62.4 界面设计 92.5 编码 122.6 测试 213总结 23参考文献 25附录A源代码 261 设计内容与要求设计一个简单的产品管理系统:某工厂有 5 种产品,每种产品包括:产品代码,产品名称,产品数量,销售量,要求编写函数 实现下面:(1)从键盘输入这些产品的信息;(2)按照产品的库存量进行升序排序,使用选择法排序,在主函数中输出;(3)使用折半查找法进行循环查询,当用户给出某种产品的代码时,在主函数中显示该产品 的信息,如果没找到则给出未找到的信息,退出程序的运行;(4)输出产品信息。基本
8、要求:(1)要求用 C+ 模块化设计的思想来完成程序的设计;(2)要求使用结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别 存放在不同的 .cpp 文件中,要求使用头文件;(3)要求使用选择法排序,折半查找法进行查找。创新要求:在基本要求达到后,进行创新设计,如进行删除或插入操作。2. 设计说明2.1 问题描述与功能设计2.1.1 问题描述 :问题描述:某工厂有 5 种产品,每种产品包括:产品代码,产品名称,产品数量,销售量,要求编写函数 实现下面:( 1 ) 从键盘输入这些产品的信息;( 2 ) 按照产品的库存量进行升序排序,使用选择法排序,在主函数中输出; 使用折半查找
9、法进行循环查询, 当用户给出某种产品的代码时, 在主函数中显示该产品的信息,( 3 ) 如果没找到则给出未找到的信息,退出程序的运行;( 4 ) 输出产品信息。主要问题在于:( 1)结构体的构造除了产品的代码( int code )、产品名称 (char name) ,产品数量 (float amount) ,销售量 (float sales) 外,还应有产品的库存量( float stock )(2)排序在进行完结构数组中某个成员的比较后,不是某个成员的互换,而是结构体数组元素之间的互换。 例如结构体数组元素 proj 和 prok 的互换:t=proj; proj=proj+1; proj
10、+1=t;( 3)各个函数的参数传递问题实参应为结构数组名,形参为结构体指针或者结构体数组。如输入函数:void Input(PRODUCT *p) /结构体指针作为形参/program code函数调用时: Input(pro); / pro 为结构体数组名2.1.2 功能设计 :根据问题描述和设计要求,设计如下的功能: 产品信息的输入、全部产品信息的查看、 单个产品信 息的按代码查看、单个产品信息的修改。2.2.1算法2.2算法与数据结构主函数产品信息输入产品库存量升序排列ilj 11c.Ur-cndkj+产品代码查找JtH-修改已输入产品信2.2.2 数据结构本程序采用的数据结构为:st
11、ruct productint code;char name10;float amount;float sales;float stock;pro5;2.3 函数定义我设计该程序一共定义了三个函数,分别为:产品输入,产品库存量升序排列,产品代码查找,修改已 输入产品信息,主界面。函数名分别为 : void input()void sort()void search()void reput()void desktop()2.4界面设计本程序界面设计为m产五管環家鈕Bbugl产辰肯爰奈疣涉曰VMM统於理务1菅自亠息息口亠蚩品品品口盖 人你声产产产系 进择番 迎选薯欢请2,氛4-0KM MM:请输入
12、相应的服务代码2.5编码system(pause);system(cls);在我写的程序中运用了上面的语句,这个语句在程序中大量运用,使得界面清晰明了,更加美观。system(pause)用来暂停系统工作system(cls)用来清除屏幕2.6测试1.建立产品信息产品代码产品名称产品数量产品销售量101沙发5622102椅子8948103餐桌4623104柜子3321105书桌1262.查看全部产品信息3查找产品信息-产壬言屯孕沆卩血郎=味言怎孚氓严卢wi二55查找代码为103的餐桌.:症苣琏至统d命叩沪品管理蛊宛I二回3卓0 皐 S 4 2 141? t=s:貳1= 码称量量量 代!JtW
13、口囂品座 亠rrL習00 的 找 杳-古所销产产B*.III4修改产品信息 T:TEn管理至瓠De b u gT品管理玉疣ex -irr卜修改代码:105名称:书桌为:代码:205名称:书桌 产品数量:23销售量:12应名边分别严品老掠.-ft辆人严品仁刊 品弋码101 品弋码=102 啻静103 品弋玛;104 蕉代码.1051品营瑾家筑lObug;产品苣戏禁疣职h产品代咼105 产品名 您要核改的产品代码为?1鲂谙输入您要修改的产品的代码 製入您要修改的产品的名宇 壽入您要修改的产品的数量请输入您要傷改的产品的销售量 常按任意睫燼3 总结通过本次课程设计,使得本学期来我学到的的知识得到了一
14、次综合的应用。实验了从理论到实践的 飞跃。本次课程设计中,我要用C+知识设计的是一个简单产品信息管理系统。要求用C+莫块化设计的思想来完成程序的设计, 并使用结构数组和结构指针, 各个功能分别使用函数来完成, 主函数和各个函数 分别存放在不同的 .cpp 文件中,要使用头文件。在查看产品信息时要求使用选择法排序,折半查找法 进行查找。在输入产品信息时,为解决产品代码重复输入的问题,通过与同学的交流,采用了通过字符比较的 方法排除。 在查看产品信息时要求使用折半查找法进行查找, 在输入错误代码时, 总造成系统死机, 也 是在同学的帮助下找到了问题所在。这些都令我十分高兴。在一系列的数据测试后,该
15、程序能基本顺利运行,但不排除还存在一些问题。比如:在输入产品代 码时,如果输入数据不为整数类型时,会造成程序错误。总之,通过本次课程设计,是我使用C+语言编程的综合能力得到了提高。2005:138-221.2005.参考文献1 王挺、周会平、贾丽丽、徐锡山 . C+ 程序设计 M. 北京:清华大学出版社,2 刘瑞新 . Visual C+ 面向对象程序设计教程 M. 北京:机械工业出版社,附录 A 源代码Main.cpp#include #include #includefunction.h int main()int n;dodesktop();cinn; system(cls); if(n
16、=1)input();else if(n=2)sort();else if(n=3)search();else if(n=4)reput(); while(n!=0); return 0;Function.h #include#includestruct productint code;char name10;float amount;float sales;float stock;pro5;/产品输入void input()for(int i=0;i5;i+)cout 请输入第 i+1proi.code;cout 请输入第 i+1;cout 请输入第 i+1proi.amo
17、unt;cout 请输入第 i+1proi.sales;proi.stock=proi.amount-proi.sales; system(cls);/ 产品库存量升序排列void sort()product temp;for(int i=0;i5-1;i+)for(int j=i+1;jproj.stock) temp=proi;proi=proj;proj=temp;for(int j=0;j=5-1;j+)proj.stockendl;cout 库存量排第 j+1 种产品的库存是 cout 代码是 proj.codeendl;cout 名称是 endl;cout 数量是
18、 proj.amountendl; cout 销售量是 proj.salesendlendl; system(pause); system(cls);/产品代码查找 void search()int code5=1,2,3,4,5;bool flag=0;int b;coutb;for(int i=0;i5;+i)if(b=proi.code)flag=1;coutvv产品代码:vvproi.codevv名称:proi. name数量:proi.amou nt销售量 :proi.salesendl;if(flag=0)cout 此代码不存在 !endl; system(pause);system(cls);/修改已输入产品信息void reput()int code;cout 已输入产品代码分别是: endl; for(int k=0;k=5-1;k+)coutprok.codeendl;cout 您要修改的产品代码是多少? code;for(int i=0;i=4;i+)if (proi.code=code) break;if(i=5)cout 没有您要修改的产品 endl;elsecout 请输入您要修改的产品的代码 proi.code;cout 请输入您要修改的产品的名字 proi.nam
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 远程工作技能需求-洞察与解读
- 2025第二季度福建中共福州市马尾区委员会办公室招聘编外人员1人模拟试卷及答案详解(易错题)
- 2025广西崇左市人民检察院公开招聘机关文员4人考前自测高频考点模拟试题及答案详解(有一套)
- 2025辽宁鞍山市立山区教育局面向应届毕业生校园招聘2人模拟试卷及参考答案详解1套
- 2025贵州铜仁职业技术学院引进博士研究生15人模拟试卷及完整答案详解1套
- 2025年河北邯郸丛台区公开选聘农村党务(村务)工作者42名模拟试卷带答案详解
- 2025昆明市禄劝县人民法院司法协警招录(2人)考前自测高频考点模拟试题含答案详解
- 供应链透明度提升策略-第23篇-洞察与解读
- 2025广西平果市新安镇人民政府城镇公益性岗位人员招聘2人模拟试卷及答案详解(网校专用)
- 2025广东东莞市水务局招聘聘用人员2人考前自测高频考点模拟试题附答案详解(典型题)
- 住院精神疾病患者攻击行为预防
- 15 青春之光(公开课一等奖创新教案)
- 输液空气的栓塞及预防
- 财务知识及财务分析培训
- 《化工设备设计原理与实例》课件
- 新版机动车交通事故责任强制保险合同
- T-CTSS 3-2024 茶艺职业技能竞赛技术规程
- 品管圈PDCA案例-普外科提高甲状腺手术患者功能锻炼合格率
- 2022-2024年营养指导员考试真题及答案合集
- 《电工基础(第2版)》中职全套教学课件
- 2024-2025学年江苏省南通市海安市高二(上)月考物理试卷(10月份)(含答案)
评论
0/150
提交评论