1、计算机技术基础 c语言 课程设计 花店经营管理系统计算机技术基础课程设计C语言设计报告题目:花店经营管理系统一选题背景 本例实现了一个花店经营的管理系统,在经营的过程中,必需对花的库存量,销售量,剩余量以及花的种类,单价,颜色,名字等,有系统的管理。本程序定义了一个结构数组,并运用了一个主函数调用五个函数以实现整个花店的经营和管理。二设计思想: 编程思路:首先在程序开始处,引入了头文件,可以直接调用函数,然后对花的种类和五项命令进行了宏定义,接着枚举类型定义了花的颜色,定义了结构体数组,并且编写了”enter_data()”,”put_data()”,“buy()”,”find()”,”cha
2、ngecmd()”五个子函数,最后在mian函数的内部对各个子函数进行调用,实现综合管理。 三主要解决问题的方法及技术关键: 1运用指针定义了五项命令,分别指向五个函数,便于调用。 2运用了for, if-else-if, while, switch-case用来控制程序的流程。 主函数流程图 是 否Buy()流程图Put()流程图 Enter()流程图 , 五程序清单#include stdio.h#include stdlib.h#include string.h#include dos.h#define SIZE 8#define CMDSIZE 5typedef enum /*枚举类型
3、定义*/ red,white,yellow,purple,orangeCOLOR;typedef struct /*结构体定义*/ char name20; 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
4、findflower(FLOWER flower);/*定义查询函数*/int changecmd(char cmd);/*定义命令解释函数*/void main() FLOWER flowerSIZE; float price; char cmd5=0,0,0,0,0; char exits5=quit; int recmd=0; int i; for(i=0;iSIZE;i+) memset(floweri.name,0,20); /*成员设置,各类型初始化*/ floweri.rate=0; floweri.amount=0; floweri.color=white; printf(花店
5、经营管理系统n); printf(nYou can input buy,look,put,help,find:n); while(1) /*命令转换,把字符转换为数字*/ scanf(%s,cmd); if(strcmp(cmd,exits)=0) 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); if(price=0) printf(nS
6、orry,buy error); else printf(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); break; case 5: printf(nYoucaninput buy,look,put,help,find:n); break; /*命令解释函数*/*该函数处理接收到的命令 通过与命令数组里的预定义命令比较 返回命令在数组中的位置*/int changec
7、md(char cmd) int i=0; for(i=0;iCMDSIZE;i+) if(strcmp(cmd,Dcmdi)=0) return i+1; return 0;/*库存输入函数*/*该函数接受键盘输入 把输入数据与库存对应*/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
8、.color=4) flag=0; else printf(Not have this colorn); /*输出现有库存的鲜花数据的函数定义*/void put_data(FLOWER flower) int i; printf(nName Color Rate Amountn); for(i=0;iredt1-whitet2-yellowt3-purplet4-oranten); printf(Please choose a color:n); scanf(%d,&color); if(color=0&color=4) flag=0; else printf(Not have this c
9、olorn); printf(Please amount you want to buy:n); /*输出需要的花的数量*/scanf(%d,&amount); for(i=0;iSIZE;i+) if(floweri.rate=rate&strcmp(floweri.name,name)=0&floweri.color=color) break; if(i=SIZE) printf(nNot fount the flower you buyn); /*没有要买的花*/price=0; else if(floweri.amountfind as namet 1-find as rate t 2
10、-find as colorn); scanf(%d,&rcmd); switch(rcmd) case 0: /*按花名查询*/ printf(In put a flower name:n); scanf(%s,name); for(i=0;iSIZE;i+) if(floweri.name=name) printf(%st%dt%ft%dn,floweri.name,floweri.color,floweri.rate,floweri.amount); break; case 1: /*按数量查询*/ printf(In put a flower rate:n); scanf(%f,&ra
11、te); for(i=0;iSIZE;i+) if(floweri.rate=rate) printf(%st%dt%ft%dn,floweri.name,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.name,floweri.color,floweri.rate,floweri.amount); break; 六总结、设计结果说明 一通过本程序的练习,可以让读者了解结构体的定义和函数的调用,对程序中各种语句的运用更加熟练把握。 二本程序虽然简短,但可以简单地运用到花店的经营管理中,通过这个操作,让花店经营得有条理,方便了顾客,也方便了自己。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1