程序设计基础课程设计.doc_第1页
程序设计基础课程设计.doc_第2页
程序设计基础课程设计.doc_第3页
程序设计基础课程设计.doc_第4页
程序设计基础课程设计.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

学 院课程设计说明书题目设计一个简单的产品管理系统系(部)计算机科学与技术专业(班级)姓名学号指导教师起止日期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)结构体的构造除了产品的代码(int code)、产品名称(char name) ,产品数量(float amount) ,销售量(float sales)外,还应有产品的库存量(float stock)(2)排序在进行完结构数组中某个成员的比较后,不是某个成员的互换,而是结构体数组元素之间的互换。例如结构体数组元素proj和prok的互换:t=proj; proj=proj+1; proj+1=t;(3)各个函数的参数传递问题实参应为结构数组名,形参为结构体指针或者结构体数组。如输入函数:void Input(PRODUCT *p) /结构体指针作为形参/program code函数调用时:Input(pro); / pro 为结构体数组名五、课程设计时间:18周六、课程设计的考核方式及评分方法1考核方式课程设计结束时,在机房当场验收。1) 教师提供测试数据,检查运行结果是否正确。2) 回答教师提出的问题。3) 学生提交课程设计文档(A4纸打印)2评分方法上机检查 :书面报告=7 :3,没有通过上机检查的其成绩直接记录不及格指导教师签名:日期:教研室主任签名: 日期:系主任签名: 日期:长沙学院课程设计鉴定表 姓名 学号 专业 计算机科学与技术 班级设计题目设计一个简单的产品管理系统指导教师指导教师意见:评定等级: 教师签名: 日期: 答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名: 日期: 系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;摘要用C+模块化设计的思想来完成该简单的产品管理系统程序的设计,使用结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,使用了头文件,并使用选择法排序,折半查找法进行查找。关键词:产品管理系统;模块化设计;结构数组;结构指针;选择法排序;折半查找法。目录1 设计内容与要求 12.设计说明 2 2.1 问题描述与功能设计2 2.2 算法与数据结构4 2.3 函数定义6 2.4 界面设计9 2.5 编码12 2.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)结构体的构造 除了产品的代码(int code)、产品名称(char name) ,产品数量(float amount) ,销售量(float sales) 外,还应有产品的库存量(float stock) (2)排序在进行完结构数组中某个成员的比较后,不是某个成员的互换,而是结构体数组元素之间的互换。例如结构体数组元素proj和prok的互换:t=proj; proj=proj+1; proj+1=t;(3)各个函数的参数传递问题实参应为结构数组名,形参为结构体指针或者结构体数组。如输入函数:void Input(PRODUCT *p) /结构体指针作为形参/program code函数调用时:Input(pro); / pro 为结构体数组名2.1.2功能设计:根据问题描述和设计要求,设计如下的功能:产品信息的输入、全部产品信息的查看、单个产品信息的按代码查看、单个产品信息的修改。2.2 算法与数据结构2.2.1 算法主函数 产品信息输入产品库存量升序排列产品代码查找修改已输入产品信2.2.2数据结构本程序采用的数据结构为:struct product int code; char name10; float amount; float sales; float stock; pro5;2.3 函数定义我设计该程序一共定义了三个函数,分别为:产品输入,产品库存量升序排列,产品代码查找,修改已输入产品信息,主界面。函数名分别为: void input() void sort()void search() void reput()void desktop()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 刘瑞新. Visual C+面向对象程序设计教程M. 北京:机械工业出版社,2005.附录A 源代码Main.cpp#include#include#includefunction.hint main()int n;do desktop();cinn;system(cls);if(n=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 product int 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.amount;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+)cout库存量排第j+1种产品的库存是proj.stockendl;cout代码是proj.codeendl;cout名称是endl;cout数量是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; cout产品代码:proi.code 名称: 数量:proi.amount 销售量: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请输入您要修改的产品的名字;cout请输入您要修改的产品的数量proi.amount;

温馨提示

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

最新文档

评论

0/150

提交评论