程序设计基础课程设计设计一个简单的产品管理系统毕业论文Word文档下载推荐.docx
- 文档编号:17540587
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:21
- 大小:240.08KB
程序设计基础课程设计设计一个简单的产品管理系统毕业论文Word文档下载推荐.docx
《程序设计基础课程设计设计一个简单的产品管理系统毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《程序设计基础课程设计设计一个简单的产品管理系统毕业论文Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
(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设计内容与要求…………………………………………………………………………………1
2.设计说明…………………………………………………………………………………………2
2.1问题描述与功能设计…………………………………………………………………………2
2.2算法与数据结构………………………………………………………………………………4
2.3函数定义…………………………………………………………………………………………6
2.4界面设计………………………………………………………………………………………9
2.5编码……………………………………………………………………………………………12
2.6测试……………………………………………………………………………………………21
3总结…………………………………………………………………………………………………23
参考文献……………………………………………………………………………………………25
附录A源代码………………………………………………………………………………………26
1设计内容与要求
设计一个简单的产品管理系统:
(1)从键盘输入这些产品的信息;
(2)按照产品的库存量进行升序排序,使用选择法排序,在主函数中输出;
(3)使用折半查找法进行循环查询,当用户给出某种产品的代码时,在主函数中显示该产品的信息,如果没找到则给出未找到的信息,退出程序的运行;
(4)输出产品信息。
创新要求:
2.设计说明
2.1问题描述与功能设计
2.1.1问题描述:
问题描述:
(1)从键盘输入这些产品的信息;
(2)按照产品的库存量进行升序排序,使用选择法排序,在主函数中输出;
使用折半查找法进行循环查询,当用户给出某种产品的代码时,在主函数中显示该产品的信息,(3)如果没找到则给出未找到的信息,退出程序的运行;
(4)输出产品信息。
主要问题在于:
除了产品的代码(intcode)、产品名称(charname),产品数量(floatamount),销售量(floatsales)外,还应有产品的库存量(floatstock)
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("
)用来清除屏幕
2.6测试
⒈建立产品信息:
产品代码
产品名称
产品数量
产品销售量
101
沙发
56
22
102
椅子
89
48
103
餐桌
46
23
104
柜子
33
21
105
书桌
12
6
⒉查看全部产品信息:
⒊查找产品信息:
查找代码为103的餐桌.
⒋修改产品信息:
修改代码:
105名称:
书桌为:
代码:
205名称:
书桌产品数量:
23销售量:
3总结
通过本次课程设计,使得本学期来我学到的的知识得到了一次综合的应用。
实验了从理论到实践的飞跃。
本次课程设计中,我要用C++知识设计的是一个简单产品信息管理系统。
要求用C++模块化设计的思想来完成程序的设计,并使用结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,要使用头文件。
在查看产品信息时要求使用选择法排序,折半查找法进行查找。
在输入产品信息时,为解决产品代码重复输入的问题,通过与同学的交流,采用了通过字符比较的方法排除。
在查看产品信息时要求使用折半查找法进行查找,在输入错误代码时,总造成系统死机,也是在同学的帮助下找到了问题所在。
这些都令我十分高兴。
在一系列的数据测试后,该程序能基本顺利运行,但不排除还存在一些问题。
比如:
在输入产品代码时,如果输入数据不为整数类型时,会造成程序错误。
总之,通过本次课程设计,是我使用C++语言编程的综合能力得到了提高。
参考文献
[1]王挺、周会平、贾丽丽、徐锡山.C++程序设计[M].北京:
清华大学出版社,2005:
138-221.
[2]刘瑞新.VisualC++面向对象程序设计教程[M].北京:
机械工业出版社,2005.
附录A源代码
Main.cpp
#include<
iostream.h>
windows.h>
#include"
function.h"
intmain()
intn;
do
{
desktop();
cin>
>
n;
if(n==1)
{
input();
}
elseif(n==2)
sort();
elseif(n==3)
{
search();
elseif(n==4)
reput();
while(n!
=0);
return0;
}
Function.h
//……产品输入……
voidinput()
for(inti=0;
i<
5;
i++)
cout<
<
"
请输入第"
i+1<
种产品代码:
;
pro[i].code;
种产品名称:
cin>
pro[i].name;
种产品数量:
pro[i].amount;
种产品销售量:
pro[i].sales;
pro[i].stock=pro[i].amount-pro[i].sales;
//……产品库存量升序排列
voidsort()
producttemp;
5-1;
for(intj=i+1;
j<
=5-1;
j++)
if(pro[i].stock>
pro[j].stock)
{
temp=pro[i];
pro[i]=pro[j];
pro[j]=temp;
}
for(intj=0;
cout<
库存量排第"
j+1<
种产品的库存是"
pro[j].stock<
endl;
代码是"
pro[j].code<
名称是"
pro[j].name<
数量是"
pro[j].amount<
销售量是"
pro[j].sales<
endl<
system("
//……产品代码查找……
voidsearch()
intcode[5]={1,2,3,4,5};
boolflag=0;
intb;
cout<
请输入要查询的代码为:
b;
++i)
if(b==pro[i].code)
flag=1;
产品代码:
pro[i].code<
"
<
名称:
pro[i].name<
数量:
pro[i].amount<
销售量:
pro[i].sales<
if(flag==0)
此代码不存在!
}
//……修改已输入产品信息
voidreput()
已输入产品代码分别是:
for(intk=0;
k<
k++)
pro[k].code<
您要修改的产品代码是多少?
code;
=4;
if(pro[i].code==code)break;
if(i==5)
没有您要修改的产品"
else
请输入您要修改的产品的代码"
请输入您要修改的产品的名字"
请输入您要修改的产品的数量"
请输入您要修改的产品的销售量"
pro[i].stock=pro[i].amount-pro[i].sales;
//++++++++++++++desktop+++++++++++++++
********************欢迎进入产品管理系统********************"
endl
<
***请选择您要的服务***"
***1.输入产品信息***"
***2.查看产品信息***"
***3.查找产品信息***"
***4.修改产品信息***"
***0.退出系统***"
***********************************************************"
请输入相应的代码:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 课程设计 设计 一个 简单 产品 管理 系统 毕业论文
![提示](https://static.bdocx.com/images/bang_tan.gif)