计算机技术基础c语言课程设计花店经营管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机技术基础课程设计
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 5
typedef 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 { 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"); 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); case 5: printf("\nYoucaninput 'buy','look','put','help','find':\n"); break; } } } /*命令解释函数*/ /*该函数处理接收到的命令通过与命令数组里的预定义命令比较返回命令在数组中的位置*/ int changecmd(char cmd[]) { int i=0; for(i=0;i { if(strcmp(cmd,Dcmd[i])==0) return i+1; } return 0; } /*库存输入函数*/ /*该函数接受键盘输入把输入数据与库存对应*/ void enter_data(FLOWER flower[])