产品管理系统课程设计设计报告.docx
- 文档编号:8944959
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:14
- 大小:184.73KB
产品管理系统课程设计设计报告.docx
《产品管理系统课程设计设计报告.docx》由会员分享,可在线阅读,更多相关《产品管理系统课程设计设计报告.docx(14页珍藏版)》请在冰豆网上搜索。
产品管理系统课程设计设计报告
学院
课程设计说明书
题目
设计一个简单的产品管理系统
系(部)
计算机科学与技术
专业(班级)
姓名
学号
指导教师
起止日期
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)
pp文件中,使用了头文件,并使用选择法排序,折半查找法进行查找。
关键词:
产品管理系统;模块化设计;结构数组;结构指针;选择法排序;折半查找法。
1设计内容与要求…………………………………………………………………………………1
2.设计说明…………………………………………………………………………………………2
问题描述与功能设计…………………………………………………………………………2
算法与数据结构………………………………………………………………………………4
函数定义…………………………………………………………………………………………6
界面设计………………………………………………………………………………………9
编码……………………………………………………………………………………………12
测试……………………………………………………………………………………………21
3总结…………………………………………………………………………………………………23
参考文献……………………………………………………………………………………………25
附录A源代码………………………………………………………………………………………26
1设计内容与要求
设计一个简单的产品管理系统:
某工厂有5种产品,每种产品包括:
产品代码,产品名称,产品数量,销售量,要求编写函数实现下面:
(1)从键盘输入这些产品的信息;
(2)按照产品的库存量进行升序排序,使用选择法排序,在主函数中输出;
(3)使用折半查找法进行循环查询,当用户给出某种产品的代码时,在主函数中显示该产品的信息,如果没找到则给出未找到的信息,退出程序的运行;
(4)输出产品信息。
基本要求:
(1)要求用C++模块化设计的思想来完成程序的设计;
(2)要求使用结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,要求使用头文件;
(3)要求使用选择法排序,折半查找法进行查找。
创新要求:
在基本要求达到后,进行创新设计,如进行删除或插入操作。
2.设计说明
问题描述与功能设计
问题描述:
问题描述:
某工厂有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)
⒋修改产品信息:
修改代码:
105名称:
书桌为:
代码:
205名称:
书桌产品数量:
23销售量:
12
3总结
通过本次课程设计,使得本学期来我学到的的知识得到了一次综合的应用。
实验了从理论到实践的飞跃。
本次课程设计中,我要用C++知识设计的是一个简单产品信息管理系统。
要求用C++模块化设计的思想来完成程序的设计,并使用结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,要使用头文件。
在查看产品信息时要求使用选择法排序,折半查找法进行查找。
在输入产品信息时,为解决产品代码重复输入的问题,通过与同学的交流,采用了通过字符比较的方法排除。
在查看产品信息时要求使用折半查找法进行查找,在输入错误代码时,总造成系统死机,也是在同学的帮助下找到了问题所在。
这些都令我十分高兴。
在一系列的数据测试后,该程序能基本顺利运行,但不排除还存在一些问题。
比如:
在输入产品代码时,如果输入数据不为整数类型时,会造成程序错误。
总之,通过本次课程设计,是我使用C++语言编程的综合能力得到了提高。
参考文献
[1]王挺、周会平、贾丽丽、徐锡山.C++程序设计[M].北京:
清华大学出版社,2005:
138-221.
[2]刘瑞新.VisualC++面向对象程序设计教程[M].北京:
机械工业出版社,2005.
附录A源代码
#include<>
#include<>
#include""
intmain()
{
intn;
do
{
desktop();
cin>>n;
system("cls");
if(n==1)
{
input();
}
elseif(n==2)
{
sort();
}
elseif(n==3)
{
search();
}
elseif(n==4)
{
reput();
}
}
while(n!
=0);
return0;
}
#include<>
#include<>
structproduct
{
intcode;
charname[10];
floatamount;
floatsales;
floatstock;
}pro[5];
ode;
cout<<"请输入第"<
";
cin>>pro[i].name;
cout<<"请输入第"<
";
cin>>pro[i].amount;
cout<<"请输入第"<
";
cin>>pro[i].sales;
pro[i].stock=pro[i].amount-pro[i].sales;
system("cls");
}
}
tock>pro[j].stock)
{
temp=pro[i];
pro[i]=pro[j];
pro[j]=temp;
}
for(intj=0;j<=5-1;j++)
{
cout<<"库存量排第"< cout<<"代码是"< cout<<"名称是"< cout<<"数量是"< cout<<"销售量是"< } system("pause"); system("cls"); } ode) { flag=1; cout<<"产品代码: "< <<"名称: "< <<"数量: "< <<"销售量: "< } if(flag==0) cout<<"此代码不存在! "< system("pause"); system("cls"); } ode< cout<<"您要修改的产品代码是多少"< cin>>code; for(inti=0;i<=4;i++) { if(pro[i].code==code)break; } if(i==5) cout<<"没有您要修改的产品"< else { cout<<"请输入您要修改的产品的代码"< cin>>pro[i].code; cout<<"请输入您要修改的产品的名字"< cin>>pro[i].name; cout<<"请输入您要修改的产品的数量"< cin>>pro[i].amount; cout<<"请输入您要修改的产品的销售量"< cin>>pro[i].sales; pro[i].stock=pro[i].amount-pro[i].sales; } system("pause"); system("cls"); } 入产品信息***"< <<"***2.查看产品信息***"< <<"***3.查找产品信息***"< <<"***4.修改产品信息***"< <<"***0.退出系统***"< <<"***********************************************************"< cout< cout<<"请输入相应的代码: "; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 产品 管理 系统 课程设计 设计 报告