完整版计算机技术基础c语言课程设计花店经营管理系统.docx

上传人:b****3 文档编号:2148939 上传时间:2022-10-27 格式:DOCX 页数:14 大小:112.33KB
下载 相关 举报
完整版计算机技术基础c语言课程设计花店经营管理系统.docx_第1页
第1页 / 共14页
完整版计算机技术基础c语言课程设计花店经营管理系统.docx_第2页
第2页 / 共14页
完整版计算机技术基础c语言课程设计花店经营管理系统.docx_第3页
第3页 / 共14页
完整版计算机技术基础c语言课程设计花店经营管理系统.docx_第4页
第4页 / 共14页
完整版计算机技术基础c语言课程设计花店经营管理系统.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

完整版计算机技术基础c语言课程设计花店经营管理系统.docx

《完整版计算机技术基础c语言课程设计花店经营管理系统.docx》由会员分享,可在线阅读,更多相关《完整版计算机技术基础c语言课程设计花店经营管理系统.docx(14页珍藏版)》请在冰豆网上搜索。

完整版计算机技术基础c语言课程设计花店经营管理系统.docx

完整版计算机技术基础c语言课程设计花店经营管理系统

计算机技术基础课程设计

C语言

设计报告

题目:

花店经营管理系统

 

一.选题背景

本例实现了一个花店经营的管理系统,在经营的过程中,必需对花的库存量,销售量,剩余量以及花的种类,单价,颜色,名字等,有系统的管理。

本程序定义了一个结构数组,并运用了一个主函数调用五个函数以实现整个花店的经营和管理。

二.设计思想:

编程思路:

首先在程序开始处,引入了头文件,可以直接调用函数,然后对花的种类和五项命令进行了宏定义,接着枚举类型定义了花的颜色,定义了结构体数组,并且编写了”enter_data()”,”put_data()”,“buy()”,”find()”,”changecmd()”五个子函数,最后在mian函数的内部对各个子函数进行调用,实现综合管理。

三.主要解决问题的方法及技术关键:

1.运用指针定义了五项命令,分别指向五个函数,便于调用。

2.运用了for,if---else---if,while,switch---case用来控制程序的流程。

主函数流程图

Buy()流程图

 

Put()流程图

 

 

Enter()流程图

Find()流程图

五.程序清单

#include"stdio.h"

#include"stdlib.h"

#include"string.h"

#include"dos.h"

#defineSIZE8

#defineCMDSIZE5

typedefenum/*枚举类型定义*/

{

red,white,yellow,purple,orange

}COLOR;

typedefstruct/*结构体定义*/

{

charname[20];

COLORcolor;

floatrate;

intamount;

}FLOWER;

char*Dcmd[]={"buy","put","look","find","help"};

/*定义了5项命令的指针类型*/

voidenter_data(FLOWERflower[]);/*定义库存输入函数*/

floatbuy(FLOWERflower[]);/*定义销售函数*/

voidput_data(FLOWERflower[]);/*定义库存输出函数*/

voidfindflower(FLOWERflower[]);/*定义查询函数*/

intchangecmd(charcmd[]);/*定义命令解释函数*/

voidmain()

{

FLOWERflower[SIZE];

floatprice;

charcmd[5]={'\0','\0','\0','\0','\0'};

charexits[5]="quit";

intrecmd=0;

inti;

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("\nYoucaninput'buy','look','put','help','find':

\n");

while

(1)/*命令转换,把字符转换为数字*/

{

scanf("%s",cmd);

if(strcmp(cmd,exits)==0)

exit

(1);

recmd=changecmd(cmd);

switch(recmd)

{

case0:

printf("abadcommandpleaseinputacorrcetcmd\n");/*输入了错误信息的提示*/

break;

case1:

price=buy(flower);

if(price==0)

printf("\nSorry,buyerror");

else

printf("\nOK,Pleasepaymoney%f\n",price);

break;

case2:

enter_data(flower);

break;

case3:

put_data(flower);

break;

case4:

findflower(flower);

break;

case5:

printf("\nYoucaninput'buy','look','put','help','find':

\n");

break;

}

}

}

/*命令解释函数*/

/*该函数处理接收到的命令通过与命令数组里的预定义命令比较返回命令在数组中的位置*/

intchangecmd(charcmd[])

{

inti=0;

for(i=0;i

{

if(strcmp(cmd,Dcmd[i])==0)

returni+1;

}

return0;

}

/*库存输入函数*/

/*该函数接受键盘输入把输入数据与库存对应*/

voidenter_data(FLOWERflower[])

{

inti,flag;

for(i=0;i

{

printf("Pleaseentertheflowers:

\n");

printf("Flowernameis:

\n");

scanf("%s",flower[i].name);

printf("Flowerrateis:

\n");

scanf("%f",&flower[i].rate);

printf("Floweramountis:

\n");

scanf("%d",&flower[i].amount);

flag=1;

while(flag)/*接受用户选择的颜色*/

{

printf("0->red\t1->white\t2->yellow\t3->purple\t4->orante\n");

printf("Pleasechooseacolor:

\n");

scanf("%d",&flower[i].color);

if(flower[i].color>=0&&flower[i].color<=4)

flag=0;

else

printf("Nothavethiscolor\n");

}

}

}

 

/*输出现有库存的鲜花数据的函数定义*/

voidput_data(FLOWERflower[])

{

inti;

printf("\nNameColorRateAmount\n");

for(i=0;i

{

printf("%-12s",flower[i].name);

switch(flower[i].color)

{

casered:

printf("%-8s","red");

break;

casewhite:

printf("%-8s","white");

break;

caseyellow:

printf("%-8s","yellow");

break;

casepurple:

printf("%-8s","purple");

break;

caseorange:

printf("%-8s","orange");

break;

}

printf("%-10.2f%-10d\n",flower[i].rate,flower[i].amount);

}

}

 

/*询问用户购买的鲜花的种类和株的数量,计算总的价格的函数定义*/

floatbuy(FLOWERflower[])

{

inti;

charname[20];

COLORcolor;

floatrate,price;

intamount,flag;

printf("\nPleaseenternameandrateyouwanttobuy:

\n");

/*输出需要的鲜花的名字和价格*/

scanf("%s%f",name,&rate);

flag=1;

while(flag)/*客户购买花的情况*/

{

printf("0->red\t1->white\t2->yellow\t3->purple\t4->orante\n");

printf("Pleasechooseacolor:

\n");

scanf("%d",&color);

if(color>=0&&color<=4)

flag=0;

else

printf("Nothavethiscolor\n");

}

printf("Pleaseamountyouwanttobuy:

\n");

/*输出需要的花的数量*/

scanf("%d",&amount);

for(i=0;i

{

if(flower[i].rate==rate&&strcmp(flower[i].name,name)==0&&flower[i].color==color)

break;

}

if(i==SIZE)

{

printf("\nNotfountthefloweryoubuy\n");

/*没有要买的花*/

price=0;

}

elseif(flower[i].amount

{

printf("\nAmountnotenought\n");

price=0;

}

else

{

flower[i].amount=flower[i].amount-amount;

price=flower[i].rate*amount;/*找到,剩余数量够,可以买花,并计算总价格*/

}

returnprice;

}

 

/*对于库存鲜花的的查询方式的定义*/

voidfindflower(FLOWERflower[])

{

inti,rcmd;

charname[20];

floatrate;

COLORcolor;

printf("Pleasechooseanumber:

\n");/*输出查询的方式*/

printf("0->findasname\t1->findasrate\t2->findascolor\n");

scanf("%d",&rcmd);

switch(rcmd)

{

case0:

/*按花名查询*/

printf("Inputaflowername:

\n"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1