《C语言程序设计》课程设计报告商品订购系统设计Word文档格式.docx
- 文档编号:779794
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:52
- 大小:304.61KB
《C语言程序设计》课程设计报告商品订购系统设计Word文档格式.docx
《《C语言程序设计》课程设计报告商品订购系统设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》课程设计报告商品订购系统设计Word文档格式.docx(52页珍藏版)》请在冰点文库上搜索。
请你为校园某店铺设计一个商品订购系统,订购者能使用该系统在浏览了基本商品信息(货号、名称、厂家、产地、存量、单价)后设定商品订购信息产生一条订购记录(日期时间、货号、订购量、客户名、客户地址、客户号),商家根据客户的订购信息组织商品和发货。
【题目要求】
(1)商品的基本信息(货号、名称、厂家、产地、存量、单价等)要单独保存;
(2)商品的订购记录(日期时间、货号、订购量、客户名、客户地址、客户号);
(3)系统的各个功能模块要求用函数的形式实现;
(4)系统的功能模块应包含商品信息的增删改查,以及订购记录的查询和统计;
要求用C语言的文件操作语句将以上所有结果分别保存在文件goodsinfo.out,和中。
【输入/输出要求】
(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。
进入每个操作后,根据程序的提示输入相应的信息;
(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
(3)建立一个小系统,至少包括10种产品能供顾客选择
根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。
设计
参数
(1)系统分析、设计正确。
(2)结果以图表方式显示。
(3)界面简洁、美观。
(4)报告格式规范。
进度
要求
周一:
明确设计任务,学习相关基础知识
周二:
熟悉各知识点,进行基础练习
周三:
根据题目要求,进行设计和实现
周四:
周五:
撰写报告,进行答辩
参考资料
[1]何钦铭颜晖.《C语言程序设计
[2]谭浩强张基温.《C语言程序设计
其它
难点提示:
首先分析题目的数据结构,看看要操作那些值;
然后根据题意设计操作对象的结构。
可以使用结构体来描述其中较为复杂的对象例如往来帐目;
确定结构体的定义;
可以使用数组来保存数据,使用结构体数组来保存各类数据。
说明
1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。
2.若填写内容较多可另纸附后。
3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
1软件需求分析说明书
本软件实现了商品信息的添加、删除、修改、搜索,以及显示商品的全部信息。
使用者能够很好的查看商品信息,以及订购商品。
本软件的界面需要显示各个单一功能的目录,然后通过switch语句来实现各个单一功能的分支选择,把界面与函数联系起来。
最终实现了,通过界面来达到软件的要求。
2系统设计与分析
2.1软件界面设计
画出软件全部输入、输出数据的界面,并对每一个界面进行详细的操作说明;
第一模块界面及实现代码
图如下:
主菜单的界面图
其对应的函数如下:
intmain(void)
{
inti;
wenbenload();
do
{
system("
cls"
);
printf("
\n\n\n\n\n\n"
**************************欢迎使用商品订购系统v1.0******************************\n"
作者:
计科1102姚茂源\n"
┏━━━━━━━━━━━━━━━━━━━┓\n"
┃1.浏览商品信息┃\n"
┃2.订购商品┃\n"
┃3.订单查询┃\n"
┃4.搜索商品┃\n"
┃5.管理菜单┃\n"
┃0.退出系统┃\n"
┗━━━━━━━━━━━━━━━━━━━┛\n"
********************************************************************************\n"
printf("
\n\n\t\t请输入你的操作(0~5):
"
scanf("
%d"
&
i);
switch(i)
{
case1:
system("
scanproduct();
break;
case2:
dinggou();
case3:
lookdinggou();
break;
case4:
searchproduct();
case5:
secondmain();
case0:
//退出系统的界面
printf("
\n\n\n\n\n\n\n\n"
\n\n\t\t\t欢迎使用本系统\n\n\n\n\n\t\t\t欢迎再次使用\n"
exit(0);
//exit用于随时结束程序}
}while
(1);
return0;
}
其中的wenbenload()用于从文本中导入商品信息。
如文本不存在则出现下图
图商品信息文本不存在的界面图
第二模块的界面及实现代码
如果选择的操作是主界面的1时,而产品文件为建立时会显示下图:
图第二模块界面图
该程序的实现是通过以下代码实现的:
voidscanproduct()
system("
\t\t\t\t\t商品信息列表\n"
for(i=0;
i<
inumber;
i++)
名称:
%s\n"
a[i].name);
货号:
%d\n"
a[i].number);
厂家:
a[i].vender);
产地:
a[i].filed);
存量:
a[i].stock);
单价:
%.2lf\n\n\n"
a[i].unvalent);
}
\n\n\n\n\n\n\t\t\t"
返回主菜单\n"
\t\t\t"
pause"
return;
第三模块的实现及代码
在主菜单中选择2进入商品订购界面,界面如下:
图2.4商品订购
图2.5输入商品订单信息
该程序实现代码如下:
voiddinggou()
charch;
inti,j,t,c=1;
intn=1;
intm=0;
switch(n)
\t\t\t\t商品信息列表\n"
//显示商品的名称、货号信息,以便于订购
名称\t货号\t库存\n"
for(i=0;
{
printf("
%s\t%d\t%d\n\n\n"
a[i].name,a[i].number,a[i].stock);
}
\n\n\n"
\t\t\t\t商品订单\n"
\n\t\t\t请输入你的第%d个订单信息:
\n"
m+1);
\n\t\t\t货号:
"
fflush(stdin);
scanf("
b[ibuy].bgname);
//检测是否含有此商品
j=1;
if(a[i].number==b[ibuy].bgname)
{
j=0;
t=i;
}
//若有商品继续购买项目
if(j==0)
\n\t\t\t订购量:
fflush(stdin);
scanf("
b[ibuy].bmany);
if(a[t].stock>
=b[ibuy].bmany)
a[t].stock=a[t].stock-b[ibuy].bmany;
//顾客购买后商品的库存计算
printf("
\n\t\t\t日期时间:
fflush(stdin);
scanf("
b[ibuy].btime);
\n\t\t\t客户名:
gets(b[ibuy].bname);
\n\t\t\t客户地址:
gets(b[ibuy].baddress);
\n\t\t\t客户号:
b[ibuy].bnumber=bgnumber;
%d\n"
b[ibuy].bnumber);
bgnumber++;
ibuy++;
m++;
\n\n\n\t\t\t\t"
system("
else
\n\n\t\t\t订购数目超出库存\n"
//若没有商品的提示及操作
else
\n\n\t\t\t查无此货\n"
system("
是否继续输入订购?
(Y/N)"
%c"
ch);
if(ch=='
N'
||ch=='
n'
)
c=0;
break;
elseif(ch=='
Y'
y'
n=1;
elseif(ch!
='
||ch!
n=0;
c=1;
if(c==1)
n=2;
}
}while(ch!
&
&
ch!
return;
第四模块的实现及代码
在主菜单中选择3进入商品订购界面,界面如下:
图2.6订单查询界面
voidlookdinggou()
\t\t\t\t\t订单列表\n"
ibuy;
b[i].bgname);
订购量:
b[i].bmany);
日期时间:
b[i].btime);
客户名:
b[i].bname);
客户地址:
b[i].baddress);
客户号:
%d\n\n\n"
b[i].bnumber);
该代码中用到了指针,并用到了链表的建立和删除,当然也涉及到了结构体。
第五模块的实现及代码
在主菜单中选择4进入商品订购界面,界面如下:
图2.7商品搜索1
图2.8商品搜索2
通过以下代码实现:
voidsearchproduct()
intj;
{
\t\t\t\t商品列表\n"
//显示商品的名称、货号信息,以便于下部的删除
ID:
i);
库存:
//商品的搜索
\n\n\n\t\t\t\t请输入你要搜索商品的ID:
j);
if(0<
=j&
j<
=inumber)
a[j].name);
a[j].number);
a[j].vender);
a[j].filed);
a[j].stock);
a[j].unvalent);
是否继续搜索商品?
||ch=='
if(ch=='
Y'
返回主菜单!
第六模块的实现及代码
该代码用于管理者使用的,界面如下:
图2.9二级菜单
该代码如下:
voidsecondmain()
do
{
\n\n\n\n\n\n\n"
******************************管理维护子菜单************************************\n\n"
┃1.输入全部商品┃\n"
┃2.增加商品┃\n"
┃3.删除商品┃\n"
┃4.储存商品┃\n"
┃5.储存订单┃\n"
┃0.返回上一级┃\n"
┗━━━━━━━━━━━━━━━━━━━┛\n\n\n"
********************************************************************************\n\n\n\n\n"
\n\n\t\t请输入你所要选择的功能(0~5):
switch(i)
case1:
jianpanload();
break;
case2:
addproduct();
case3:
deleteproduct();
case4:
saveproduct();
case5:
savedinggou();
case0:
return;
}while
(1);
\t\t\t\t"
}该代码用于商品信息文件的建立生成,存储商品信息和订单。
2.2软件的数据(结构)设计
先定义全局变量用于控制商品数量和订单数量如下:
#include<
stdio.h>
windows.h>
string.h>
assert.h>
stdlib.h>
intbgnumber=023;
//客户号
intinumber=0;
//商品量的统计
intibuy=0;
//订单的统计
voidsecondmain();
//管理维护子菜单
voidjianpanload();
//输入商品
voidscanproduct();
//浏览商品
voidsearchproduct();
//搜索商品
voiddinggou();
//订购商品
voidlookdinggou();
//查询订单
voidaddproduct();
//增加商品
voiddeleteproduct();
//删除商品
voidsaveproduct();
//保存商品
voidsavedinggou();
//保存订单
voidwenbenload();
//从文本导入商品
structproduct
charname[30];
//商品名
intnumber;
//货号
charvender[30];
//厂家
charfiled[100];
//产地
intstock;
//存量
doubleunvalent;
//单价
};
structproducta[100];
structdinggou
intbgname;
//货号
intbmany;
//订购量
intbtime;
//日期时间
charbname[100];
//客户名
charbaddress[100];
//客户地址
intbnumber;
//客户号
structdinggoub[100];
2.3软件的算法设计
画出整个软件的模块图、并对每一个模块图的算法用程序流程图、功是伪代码来实现
现行系统组织结构图如下:
图2.10主结构模块示意图
图2.11二级结构模块示意图
图2.12搜索模块示意图
2.4数据结构分析
使用整型,双精度,字符型定义变量和函数。
使用结构体,类等概念实现数据存储。
同时也用这些自定义类型定义了变量和函数。
体现面向对象设计的特点。
软件的实现
软件涉及到核心功能模块进行设计实现,并对关键代码进行分析阐述。
3设计体会与小结
在做了课程实验以后,我对c++的了解更深了,很多知识得到了巩固,一些不懂的知识也
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 课程设计 报告 商品 订购 系统 设计