




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、延边大学 工学院计算机科学与技术学科C程序设计项目实践报告2013-2014学年度第2学期课程名称 C程序设计项目实践 设计题目 花店管理系统 学 号 学生姓名 邵小锐 同组学生 王志宏 辛东杰 何淑敏 专业年级 2013级数字媒体技术 指导教师 赵亚慧 副教授 2014 年 4 月 8 日目 录1. 设计任务书21.1 题目与要求31.2 本程序涉及的知识点32.系统功能总体设计22.1功能需求分析22.2系统功能模块划分 23. 详细设计43.1重要数据的数据结构设计 43.2子模块函数的设计 53.3主要功能模块的流程分析与设计54. C程序设计项目实践总结64.1设计中的难点及其解决方
2、法64.2本设计存在的不足64.3小组人员分工说明65.致谢66.参考文献6说 明1、设计的目的1)复习巩固C语言的基础知识,进一步加深对C语言编程的理解和掌握;2)利用所学知识,理论和实际结合,利用资源,采用模块化的结构,使用模仿修改自主设计相结合的方法,锻炼学生综合分析解决实际问题的编程能力;3)培养学生在项目开发中团队合作精神、创新意识及实战能力。2、设计的任务根据学生的实际情况,进行分组选题。第一阶段主要的课程设计题目如下(学生也可自主选题):1)、图书管理系统 2)、工资管理系统3)、学生成绩管理系统 4)、通讯录管理系统5)、职工档案管理系统 6)、花店管理系统7)、选修课程管理系
3、统 8)、校级运动会管理系统9)、超市仓库管理系统 10)、毕业设计题目管理系统第二阶段主要的课程设计题目如下(学生也可自主选题):1)、迷宫游戏 2)、俄罗斯方块游戏3)、五子棋游戏 4)、贪吃蛇游戏5)、扫雷游戏 6)、潜艇大战游戏7)、简单计算器 8)、文本编辑器9)、画图板 10)、万年历11)、电子时钟 12)、推箱子游戏13)、弹力球游戏 14)、快快吃豆游戏15)、弹力球游戏 16)、24点游戏17)、猜数字游戏课程设计采用学生自主设计和指导老师辅导相结合的方式。3、设计要求与设计报告(一) 设计要求:1)、任选上述题目之一,或自选题目。2)、模块化的程序设计3)、锯齿形的程序书
4、写格式。 4)、必须通过编译连接运行(二)设计报告:1)、设计目的和任务2、总体设计:包括程序设计组成框图、流程图。3)、详细设计:包括模块功能说明:函数功能、入口及出口参数说明,函数调用关系描述等。4)、调试与测试:包括调试方法,测试结果分析与讨论,测试过程中遇到的主要问题及采取的解决措施。5)、源程序清单和执行结果:清单中应有足够的注释。1.题目与要求: 花店管理系统 具体功能:(1) 鲜花信息管理 鲜花的库存量 入口提示输入鲜花信息,以是否超出现有鲜花种类进行循环,若是,则退出。用enter函数来输入鲜花的各项值(名称、颜色、数量、单价),并判断是否有所选的颜色若没有,则重新输入。该函数
5、接收来自键盘输入,把输入数据与库存量对应。入口提示输入鲜花信息, 用put函数输入现有库存的鲜花数据(2) 顾客对鲜花的需求 顾客查询。(用put函数) 按照花名查询。判断是否以花名查询,若是,从第一个和库存量比较是否有该种花,若有,输出该种花的信息。 按照价格查询。若不是以花名查询,则判断是否以价格查询,逐个与库存量比较,看是否有该种价位的花,若有,输出该花的信息。 按照颜色查询。若都不是按前两种,则是按颜色查询。 顾客买花。(用buy函数) 入口提示信息,输入花名、价格,选择种类和数量。 与库存中有的花进行逐个查询到结束为止,判断是否是最后一朵花,若不是,则输出所要支付的钱,若是,则没查到
6、相应的花。编程思路:首先在程序开始处,引入了头文件,可以直接调用函数,然后对花的种类和五项命令进行了宏定义,接着枚举类型定义了花的颜色,定义了结构体数组,并且编写了”enter_data()”,”put_data()”,“buy()”,”find()”,”changecmd()”五个子函数,最后在mian函数的内部对各个子函数进行调用,实现综合管理。 客户所需鲜花客 户花 店 管 理 系 统供 应 商客户所需付款查询鲜花信息客户资料发票采购退货信息付款信息供应商信息发货单发票2 主函数流程图 开 始 系统初始化 退 出判断是否为(quit)命令 接受键盘命令退 出Buy() enter()Fi
7、nd()命令转换(把字符命令转换为数字命令)是Put()否void enter_data(FLOWER flower); /*定义库存输入函数*/float buy(FLOWER flower); /*定义销售函数*/void put_data(FLOWER flower); /*定义库存输出函数*/void findflower(FLOWER flower);/*定义查询函数*/int changecmd(char cmd);/*定义命令解释函数*/3详细设计Buy()流程图()否是是入 口提 示 信 息输入花名,价格选择花的种类和数量从i=0起,到第i个花开始比较是否出现该种花输出计算价格
8、出 口是否是最后一朵花返 回 i+否/*询问用户购买的鲜花的种类和株的数量,计算总的价格的函数定义*/float buy(FLOWER flower)int i;char name20;COLOR color;float rate,price;int amount,flag;printf(nPlease enter name and rate you want to buy:n);/*输出需要的鲜花的名字和价格*/scanf(%s%f,name,&rate);flag=1;while(flag) /*客户购买花的情况*/printf(0-redt1-whitet2-yellowt3-purpl
9、et4-oranten);printf(Please choose a color:n);scanf(%d,&color);if(color=0&color=4)flag=0;elseprintf(Not have this colorn);printf(Please amount you want to buy:n);/*输出需要的花的数量*/scanf(%d,&amount);for(i=0;iSIZE;i+)if(floweri.rate=rate&strcmp(,name)=0&floweri.color=color)/*顾客所需要的花现有库存量都符合*/bre
10、ak;if(i=SIZE)printf(nNot fount the flower you buyn);/*没有要买的花*/price=0;else if(floweri.amountamount)/*所购花数量不够*/printf(nAmount not enoughtn);price=0;elsefloweri.amount=floweri.amount-amount;price=floweri.rate*amount; /*找到,剩余数量够,可以买花,并计算总价格*/return price;Put()流程图 入 口 输出花的各项值 否判 断 isize 是输出花的各项的值进行switc
11、h,根据所需内容,选择执行。输出花的单价和数量出 口/*输出现有库存的鲜花数据的函数定义*/void put_data(FLOWER flower)int i;printf(nName Color Rate Amountn);for(i=0;iSIZE;i+)printf(%-12s,);switch(floweri.color)case red:printf(%-8s,red);break;case white:printf(%-8s,white);break;case yellow:printf(%-8s,yellow);break;case purple:prin
12、tf(%-8s,purple);break;case orange:printf(%-8s,orange);break;printf(%-10.2f%-10dn,floweri.rate,floweri.amount); Enter()流程图没有所要选择的颜色输入你选择的颜色判断是否有所选择的颜色输入花的各项值判 断isize提示信息入 口出 口否是是否i+是否i+是否i+Find()流程图 入 口提 示 信 息输入查找类型是否按名字查询从i=0,到第i个花开始比较是否有这种花输出花名,颜色,单价数量出 口是否按价格查询从i=0,到第i个花开始比较是否有这种花输出花名,颜色,单价数量出 口是否
13、按颜色查询从i=0,到第i个花开始比较是否有这种花输出花名,颜色,单价出 口/*库存输入函数*/*该函数接受键盘输入 把输入数据与库存对应*/void enter_data(FLOWER flower)int i,flag;for(i=0;iredt1-whitet2-yellowt3-purplet4-oranten);/*横向制表符*/printf(Please choose a color:n);scanf(%d,&floweri.color);if(floweri.color=0&floweri.colorfind as namet 1-find as rate t 2-find as
14、 colorn);scanf(%d,&rcmd);switch(rcmd)case 0: /*按花名查询*/printf(In put a flower name:n);scanf(%s,name);for(i=0;iSIZE;i+)if(=name)printf(%st%dt%ft%dn,,floweri.color,floweri.rate,floweri.amount);break;case 1: /*按数量查询*/printf(In put a flower rate:n);scanf(%f,&rate);for(i=0;iSIZE;i+
15、)if(floweri.rate=rate)printf(%st%dt%ft%dn,,floweri.color,floweri.rate,floweri.amount);break;case 2: /*按颜色查询*/printf(In put a flower color:n);scanf(%d,&color);for(i=0;iSIZE;i+)if(floweri.color=color)printf(%st%dt%ft%dn,,floweri.color,floweri.rate,floweri.amount);break;主函数程序#in
16、clude stdio.h#include stdlib.h/*c语言标准库函数*/#include string.h/*包含处理函数的头文件,主要这里是处理字符串*/#include dos.h/*文件包含命令 ,用来包含这些头文件*/#define SIZE 8/*对花的种类进行宏定义*/#define CMDSIZE 5/*对五种命令函数进行了宏定义*/typedef enum /*枚举类型定义*/red,white,yellow,purple,orangeCOLOR;/*花的颜色进行了枚举,从而进行把字符命令转换成数字命令*/typedef struct /*结构体定义*/char n
17、ame20; /*花的名字*/COLOR color;/*枚举类型*/float rate;/*单价*/int amount;/*花的数量*/FLOWER;/*名叫的结构体*/char *Dcmd=buy,put,look,find,help; /*定义了5项命令的指针类型*/void enter_data(FLOWER flower); /*定义库存输入函数*/float buy(FLOWER flower); /*定义销售函数*/void put_data(FLOWER flower); /*定义库存输出函数*/void findflower(FLOWER flower);/*定义查询函数
18、*/int changecmd(char cmd);/*定义命令解释函数*/void main()FLOWER flowerSIZE;/*含8个元素的结构体数组*/float price;/*花的价格*/char cmd5=0,0,0,0,0;/*字符串数组cmd,用于存放五种函数指针*/char exits5=quit;/*字符数组用于存放字符串quit*/int recmd=0;/*再次访问命令,初始化为0*/int i;for(i=0;iSIZE;i+)memset(,0,20); /*成员设置,各类型初始化,对结构体花名做清零操作*/floweri.rate=0
19、;floweri.amount=0;floweri.color=white;printf(花店经营管理系统n);printf(nYou can input buy,look,put,help,find:n);/*输入你所要查找鲜花信息的哪部分*/while(1) /*命令转换,把字符转换为数字,没有限制的循环*/scanf(%s,cmd);/*输入你所需要系统执行的命令*/if(strcmp(cmd,exits)=0)/*当命令为放弃的时候即为0,结束操作,类似与你进去以后又不想继续访问后的操作,通过比较五项操作命令与quit字符穿的大小比较*/exit(1);/*控制程序流程*/recmd=changecmd(cmd);/*把解释处理函数的返回值赋值给再次操作处理命令*/switch(recmd)/*利用开关语句循环来实现命令*/case 0:printf(a bad command please input a corrcet cmd n); /*输入了错误命令信息的提示*/break;case 1:price=buy(flower
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训茶叶知识计划表课件
- 2025年地方特色餐饮品牌独家代理权转让及运营合作协议
- 2025年公立医院行政支持岗位劳动合同模板下载
- 2025年体育场馆运营权及债务承继合作协议
- 2025年新型餐饮连锁品牌加盟授权管理合同
- 高端船舶租赁服务及租赁信息平台开发执行合同
- 2025年北京中小学校园安全设施建设合同示范
- 2025年绿色农产品供应链合作协议书
- 160. 个人车辆租赁合同
- 2025年度离婚双方子女抚养权及财产分割协议书
- QC新老七大工具培训课件
- SX-22163-QR345工装维护保养记录
- JJF 2025-2023高动态精密离心机校准规范
- 2023年航空职业技能鉴定考试-候机楼服务技能考试题库(含答案)
- 医院腹腔镜手术知情同意书
- p型半导体和n型半导体课件
- GB/T 748-2005抗硫酸盐硅酸盐水泥
- 走好群众路线-做好群众工作(黄相怀)课件
- 混凝土结构设计原理教学教案
- 民间文学(全套课件)
- 专升本00465心理卫生与心理辅导历年试题题库(考试必备)
评论
0/150
提交评论