计算机技术基础c语言课程设计花店经营管理系统
- 格式:docx
- 大小:27.40 KB
- 文档页数:15
网上花店c语言课程设计一、课程目标知识目标:1. 掌握C语言基本数据类型、变量、运算符和表达式的运用。
2. 学会使用C语言控制结构,如顺序结构、分支结构和循环结构。
3. 了解C语言数组、函数和指针的基本概念及其在网上花店项目中的应用。
技能目标:1. 培养学生运用C语言解决实际问题的能力,能够编写网上花店的相关功能模块。
2. 提高学生分析问题、设计算法和编写程序的能力。
3. 培养学生团队协作、沟通表达的能力,能够与团队成员共同完成项目。
情感态度价值观目标:1. 培养学生热爱编程,对C语言产生兴趣,树立编程学习的自信心。
2. 培养学生认真负责、严谨细致的学习态度,养成良好的编程习惯。
3. 培养学生关注社会热点,了解电子商务行业的发展趋势,增强时代责任感。
课程性质:本课程为实践性较强的课程,结合网上花店项目,使学生能够将所学C语言知识应用于实际项目中。
学生特点:学生已具备一定的C语言基础,但实际编程能力有待提高,需要通过项目实践来巩固所学知识。
教学要求:以项目为主线,引导学生自主学习,注重培养学生的实际编程能力和团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. C语言基础回顾:数据类型、变量、常量、运算符、表达式。
教材章节:第一章至第二章。
2. 控制结构:顺序结构、分支结构(if语句、switch语句)、循环结构(for循环、while循环、do-while循环)。
教材章节:第三章至第四章。
3. 函数:函数定义、调用、参数传递、递归。
教材章节:第五章。
4. 数组:一维数组、二维数组、数组作为函数参数。
教材章节:第六章。
5. 指针:指针变量、指针与数组、指针与函数、指针与动态内存分配。
教材章节:第七章。
6. 结构体与联合:结构体定义、结构体数组、结构体指针、联合。
教材章节:第八章。
7. 文件操作:文件打开、关闭、读写、文件指针定位。
教材章节:第九章。
8. 网上花店项目实践:根据课程目标,将所学C语言知识应用于网上花店项目,完成以下功能模块:- 用户注册与登录- 商品展示与分类- 购物车功能- 订单管理- 用户管理教学进度安排:共计16课时,每课时1.5小时。
c语言课程设计酒店管理系统一、教学目标本节课的教学目标是让学生掌握C语言的基本语法和编程技巧,能够运用C语言实现一个简单的酒店管理系统。
具体来说,知识目标包括掌握C语言的数据类型、变量、运算符、控制结构、函数等基本语法;技能目标包括能够使用C语言编写程序,解决实际问题;情感态度价值观目标包括培养学生的编程兴趣,提高学生解决问题的能力。
二、教学内容本节课的教学内容主要包括C语言的基本语法和编程技巧。
首先,介绍C语言的数据类型、变量、运算符等基本概念,让学生了解C语言的编程基础;然后,讲解控制结构,如条件语句、循环语句等,让学生学会根据不同条件进行编程;接着,介绍函数的定义和调用,让学生掌握模块化编程的方法;最后,通过一个简单的酒店管理系统实例,让学生实践所学知识,巩固所学内容。
三、教学方法为了达到本节课的教学目标,采用多种教学方法相结合的方式进行教学。
首先,通过讲授法,为学生讲解C语言的基本语法和编程技巧;其次,采用讨论法,让学生在课堂上互相交流、讨论,提高解决问题的能力;再次,运用案例分析法,分析酒店管理系统的实现过程,让学生更好地理解所学知识;最后,通过实验法,让学生动手编写酒店管理系统的程序,培养学生的实际操作能力。
四、教学资源为了支持本节课的教学内容和教学方法的实施,准备以下教学资源:教材《C程序设计语言》、参考书《C语言编程实践》、多媒体资料(包括PPT、视频教程等)、实验设备(计算机、编程环境等)。
这些教学资源将有助于丰富学生的学习体验,提高学生的学习效果。
五、教学评估为了全面、客观地评估学生在本次课程中的学习成果,将采用多种评估方式相结合的方法。
首先,通过课堂表现、提问和讨论环节,评估学生的出勤和参与度;其次,通过课后作业,评估学生对课堂所学知识的掌握情况;再次,通过小组项目,评估学生在团队协作中的表现和解决问题的能力;最后,通过期末考试,评估学生对整个课程内容的掌握程度。
这些评估方式将有助于全面反映学生的学习成果,为后续教学提供参考。
c语言书店管理系统课程设计一、课程目标知识目标:1. 掌握C语言基础语法,如变量定义、数据类型、运算符、控制结构等;2. 学会使用数组、字符串、结构体等C语言高级特性;3. 理解并掌握文件操作在C语言中的应用;4. 了解书店管理系统的需求分析、功能模块划分及实现。
技能目标:1. 能够运用C语言编写简单的书店管理系统程序;2. 学会分析问题,运用所学知识解决问题;3. 掌握编程规范,养成良好的编程习惯;4. 提高团队协作能力,通过小组合作完成课程设计。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情;2. 培养学生的创新意识,鼓励他们勇于尝试新方法解决问题;3. 增强学生的责任感,让他们明白编程在生活中的应用和价值;4. 培养学生面对困难时的坚持和毅力,学会克服挫折。
课程性质:本课程为实践性课程,旨在培养学生的编程能力、分析问题和解决问题的能力。
学生特点:学生已经掌握了C语言的基础知识,具备一定的编程能力,但实际应用经验较少。
教学要求:结合实际应用,引导学生运用所学知识完成书店管理系统的设计与实现,注重培养学生的实践能力和团队协作能力。
通过本课程的学习,使学生能够将所学知识运用到实际项目中,提高编程水平。
二、教学内容1. C语言基础回顾:变量定义、数据类型、运算符、控制结构(选择、循环);2. 数组、字符串、结构体等高级特性及应用;3. 文件操作:文件的打开、读取、写入和关闭;4. 书店管理系统需求分析:系统功能模块划分、数据结构设计;5. 书店管理系统功能实现:用户界面设计、功能模块编程实现;- 用户注册与登录模块;- 图书信息管理模块;- 销售管理模块;- 库存管理模块;- 查询统计模块;6. 编程规范与调试技巧:代码风格、调试方法、性能优化;7. 团队协作与项目管理:分工合作、进度控制、问题解决;8. 课程总结与成果展示:项目演示、经验分享、总结反馈。
教学内容安排与进度:1. C语言基础回顾(1课时);2. 数组、字符串、结构体等高级特性及应用(2课时);3. 文件操作(1课时);4. 书店管理系统需求分析(1课时);5. 书店管理系统功能实现(6课时);6. 编程规范与调试技巧(1课时);7. 团队协作与项目管理(2课时);8. 课程总结与成果展示(1课时)。
书店管理c语言课程设计一、课程目标知识目标:1. 理解C语言的基本语法和程序结构,掌握其基本数据类型、运算符、控制语句等知识;2. 学习并掌握C语言中的数组、函数、指针等高级概念,并能将其应用于实际编程中;3. 了解书店管理的业务需求,运用C语言设计并实现一个简单的书店管理系统。
技能目标:1. 培养学生运用C语言进行程序设计的能力,能够独立编写、调试和运行简单的C程序;2. 培养学生分析和解决实际问题的能力,通过书店管理系统课程设计,使学生掌握需求分析、模块划分、编程实现等软件开发基本流程;3. 提高学生的团队协作能力,分组完成课程设计,培养学生相互沟通、共同解决问题的能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发他们学习C语言的积极性,提高学生的自信心和自主学习能力;2. 通过课程设计,培养学生认真负责、严谨细致的工作态度,以及面对困难和挑战时坚持不懈的精神;3. 增强学生的创新意识,鼓励他们在课程设计中勇于尝试新思路,培养创新精神和团队协作精神。
本课程目标旨在使学生在掌握C语言基本知识的基础上,通过书店管理系统的设计与实现,提高编程实践能力、团队合作能力,培养良好的工作态度和价值观。
为实现这些目标,课程将注重理论与实践相结合,充分考虑学生的认知水平和学习需求,确保课程内容符合教学实际。
在教学过程中,教师将关注学生的学习进度,及时调整教学策略,确保学生能够达到预期的学习成果。
二、教学内容1. C语言基础知识回顾:数据类型、变量、运算符、控制语句(条件语句、循环语句)、函数定义与调用等;2. C语言高级知识学习:数组、指针、结构体、文件操作等;3. 书店管理系统需求分析:分析书店管理系统的业务流程,明确系统功能模块;4. 系统设计:根据需求分析,进行模块划分,设计各模块的功能和数据结构;5. 编程实现:运用C语言编写各模块代码,实现书店管理系统的功能;6. 系统测试与调试:对完成的程序进行测试,发现并修复错误,确保系统的稳定运行;7. 课程总结与评价:对课程设计过程进行总结,分享经验教训,互相评价学习成果。
C语言课程设计餐馆管理系统一、教学目标本课程的目标是让学生掌握C语言的基本知识,通过构建一个简单的餐馆管理系统,培养学生的实际编程能力和问题解决能力。
在知识目标方面,学生需要理解C语言的数据类型、控制结构、函数等基本概念。
在技能目标方面,学生应掌握C语言的编程技巧,能够独立完成一个小型的软件系统。
在情感态度价值观目标方面,学生应培养对计算机科学的兴趣,具备良好的团队合作精神和自主学习能力。
二、教学内容教学内容主要包括C语言的基本语法、数据类型、控制结构、函数等。
具体的教学内容安排如下:1.引言:介绍C语言的发展历程和特点,让学生了解C语言的重要性和应用范围。
2.数据类型和变量:讲解整型、浮点型、字符型等数据类型的定义和使用方法。
3.控制结构:介绍条件语句、循环语句等控制结构的使用和原理。
4.函数:讲解函数的定义、声明和调用,以及函数的参数传递和返回值。
5.餐馆管理系统:通过构建一个简单的餐馆管理系统,让学生将所学知识应用于实际问题的解决。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
在讲授法中,教师将系统地讲解C语言的基本概念和语法。
在讨论法中,教师将引导学生进行思考和讨论,培养学生的创新思维和问题解决能力。
在案例分析法中,教师将通过分析具体的编程案例,让学生了解C语言在实际应用中的重要性。
在实验法中,教师将学生进行上机实验,让学生在实际操作中掌握C语言的编程技巧。
四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备适当的教学资源。
教材方面,我们选择《C程序设计语言》作为主教材,辅以《C语言编程实例教程》进行实践操作。
参考书方面,我们推荐《C Primer Plus》和《C和指针》。
多媒体资料方面,我们将制作PPT课件和视频教程,以便学生更好地理解和掌握知识。
实验设备方面,我们将提供计算机实验室,让学生进行上机实验和编程实践。
商店销售管理系统#include <stdio.h>#include <time.h>#define N 1000 //N代表货物的最大种类struct goods{char name[10];//商品名称int amount;//商品数量int num;//商品编号float price;//商品价格}sp[N],sc[N];//定义全局变量int flag=1;FILE *fp;int i=0;int k=0;int b=0;chakan()//显示目前的库存{int zong=0;fp=fopen("chaoshi.txt","r");for(i=1;i<=(k+b);i++)fread(&sp[i],sizeof(struct goods),1,fp);fclose(fp);for(i=1;i<=k;i++){zong=zong+sp[i].num;}if(zong!=0){printf(" 目前库存情况为:名称数量价格编号\n");for(i=1;i<=(k+b);i++){printf(" %s %d %f %d\n",sp[i].name,sp[i].amount,sp[i].price,sp[i].num);}}else printf("\n #####目前库存为#####\n");}jinhuo()//进货模块{do{k++;i++;printf(" 请输入商品的名称.数量.价格.标号(>0)例如:a 1 2.5 111\n\t\t\t");scanf("%s %d %f %d%c",sp[i].name,&sp[i].amount,&sp[i].price,&sp[i]. num);printf(" 是否继续,是(1),否(0)\n\t\t\t");scanf("%d",&flag);}while(flag!=0);fp=fopen("chaoshi.txt","w");for(i=1;i<=k;i++)fwrite(&sp[i],sizeof(struct goods),1,fp);fclose(fp);chakan();}xiaoshou()//销售模块{float m[100];int z=1;int j[100];int a[100];int g=0;int y=0;int h=0;float zong=0;fp=fopen("chaoshi.txt","r");for(i=1;i<=k;i++)fread(&sp[i],sizeof(struct goods),1,fp);fclose(fp);do{g++;y++;loop: printf(" 请输入商品编号和数量,例如:(100 20)\n\t\t\t");scanf("%d %d",&j[y],&a[y]);for(z=1;z<=k;z++){if(j[y]==sp[z].num){h++;sp[z].amount=sp[z].amount-a[y];m[y]=(float)a[y]*sp[z].price;sc[y]=sp[z];}}if(h==0){printf(" 输入有误,请重新输入\n\t\t\t");goto loop;}fp=fopen("chaoshi.txt","wt");for(i=1;i<=k;i++)fwrite(&sp[i],sizeof(struct goods),1,fp);fclose(fp);printf(" 是否继续,是(1),否(0)\n\t\t\t");scanf("%d",&flag);}while(flag!=0);printf("\n############################################\n");printf(" 编号名称单价数量总计\n");for(y=1;y<=g;y++){printf(" %4d%10s%8.2f%6d%13.2f\n",sc[y].num,sc[ y].name,sc[y].price,a[y],m[y]);zong=zong+m[y];}printf(" 您此次一共消费%f 元,欢迎您下次光临\n",zong);shijian();}zengjia()//增加商品数量模块{float m;int z=1;int j[100],a[100];int g=0;int y=0;int zong=0;int h=0;fp=fopen("chaoshi.txt","r");for(i=1;i<=k;i++)fread(&sp[i],sizeof(struct goods),1,fp);fclose(fp);do{g++;y++;loop: printf(" 请输入商品编号和数量,例如:(100 20)\n\t\t\t");scanf("%d %d",&j[y],&a[y]);for(z=1;z<=k;z++){if(j[y]==sp[z].num){h++;sp[z].amount=sp[z].amount+a[y];m=a[y]*sp[z].price;sc[y]=sp[z];}}if(h==0){printf(" 输入有误,请重新输入\n\t\t\t");goto loop;}fp=fopen("chaoshi.txt","wt");for(i=1;i<=k;i++)fwrite(&sp[i],sizeof(struct goods),1,fp);fclose(fp);printf(" 是否继续,是(1),否(0)\n\t\t\t");scanf("%d",&flag);}while(flag!=0);chakan();}shanchu()//删除商品模块{int z;int j[100],a[100];int c=0;int y=0;int h=0;do{c++;loop: printf(" 请输入您想删除的商品编号\n\t\t\t");scanf("%d",&j[y]);for(z=1;z<=k;z++){h++;if(j[y]==sp[z].num)sp[z]=sp[z+1];}if(h==0){printf(" 输入有误,请重新输入\n\t\t\t");goto loop;}fp=fopen("chaoshi.txt","wt");for(i=1;i<=(k-1);i++)fwrite(&sp[i],sizeof(struct goods),1,fp);fclose(fp);printf(" 是否继续,是(1),否(0)\n\t\t\t");scanf("%d",&flag);}while(flag!=0);chakan();}shijian(){struct tm when;time_t now;time(&now);when=*localtime(&now);printf(" %s\n",asctime(&when));}main()//主函数{int choice;do{printf("\n\n\n ********超市管理系统*******\n\n");printf(" 1.进货\n");printf(" 2.销售\n");printf(" 3.增加商品数量\n");printf(" 4.删除商品\n");printf(" 5.查看目前库存\n");printf(" 0.返回主菜单\n");printf(" 请选择您要进行的操作\n\t\t\t");scanf("%d",&choice);switch(choice){case 1:jinhuo();break;case 2:xiaoshou();break;case 3:zengjia();break;case 4:shanchu();break;case 5:chakan();break;case 0:break;default :printf(" 输入有误,请重新输入\n\t\t\t");}}while(choice!=0);}。
c 超市管理系统课程设计一、教学目标本课程旨在通过学习C超市管理系统,使学生掌握C语言编程的基本技能,能够运用C语言设计简单的管理系统。
具体目标如下:1.理解C语言的基本语法和数据结构。
2.掌握C语言的函数和数组。
3.理解C语言的面向对象编程思想。
4.能够使用C语言编写简单的程序。
5.能够使用C语言设计简单的管理系统。
6.能够对C语言程序进行调试和优化。
情感态度价值观目标:1.培养学生的编程兴趣,提高学生对计算机科学的热爱。
2.培养学生团队合作的精神,提高学生的沟通协作能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数和数组、面向对象编程思想,以及C超市管理系统的设计和实现。
具体安排如下:1.C语言的基本语法:介绍C语言的基本语法规则,包括数据类型、变量、运算符等。
2.数据结构:讲解常用的数据结构,如数组、链表、栈和队列等。
3.函数和数组:介绍函数的定义和调用,数组的使用和操作。
4.面向对象编程思想:讲解面向对象编程的基本概念,如类、对象、封装、继承等。
5.C超市管理系统的设计和实现:引导学生运用所学知识,设计和实现一个简单的C超市管理系统。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:教师讲解C语言的基本语法、数据结构、函数和数组、面向对象编程思想等理论知识。
2.案例分析法:通过分析典型的C超市管理系统的案例,使学生理解和掌握C语言的应用。
3.实验法:安排实验室实践环节,让学生动手编写C语言程序,提高学生的实际操作能力。
4.讨论法:学生进行小组讨论,分享学习心得和经验,培养学生的团队合作精神。
四、教学资源本课程所需的教学资源包括教材、参考书、多媒体资料和实验设备。
具体如下:1.教材:选用权威、实用的C语言教材,为学生提供系统的理论知识学习。
2.参考书:提供丰富的参考书籍,拓展学生的知识面。
3.多媒体资料:制作精美的PPT课件,生动展示C语言编程的原理和技巧。
山东交通学院高级语言课程设计课程设计说明书题目花店销售管理系统系(部):信息工程系专业:计算机科学与技术班级:计算072姓名:高继功学号: 070811214指导教师:方树名时间:2009年3月9日至 3月20日目录1.系统分析 (4)1.1系统需求分析 (4)1.2项目规划 (4)1.3系统功能结构分析 (4)1.4设计目的分析 (5)1.5开发及运行环境分析 (5)2.数据库系统设计 (6)2.1数据表概要设计 (6)2.2数据库逻辑结构设计 (6)3.应用程序设计 (9)3.1界面设置 (9)3.2关键技术 (14)4.系统测试 (30)4.1系统安装 (30)4.2系统功能测试(同一类功能不做重复测试) (31)5.设计体会 (35)参考文献 (35)摘要随着改革开放三十周年,我国人民的消费水平由解决温饱跨入了追求享受,在其中视觉享受占有重要地位,说道视觉大宴,五彩缤纷绚丽多彩的鲜花堪称享受的龙头老大,伴随而生的销售鲜花顺理成章的成为和平繁荣年代的一繁盛商业。
大街小巷,销售鲜花的商店可谓多不胜数。
做买卖不能无组织无规律,在销售鲜花时对自己的商店进行完美的管理是决定销售与盈利的重要因素!与以前的管理不同,现代管理(也就是本管理系统采用的管理技术),是建立在真实、有效的数据信息基础之上的一种科学的、理性的管理体制。
这种管理体制与经营联系与互助,依据计算机的强大的数据统计功能,实现科学实用的管理!本花店销售管理系统对数据表进行了合理的操作,使管理员(老板)能够更好的对本店的相关数据表进行管理,也便于员工对自己的各方面情况进行查询操作,与此同时还能供顾客进行网上在线购买鲜花,给管理者以管理的方便,给买花人以购花的便利。
关键词:花店销售管理系统;数据集;数据库;Visual C++6.0。
1.系统分析1.1系统需求分析在做本系统前,我对系统的需求做了如下分析:1)登录权限:根据调查研究,我们所做的系统主要面向三种用户使用,分别是:超级管理员(在本系统中管理员)、普通管理员(在本系统中是雇员),以及顾客。
c语言课程设计旅店管理系统一、教学目标本章节的教学目标是使学生掌握C语言编程的基本知识,能够运用C语言设计简单的旅店管理系统。
具体分解为以下三个目标:1.知识目标:使学生掌握C语言的基本语法、数据类型、运算符、控制结构等,理解面向对象编程的基本概念。
2.技能目标:使学生能够运用C语言编写程序,具备解决旅店管理问题的能力,如房间预订、客户信息管理、账单生成等。
3.情感态度价值观目标:培养学生对编程的兴趣,提高学生的创新能力和解决问题的能力,使学生明白计算机编程在实际生活中的应用价值。
二、教学内容本章节的教学内容主要包括以下几个部分:1.C语言基础知识:介绍C语言的基本语法、数据类型、运算符、控制结构等。
2.面向对象编程:讲解面向对象编程的基本概念,如类、对象、封装、继承等。
3.旅店管理系统的需求分析:分析旅店管理系统的需求,明确系统需要实现的功能。
4.旅店管理系统的架构设计:根据需求分析,设计系统的架构,确定各模块的功能和相互之间的关系。
5.旅店管理系统的实现:利用C语言和面向对象编程的原理,编写系统的各个模块,实现系统的功能。
6.系统测试与优化:对系统进行测试,确保其功能的正确性和性能的优化。
三、教学方法为了达到本章节的教学目标,我们将采用以下几种教学方法:1.讲授法:讲解C语言的基本语法、数据类型、运算符、控制结构等知识,以及面向对象编程的基本概念。
2.案例分析法:通过分析旅店管理系统的需求,让学生理解系统的设计和实现过程。
3.实验法:让学生动手编写旅店管理系统的代码,培养学生的编程能力和解决问题的能力。
4.讨论法:在课堂上学生进行讨论,分享学习心得和解决问题的方法。
四、教学资源为了支持本章节的教学,我们将准备以下教学资源:1.教材:《C程序设计原理与应用》等。
2.参考书:《C语言 Primer》等。
3.多媒体资料:PPT课件、视频教程等。
4.实验设备:计算机、编程环境等。
5.网络资源:在线编程平台、相关论坛和博客等。
计算机技术基础课程设计C语言设计报告题目:花店经营管理系统一.选题背景本例实现了一个花店经营的管理系统,在经营的过程中,必需对花的库存量,销售量,剩余量以及花的种类,单价,颜色,名字等,有系统的管理。
本程序定义了一个结构数组,并运用了一个主函数调用五个函数以实现整个花店的经营和管理。
二.设计思想:编程思路:首先在程序开始处,引入了头文件,可以直接调用函数,然后对花的种类和五项命令进行了宏定义,接着枚举类型定义了花的颜色,定义了结构体数组,并且编写了”enter_data()”,”put_data()”,“buy()”,”find()”,”changecmd()”五个子函数,最后在mian函数的内部对各个子函数进行调用,实现综合管理。
三.主要解决问题的方法及技术关键:1.运用指针定义了五项命令,分别指向五个函数,便于调用。
2.运用了for, if---else---if, while, switch---case用来控制程序的流程。
主函数流程图Put()流程图否Enter(),五.程序清单#include ""#include ""#include ""#include ""#define SIZE 8#define CMDSIZE 5typedef enum /*枚举类型定义*/{red,white,yellow,purple,orange}COLOR;typedef struct /*结构体定义*/{char name[20];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[]);/*定义查询函数*/int changecmd(char cmd[]);/*定义命令解释函数*/void main(){FLOWER flower[SIZE];float price;char cmd[5]={'\0','\0','\0','\0','\0'};char exits[5]="quit";int recmd=0;int i;for(i=0;i<SIZE;i++){memset(flower[i].name,0,20); /*成员设置,各类型初始化*/flower[i].rate=0;flower[i].amount=0;flower[i].color=white;}printf("花店经营管理系统\n");printf("\nYou can input 'buy','look','put','help','find':\n");while(1) /*命令转换,把字符转换为数字*/{scanf("%s",cmd);if(strcmp(cmd,exits)==0)recmd=changecmd(cmd);switch(recmd){case 0:printf("a bad command please input a corrcet cmd \n"); /*输入了错误信息的提示*/break;case 1:price=buy(flower);if(price==0)printf("\nSorry,buy error");elseprintf("\n OK,Please pay money %f \n",price);break;case 2:enter_data(flower);break;case 3:put_data(flower);break;case 4:findflower(flower);case 5:printf("\nYoucaninput 'buy','look','put','help','find':\n");break;}}}/*命令解释函数*//*该函数处理接收到的命令通过与命令数组里的预定义命令比较返回命令在数组中的位置*/int changecmd(char cmd[]){int i=0;for(i=0;i<CMDSIZE;i++){if(strcmp(cmd,Dcmd[i])==0)return i+1;}return 0;}/*库存输入函数*//*该函数接受键盘输入把输入数据与库存对应*/void enter_data(FLOWER flower[])int i,flag;for(i=0;i<SIZE;i++){printf("Please enter the flowers:\n");printf("Flower name is:\n");scanf("%s",flower[i].name);printf("Flower rate is:\n");scanf("%f",&flower[i].rate);printf("Flower amount is:\n");scanf("%d",&flower[i].amount);flag=1;while(flag) /*接受用户选择的颜色*/{printf("0->red\t1->white\t2->yellow\t3->purple\t4->orante\n");printf("Please choose a color:\n");scanf("%d",&flower[i].color);if(flower[i].color>=0&&flower[i].color<=4)flag=0;elseprintf("Not have this color\n");}}/*输出现有库存的鲜花数据的函数定义*/void put_data(FLOWER flower[]){int i;printf("\nName Color Rate Amount\n");for(i=0;i<SIZE;i++){printf("%-12s",flower[i].name);switch(flower[i].color){case red:printf("%-8s","red");break;case white:printf("%-8s","white");break;case yellow:printf("%-8s","yellow");break;case purple:printf("%-8s","purple");break;case orange:printf("%-8s","orange");break;}printf("%%-10d\n",flower[i].rate,flower[i].amount);}}/*询问用户购买的鲜花的种类和株的数量,计算总的价格的函数定义*/ float buy(FLOWER flower[]){int i;char name[20];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->red\t1->white\t2->yellow\t3->purple\t4->orante\n");printf("Please choose a color:\n");scanf("%d",&color);if(color>=0&&color<=4)flag=0;elseprintf("Not have this color\n");}printf("Please amount you want to buy:\n");/*输出需要的花的数量*/scanf("%d",&amount);for(i=0;i<SIZE;i++){if(flower[i].rate==rate&&strcmp(flower[i].name,name)==0&&flower[i].color ==color)break;}if(i==SIZE){printf("\nNot fount the flower you buy\n");/*没有要买的花*/price=0;}else if(flower[i].amount<amount)/*所购花数量不够*/printf("\nAmount not enought\n");price=0;}else{flower[i].amount=flower[i].amount-amount;price=flower[i].rate*amount; /*找到,剩余数量够,可以买花,并计算总价格*/}return price;}/*对于库存鲜花的的查询方式的定义*/void findflower(FLOWER flower[]){int i,rcmd;char name[20];float rate;COLOR color;printf("Please choose a number :\n");/*输出查询的方式*/printf("0->find as name\t 1->find as rate \t 2->find as color\n");scanf("%d",&rcmd);switch(rcmd)case 0: /*按花名查询*/printf("In put a flower name:\n");scanf("%s",name);for(i=0;i<SIZE;i++){if(flower[i].name==name)printf("%s\t%d\t%f\t%d\n",flower[i].name,flower[i].color,flower[i].rate,flowe r[i].amount);}break;case 1: /*按数量查询*/printf("In put a flower rate:\n");scanf("%f",&rate);for(i=0;i<SIZE;i++){if(flower[i].rate==rate)printf("%s\t%d\t%f\t%d\n",flower[i].name,flower[i].color,flower[i].rate,flowe r[i].amount);}break;case 2: /*按颜色查询*/printf("In put a flower color:\n");scanf("%d",&color);for(i=0;i<SIZE;i++){if(flower[i].color==color)printf("%s\t%d\t%f\t%d\n",flower[i].name,flower[i].color,flower[i].rate,flowe r[i].amount);}break;}}六.总结、设计结果说明一.通过本程序的练习,可以让读者了解结构体的定义和函数的调用,对程序中各种语句的运用更加熟练把握。