欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

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

    • 资源ID:2384724       资源大小:410KB        全文页数:42页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    重庆科技学院C语言程序设计课程设计报告 学 院:_电气与信息工程学院_ 专业班级: 计科1102 学生姓名: 学 号: 设计地点(单位)_计算机自主学习中心 _ _设计题目:_商品订购系统设计 _ _ 完成日期: 2012 年1月13日 指导教师评语: _ _ _ _ 成绩(五级记分制):_ _ 指导教师(签字):_ _ 摘 要通过本软件的学习、编译。可以很好的掌握程序中结构体的运用、界面的使用等,以及更熟练的掌握了使用fprintf与fscanf向文件读写一组数据。可以完全的、熟练的、掌握、运用switch语句来实现多分支选择结构。同时,使用、学习者也能够学习、知道程序的许多细节问题通过每个函数模块模式。以上这些的学习对今后的学习、编译程序,以及学习好程序设计课程都有很大的帮助。关键词:结构体 界面 fread switch语句 课程设计任务书设计题目:商品订购系统设计学生姓名课程名称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)报告格式规范。进度要求周一:明确设计任务,学习相关基础知识周二:熟悉各知识点,进行基础练习周三:根据题目要求,进行设计和实现周四:根据题目要求,进行设计和实现周五:撰写报告,进行答辩参考资料1何钦铭 颜晖.语言程序设计.高等教育出版社.2008年2谭浩强 张基温.语言程序设计教程.高等教育出版社.2006年其它难点提示:首先分析题目的数据结构,看看要操作那些值;然后根据题意设计操作对象的结构。可以使用结构体来描述其中较为复杂的对象例如往来帐目;确定结构体的定义;可以使用数组来保存数据,使用结构体数组来保存各类数据。说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。目录摘 要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附录1271 软件需求分析说明书本软件实现了商品信息的添加、删除、修改、搜索,以及显示商品的全部信息。使用者能够很好的查看商品信息,以及订购商品。本软件的界面需要显示各个单一功能的目录,然后通过switch语句来实现各个单一功能的分支选择,把界面与函数联系起来。最终实现了,通过界面来达到软件的要求。2 系统设计与分析2.1 软件界面设计画出软件全部输入、输出数据的界面,并对每一个界面进行详细的操作说明;2.1.1第一模块界面及实现代码图如下: 图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): ");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用于随时结束程序 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("厂家 : %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 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 = 1;for (i = 0; i < inumber; i+)if(ai.number = bibuy.bgname)j = 0;t = i;/若有商品继续购买项目if(j = 0)printf("nttt订购量:");fflush(stdin);scanf("%d",&bibuy.bmany);if (at.stock >= 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.bnumber);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;else 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);printf("订购量 : %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通过以下代码实现: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("名称 : %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("nnnnnnttt");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");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: system("cls");return ; while(1);printf("tttt");system("pause");system("cls");return;该代码用于商品信息文件的建立生成,存储商品信息和订单。2.2 软件的数据(结构)设计先定义全局变量用于控制商品数量和订单数量如下:#include <stdio.h>#include <windows.h>#include <string.h>#include <assert.h>#include <stdlib.h>int bgnumber = 023; /客户号int inumber = 0; /商品量的统计int ibuy = 0; /订单的统计void secondmain();/管理维护子菜单void jianpanload(); /输入商品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 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;2.3 软件的算法设计画出整个软件的模块图、并对每一个模块图的算法用程序流程图、功是伪代码来实现现行系统组织结构图如下:开始选择菜单序号1浏览商品2订购商品3订单查询4搜索商品5管理菜单0退出系统图2.10主结构模块示意图选择管理菜单1输入商品2增加商品3删除商品4储存商品5储存订单0返回 图2.11 二级结构模块示意图搜索商品信息存在否输入产品相应信息 图2.12搜索模块示意图2.4 数据结构分析使用整型,双精度,字符型定义变量和函数。使用结构体,类等概念实现数据存储。同时也用这些自定义类型定义了变量和函数。体现面向对象设计的特点。软件的实现软件涉及到核心功能模块进行设计实现,并对关键代码进行分析阐述。3 设计体会与小结在做了课程实验以后,我对c+的了解更深了,很多知识得到了巩固,一些不懂的知识也渐渐明了!这其中主要是对类的封装收获最多,在其类的封装过程中,对数据的访问控制也是比较重要,我相信这对以后的学习其它面向对象程序设计有很大帮助!作了产品订购系统程序后,我对类和对象更加熟悉了,作为c+所特有的指针,类和对象在编写程序过程中运用十分广泛,我必须多加练习才能达到一定的水平,类和对象,指针都是非常重要的!在完完整整得做完一个程序后,我对程序的整体性有了一个明确的认识,做程序必须注意程序前后的联系,要具有清晰的思路,程序要具有层次。对整体性的把握至关重要!学习计算机语言最重要的就是上机操作,我深感自己动手能力比较差,在以后学习中,还必须多多上机调试程序,从实践中多积累经验,为以后工作打下坚实基础。致谢通过此次的课程设计,我不仅学会了很多有关c语言的知识,还学会了很多道理。心之所向,所向披靡。只要用心,就能克服种种困难,最终有所收获。此次课程设计要感谢雷亮老师的辅导,以及伍健全老师所授的c语言知识,还有一些同学和学长的指导,由于他们的辅导与帮助才完成了课程设计。谢谢! 签名 姚茂源 日期 2012-1-13参考文献1何钦铭 颜晖.语言程序设计.高等教育出版社.2008年2谭浩强 张基温.语言程序设计教程.高等教育出版社.2006年附录1程序清单及相应的注释:#include <stdio.h>#include <windows.h>#include <string.h>#include <assert.h>#include <stdlib.h>int bgnumber = 023; /客户号int inumber = 0; /商品量的统计int ibuy = 0; /订单的统计void secondmain();/管理维护子菜单void jianpanload(); /输入商品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 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("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: /退出系统的界面system("cls");

    注意事项

    本文(C语言程序设计课程设计报告商品订购系统设计.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开