重庆科技学院《C语言程序设计》课程设计报告1重庆科技学院《C语言程序设计》课程设计报告学院:_电气与信息工程学院_专业班级:学生姓名:学号:设计地点(单位)________计算机自主学习中心__________设计题目:________商品订购系统设计____________完成日期:2012年1月13日指导教师评语:___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________成绩(五级记分制):________________指导教师(签字):________________重庆科技学院《C语言程序设计》课程设计报告2摘要通过本软件的学习、编译。可以很好的掌握程序中结构体的运用、界面的使用等,以及更熟练的掌握了使用fprintf与fscanf向文件读写一组数据。可以完全的、熟练的、掌握、运用switch语句来实现多分支选择结构。同时,使用、学习者也能够学习、知道程序的许多细节问题通过每个函数模块模式。以上这些的学习对今后的学习、编译程序,以及学习好程序设计课程都有很大的帮助。关键词:结构体界面freadswitch语句重庆科技学院《C语言程序设计》课程设计报告3课程设计任务书设计题目:商品订购系统设计学生姓名课程名称C语言程序设计课程设计专业班级计科11地点I305/I306起止时间2012年1月9日~1月13日设计内容及要求请你为校园某店铺设计一个商品订购系统,订购者能使用该系统在浏览了基本商品信息(货号、名称、厂家、产地、存量、单价)后设定商品订购信息产生一条订购记录(日期时间、货号、订购量、客户名、客户地址、客户号),商家根据客户的订购信息组织商品和发货。【题目要求】(1)商品的基本信息(货号、名称、厂家、产地、存量、单价等)要单独保存;(2)商品的订购记录(日期时间、货号、订购量、客户名、客户地址、客户号);(3)系统的各个功能模块要求用函数的形式实现;(4)系统的功能模块应包含商品信息的增删改查,以及订购记录的查询和统计;要求用C语言的文件操作语句将以上所有结果分别保存在文件goodsinfo.out,和bookrecordinfo.out中。【输入/输出要求】(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息;(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。(3)建立一个小系统,至少包括10种产品能供顾客选择根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。设计参数(1)系统分析、设计正确。(2)结果以图表方式显示。(3)界面简洁、美观。(4)报告格式规范。进度要求周一:明确设计任务,学习相关基础知识周二:熟悉各知识点,进行基础练习周三:根据题目要求,进行设计和实现周四:根据题目要求,进行设计和实现周五:撰写报告,进行答辩重庆科技学院《C语言程序设计》课程设计报告4参考资料[1]何钦铭颜晖.《C语言程序设计》.高等教育出版社.2008年[2]谭浩强张基温.《C语言程序设计教程》.高等教育出版社.2006年其它难点提示:首先分析题目的数据结构,看看要操作那些值;然后根据题意设计操作对象的结构。可以使用结构体来描述其中较为复杂的对象例如往来帐目;确定结构体的定义;可以使用数组来保存数据,使用结构体数组来保存各类数据。说明1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。2.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。重庆科技学院《C语言程序设计》课程设计报告5目录摘要.....................................................................2课程设计任务书............................................................31软件需求分析说明书.....................................................62系统设计与分析.........................................................72.1软件界面设计......................................................72.1.1第一模块界面及实现代码.......................................72.1.3第三模块的实现及代码........................................102.1.4第四模块的实现及代码........................................142.1.5第五模块的实现及代码........................................152.1.6第六模块的实现及代码........................................182.2软件的数据(结构)设计...........................................212.3软件的算法设计...................................................222.4数据结构分析.....................................................233设计体会与小结.........................................................24致谢.....................................................................25参考文献.................................................................26附录1...................................................................27重庆科技学院《C语言程序设计》课程设计报告61软件需求分析说明书本软件实现了商品信息的添加、删除、修改、搜索,以及显示商品的全部信息。使用者能够很好的查看商品信息,以及订购商品。本软件的界面需要显示各个单一功能的目录,然后通过switch语句来实现各个单一功能的分支选择,把界面与函数联系起来。最终实现了,通过界面来达到软件的要求。重庆科技学院《C语言程序设计》课程设计报告72系统设计与分析2.1软件界面设计画出软件全部输入、输出数据的界面,并对每一个界面进行详细的操作说明;2.1.1第一模块界面及实现代码图如下:图2.1主菜单的界面图其对应的函数如下:intmain(void){inti;wenbenload();do{system(cls);printf(\n\n\n\n\n\n);printf(**************************欢迎使用商品订购系统v1.0******************************\n);printf(作者:计科1102姚茂源\n);printf(┏━━━━━━━━━━━━━━━━━━━┓\n);printf(┃1.浏览商品信息┃\n);printf(┃2.订购商品┃\n);printf(┃3.订单查询┃\n);重庆科技学院《C语言程序设计》课程设计报告8printf(┃4.搜索商品┃\n);printf(┃5.管理菜单┃\n);printf(┃0.退出系统┃\n);printf(┗━━━━━━━━━━━━━━━━━━━┛\n);printf(********************************************************************************\n);printf(\n\n\t\t请输入你的操作(0~5):);scanf(%d,&i);switch(i){case1:system(cls);scanproduct();break;case2:system(cls);dinggou();break;case3:system(cls);lookdinggou();break;case4:searchproduct();break;case5:secondmain();break;case0://退出系统的界面system(cls);printf(\n\n\n\n\n\n\n\n);printf(\n\n\t\t\t欢迎使用本系统\n\n\n\n\n\t\t\t欢迎再次使用\n);exit(0);//exit用于随时结束程序}}while(1);return0;}其中的wenbenload()用于从文本中导入商品信息。如文本不存在则出现下图重庆科技学院《C语言程序设计》课程设计报告9图2.2商品信息文本不存在的界面图2.1.2第二模块的界面及实现代码如果选择的操作是主界面的1时,而产品文件为建立时会显示下图:图2.3第二模块界面图该程序的实现是通过以下代码实现的:重庆科技学院《C语言程序设计》课程设计报告10voidscanproduct(){inti;system(cls);printf(\t\t\t\t\t商品信息列表\n);for(i=0;iinumber;i++){printf(名称:%s\n,a[i].name);printf(货号:%d\n,a[i].number);printf(厂家:%s\n,a[i].vender);printf(产地:%s\n,a[i].filed);printf(存量:%d\n,a[i].stock);printf(单价:%.2lf\n\n\n,a[i].unvalent);}printf(\n\n\n\n\n\n\t\t\t);printf(返回主菜单\n);printf(\t\t\t);system(pause);return;}2.1.3第三模块的实现及代码在主菜单中选择2进入商品订购界面,界面如下:重庆科技学院《C语言程序设计》课程设计报告11图2.4商品订购图2.5输入商品订单信息该程序实现代码如下:voiddinggou(){charch;inti,j,t,c=1;重庆科技学院《C语言程序设计》课程设计报告12intn=1;intm=0;do{switch(n){case1:system(cls);printf(\t\t\t\t商品信息列表\n);//显示商品的名称、货号信息,以便于订购printf(名称\t货号\t库存\n);for(i=0;iinumber;i++){printf(%s\t%d\t%d\n\n\n,a[i].name,a[i].number,a[i].stock);}printf(\n\n\n);printf(\t\t\t\t商品订单\n);printf(\n\t\t\t请输入你的第%d个订单信息:\n,m+1);printf(\n\t\t\t货号:);fflush(stdin);scanf(%d,&b[ibuy].bgname);//检测是否含有此商品j=1;for(i=0;iinumber;i++){if(a[i].number==b[ibuy].bgname){j