《C语言程序设计》课程设计报告-商品订购系统设计.doc

上传人:椰子壳 文档编号:3259327 上传时间:2019-08-06 格式:DOC 页数:42 大小:655.56KB
返回 下载 相关 举报
《C语言程序设计》课程设计报告-商品订购系统设计.doc_第1页
第1页 / 共42页
《C语言程序设计》课程设计报告-商品订购系统设计.doc_第2页
第2页 / 共42页
《C语言程序设计》课程设计报告-商品订购系统设计.doc_第3页
第3页 / 共42页
《C语言程序设计》课程设计报告-商品订购系统设计.doc_第4页
第4页 / 共42页
《C语言程序设计》课程设计报告-商品订购系统设计.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《《C语言程序设计》课程设计报告-商品订购系统设计.doc》由会员分享,可在线阅读,更多相关《《C语言程序设计》课程设计报告-商品订购系统设计.doc(42页珍藏版)》请在三一文库上搜索。

1、重庆科技学院C语言程序设计课程设计报告重庆科技学院C语言程序设计课程设计报告 学 院:_电气与信息工程学院_ 专业班级: 计科1102 学生姓名: 学 号: 设计地点(单位)_计算机自主学习中心 _ _设计题目:_商品订购系统设计 _ _ 完成日期: 2012 年1月13日 指导教师评语: _ _ _ _ 成绩(五级记分制):_ _ 指导教师(签字):_ _ 摘 要通过本软件的学习、编译。可以很好的掌握程序中结构体的运用、界面的使用等,以及更熟练的掌握了使用fprintf与fscanf向文件读写一组数据。可以完全的、熟练的、掌握、运用switch语句来实现多分支选择结构。同时,使用、学习者也能

2、够学习、知道程序的许多细节问题通过每个函数模块模式。以上这些的学习对今后的学习、编译程序,以及学习好程序设计课程都有很大的帮助。关键词:结构体 界面 fread switch语句 课程设计任务书设计题目:商品订购系统设计学生姓名课程名称C语言程序设计课程设计专业班级计科11地 点I305/I306起止时间2012年1月9日1月13日设计内容及要求请你为校园某店铺设计一个商品订购系统,订购者能使用该系统在浏览了基本商品信息(货号、名称、厂家、产地、存量、单价)后设定商品订购信息产生一条订购记录(日期时间、货号、订购量、客户名、客户地址、客户号),商家根据客户的订购信息组织商品和发货。【题目要求】

3、 (1)商品的基本信息(货号、名称、厂家、产地、存量、单价等)要单独保存; (2)商品的订购记录(日期时间、货号、订购量、客户名、客户地址、客户号);(3)系统的各个功能模块要求用函数的形式实现; (4)系统的功能模块应包含商品信息的增删改查,以及订购记录的查询和统计;要求用C语言的文件操作语句将以上所有结果分别保存在文件goodsinfo.out,和bookrecordinfo.out中。【输入/输出要求】 (1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息; (2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的

4、数据内容、格式及结束方式等。(3)建立一个小系统,至少包括10种产品能供顾客选择根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。设计参数(1)系统分析、设计正确。(2)结果以图表方式显示。(3)界面简洁、美观。(4)报告格式规范。进度要求周一:明确设计任务,学习相关基础知识周二:熟悉各知识点,进行基础练习周三:根据题目要求,进行设计和实现周四:根据题目要求,进行设计和实现周五:撰写报告,进行答辩参考资料1何钦铭 颜晖.语言程序设计.高等教育出版社.2008年2谭浩强 张基温.语言程序设计教程.高等教育出版社.2006年其它难点提示:首先分析题目的数据结构,看看

5、要操作那些值;然后根据题意设计操作对象的结构。可以使用结构体来描述其中较为复杂的对象例如往来帐目;确定结构体的定义;可以使用数组来保存数据,使用结构体数组来保存各类数据。说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。目录摘 要2课程设计任务书31 软件需求分析说明书62 系统设计与分析72.1 软件界面设计72.1.1第一模块界面及实现代码72.1.3 第三模块的实现及代码102.1.4 第四模块的实现及代码142.1.5 第五模块的实现及代码152.1.6

6、 第六模块的实现及代码182.2 软件的数据(结构)设计212.3 软件的算法设计222.4 数据结构分析233 设计体会与小结24致谢25参考文献26附录1271 软件需求分析说明书本软件实现了商品信息的添加、删除、修改、搜索,以及显示商品的全部信息。使用者能够很好的查看商品信息,以及订购商品。本软件的界面需要显示各个单一功能的目录,然后通过switch语句来实现各个单一功能的分支选择,把界面与函数联系起来。最终实现了,通过界面来达到软件的要求。2 系统设计与分析2.1 软件界面设计画出软件全部输入、输出数据的界面,并对每一个界面进行详细的操作说明;2.1.1第一模块界面及实现代码图如下:

7、图2.1主菜单的界面图其对应的函数如下:int main(void)int i;wenbenload();dosystem(cls);printf(nnnnnn);printf(*欢迎使用商品订购系统v1.0*n);printf( 作者: 计科1102 姚茂源n);printf( n);printf( 1.浏览商品信息 n);printf( 2.订购商品 n);printf( 3.订单查询 n);printf( 4.搜索商品 n);printf( 5.管理菜单 n);printf( 0.退出系统 n);printf( n);printf(*n);printf(nntt请输入你的操作(05):

8、);scanf(%d,&i); switch(i)case 1: system(cls);scanproduct(); break;case 2: system(cls); dinggou(); break;case 3: system(cls);lookdinggou();break;case 4: searchproduct();break;case 5: secondmain();break;case 0: /退出系统的界面system(cls);printf(nnnnnnnn); printf(nnttt欢迎使用本系统nnnnnttt欢迎再次使用n);exit(0); /exit用于随

9、时结束程序 while(1); return 0;其中的wenbenload()用于从文本中导入商品信息。如文本不存在则出现下图 图2.2商品信息文本不存在的界面图2.1.2 第二模块的界面及实现代码如果选择的操作是主界面的1时,而产品文件为建立时会显示下图:图2.3第二模块界面图该程序的实现是通过以下代码实现的:void scanproduct()int i;system(cls);printf(ttttt商品信息列表n); for (i = 0; i inumber; i+)printf(名称 : %sn,ai.name);printf(货号 : %dn,ai.number);printf

10、(厂家 : %sn,ai.vender);printf(产地 : %sn,ai.filed);printf(存量 : %dn,ai.stock);printf(单价 : %.2lfnnn,ai.unvalent);printf(nnnnnnttt);printf(返回主菜单n);printf(ttt);system(pause);return;2.1.3 第三模块的实现及代码在主菜单中选择2进入商品订购界面,界面如下: 图2.4商品订购 图2.5 输入商品订单信息该程序实现代码如下:void dinggou() char ch;int i, j, t, c = 1;int n = 1;int

11、m = 0;doswitch(n)case 1:system(cls);printf(tttt商品信息列表n);/显示商品的名称、货号信息,以便于订购printf(名称t 货号t 库存n);for (i = 0; i inumber; i+)printf(%st %dt %dnnn,ai.name,ai.number,ai.stock);printf(nnn);printf(tttt商品订单n);printf(nttt请输入你的第%d个订单信息:n,m + 1);printf(nttt货号:);fflush(stdin);scanf(%d,&bibuy.bgname);/检测是否含有此商品j

12、= 1;for (i = 0; i = bibuy.bmany)at.stock = at.stock - bibuy.bmany; /顾客购买后商品的库存计算printf(nttt日期时间:);fflush(stdin);scanf(%d,&bibuy.btime);printf(nttt客户名:);fflush(stdin);gets(bibuy.bname);printf(nttt客户地址:);fflush(stdin);gets(bibuy.baddress);printf(nttt客户号:);bibuy.bnumber = bgnumber;printf(%dn,bibuy.bnum

13、ber);bgnumber+;ibuy+;m+;printf(nnntttt);system(pause);elseprintf(nnttt订购数目超出库存n);printf(ttt);system(pause);/若没有商品的提示及操作elseprintf(nnttt查无此货n);printf(ttt);system(pause);case 2:printf(是否继续输入订购?(Y/N);fflush(stdin);scanf(%c,&ch);if(ch = N | ch = n)c = 0;break;else if(ch = Y | ch = y)c = 0;n = 1;break;el

14、se if(ch != n | ch != N | ch != Y | ch != y)n = 0;c = 1;break;case 0:if(c = 1)n = 2;while(ch != n & ch != N);system(cls);return ;2.1.4 第四模块的实现及代码在主菜单中选择3进入商品订购界面,界面如下: 图2.6订单查询界面该程序实现代码如下:void lookdinggou() int i;system(cls);printf(ttttt订单列表n); for (i = 0; i ibuy; i+)printf(货号 : %dn,bi.bgname);print

15、f(订购量 : %dn,bi.bmany);printf(日期时间 : %dn,bi.btime);printf(客户名 : %sn,bi.bname);printf(客户地址 : %sn,bi.baddress);printf(客户号 : %dnnn,bi.bnumber);printf(nnnnnnttt);printf(返回主菜单n);printf(ttt);system(pause);return;该代码中用到了指针,并用到了链表的建立和删除,当然也涉及到了结构体。2.1.5 第五模块的实现及代码在主菜单中选择4进入商品订购界面,界面如下: 图2.7商品搜索1 图2.8商品搜索2通过以

16、下代码实现:void searchproduct()int i;int j;char ch;int n = 1;doswitch(n)case 1:system(cls);printf(tttt商品列表n);/显示商品的名称、货号信息,以便于下部的删除for (i = 0; i inumber; i+)printf(名称 : %sn,ai.name);printf(ID : %dn,i);printf(库存 : %dnnn,ai.stock);/商品的搜索printf(nnntttt请输入你要搜索商品的ID:);scanf(%d,&j);if(0=j&j=inumber)printf(名称 :

17、 %sn,aj.name);printf(货号 : %dn,aj.number);printf(厂家 : %sn,aj.vender);printf(产地 : %sn,aj.filed);printf(存量 : %dn,aj.stock);printf(单价 : %.2lfnnn,aj.unvalent);case 2:printf(是否继续搜索商品?(Y/N);fflush(stdin);scanf(%c,&ch);if(ch = N| ch = n)break;if(ch = Y| ch = y)n = 1;break;while(ch != n & ch != N);printf(nnn

18、nnnttt);printf(返回主菜单!n);printf(ttt);system(pause);return;2.1.6 第六模块的实现及代码该代码用于管理者使用的,界面如下: 图2.9 二级菜单该代码如下:void secondmain()int i;dosystem(cls);printf(nnnnnnn);printf(*管理维护子菜单*nn);printf( n);printf( 1.输入全部商品 n);printf( 2.增加商品 n);printf( 3.删除商品 n);printf( 4.储存商品 n);printf( 5.储存订单 n);printf( 0.返回上一级 n)

19、;printf( nnn);printf(*nnnnn);printf(nntt请输入你所要选择的功能(05): );scanf(%d,&i); switch(i)case 1: system(cls);jianpanload ();break;case 2: system(cls); addproduct(); break;case 3: system(cls); deleteproduct(); break;case 4: system(cls); saveproduct(); break;case 5: system(cls); savedinggou(); break;case 0:

20、system(cls);return ; while(1);printf(tttt);system(pause);system(cls);return;该代码用于商品信息文件的建立生成,存储商品信息和订单。2.2 软件的数据(结构)设计先定义全局变量用于控制商品数量和订单数量如下:#include #include #include #include #include int bgnumber = 023; /客户号int inumber = 0; /商品量的统计int ibuy = 0; /订单的统计void secondmain();/管理维护子菜单void jianpanload();

21、/输入商品void scanproduct(); /浏览商品void searchproduct(); /搜索商品void dinggou(); /订购商品void lookdinggou(); /查询订单void addproduct(); /增加商品void deleteproduct(); /删除商品void saveproduct(); /保存商品void savedinggou(); /保存订单void wenbenload(); /从文本导入商品struct productchar name30;/商品名int number;/货号char vender30;/厂家char fil

22、ed100;/产地int stock;/存量double unvalent;/单价;struct product a100;struct dinggou int bgname; /货号int bmany; /订购量int btime; /日期时间char bname100; /客户名char baddress100; /客户地址int bnumber; /客户号;struct dinggou b100;2.3 软件的算法设计画出整个软件的模块图、并对每一个模块图的算法用程序流程图、功是伪代码来实现现行系统组织结构图如下:开始选择菜单序号1浏览商品2订购商品3订单查询4搜索商品5管理菜单0退出系

23、统图2.10主结构模块示意图选择管理菜单1输入商品2增加商品3删除商品4储存商品5储存订单0返回 图2.11 二级结构模块示意图搜索商品信息存在否输入产品相应信息 图2.12搜索模块示意图2.4 数据结构分析使用整型,双精度,字符型定义变量和函数。使用结构体,类等概念实现数据存储。同时也用这些自定义类型定义了变量和函数。体现面向对象设计的特点。软件的实现软件涉及到核心功能模块进行设计实现,并对关键代码进行分析阐述。3 设计体会与小结在做了课程实验以后,我对c+的了解更深了,很多知识得到了巩固,一些不懂的知识也渐渐明了!这其中主要是对类的封装收获最多,在其类的封装过程中,对数据的访问控制也是比较

24、重要,我相信这对以后的学习其它面向对象程序设计有很大帮助!作了产品订购系统程序后,我对类和对象更加熟悉了,作为c+所特有的指针,类和对象在编写程序过程中运用十分广泛,我必须多加练习才能达到一定的水平,类和对象,指针都是非常重要的!在完完整整得做完一个程序后,我对程序的整体性有了一个明确的认识,做程序必须注意程序前后的联系,要具有清晰的思路,程序要具有层次。对整体性的把握至关重要!学习计算机语言最重要的就是上机操作,我深感自己动手能力比较差,在以后学习中,还必须多多上机调试程序,从实践中多积累经验,为以后工作打下坚实基础。致谢通过此次的课程设计,我不仅学会了很多有关c语言的知识,还学会了很多道理

25、。心之所向,所向披靡。只要用心,就能克服种种困难,最终有所收获。此次课程设计要感谢雷亮老师的辅导,以及伍健全老师所授的c语言知识,还有一些同学和学长的指导,由于他们的辅导与帮助才完成了课程设计。谢谢! 签名 姚茂源 日期 2012-1-13参考文献1何钦铭 颜晖.语言程序设计.高等教育出版社.2008年2谭浩强 张基温.语言程序设计教程.高等教育出版社.2006年附录1程序清单及相应的注释:#include #include #include #include #include int bgnumber = 023; /客户号int inumber = 0; /商品量的统计int ibuy =

26、 0; /订单的统计void secondmain();/管理维护子菜单void jianpanload(); /输入商品void scanproduct(); /浏览商品void searchproduct(); /搜索商品void dinggou(); /订购商品void lookdinggou(); /查询订单void addproduct(); /增加商品void deleteproduct(); /删除商品void saveproduct(); /保存商品void savedinggou(); /保存订单void wenbenload(); /从文本导入商品struct produc

27、tchar name30;/商品名int number;/货号char vender30;/厂家char filed100;/产地int stock;/存量double unvalent;/单价;struct product a100;struct dinggou int bgname; /货号int bmany; /订购量int btime; /日期时间char bname100; /客户名char baddress100; /客户地址int bnumber; /客户号;struct dinggou b100;int main(void)int i;wenbenload();dosystem

28、(cls);printf(nnnnnn);printf(*欢迎使用商品订购系统v1.0*n);printf( 作者: 计科1102 姚茂源n);printf( n);printf( 1.浏览商品信息 n);printf( 2.订购商品 n);printf( 3.订单查询 n);printf( 4.搜索商品 n);printf( 5.管理菜单 n);printf( 0.退出系统 n);printf( n);printf(*n);printf(nntt请输入你的操作(05): );scanf(%d,&i); switch(i)case 1: system(cls);scanproduct(); break;case 2: system(cls); dinggou(); break;case 3: system(cls);lookdinggou();break;case 4: searchproduct();break;case 5: secondmain();break;case 0:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1