C语言程序设计计算机程序设计
计算机程序设计,C语言程序设计
计算机技术基础课程设计
C语言 设计报告
题目:花店经营管理系统
学院:材料科学与工程学院
专业:金属材料
班级:050202班
姓名: 何卓海
指导教师:
设计日期: 2006年1月3日~1月8日
计算机程序设计,C语言程序设计
一.选题背景
本例实现了一个花店经营的管理系统,在经营的过程中,
必需对花的库存量,销售量,剩余量以及花的种类,单价,颜色,名字等,有系统的管理。本程序定义了一个结构数组,并运用了一个主函数调用五个函数以实现整个花店的经营和管理。
二.设计思想:
编程思路:首先在程序开始处,引入了头文件,可以直
接调用函数,然后对花的种类和五项命令进行了宏定义,接着枚举类型定义了花的颜色,定义了结构体数组,并且编写了”enter_data()”,”put_data()”,“buy()”,”find()”,”changecmd()”五个子函数,最后在mian函数的内部对各个子函数进行调用,实现综合管理。
三.主要解决问题的方法及技术关键:
1.运用指针定义了五项命令,分别指向五个函数,便于调用。
2.运用了for, if---else---if, while, switch---case用来控制程序的流程。
计算机程序设计,C语言程序设计
主函数流程图
计算机程序设计,C语言程序设计
Buy()流程图
计算机程序设计,C语言程序设计
Put()流程图
计算机程序设计,C语言程序设计
Enter()流程图
计算机程序设计,C语言程序设计
入口
Fni(d流程)图提 信 示息入输找类型查是按名字否 查询从 i=0到第, i 花个始比开较是i++
否
否是有种这花输出花名, 色,颜 单数价量 口
是出按否价查格询 从 i=0到第,i 个花始比较
开是+i
+是否否有种这
输花花名,颜色,出 单价数
量 口
是出按颜否查色询从 =0,到第 i 个花i始比较开
否是i++是有否这种花输花名,颜出,色单价 出
口
,
计算机程序设计,C语言程序设计
,
五.程序清单
#include "stdio.h" #include "stdlib.h" #include "string.h" #include "dos.h" #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[]); /*定义库存输入函数*/
计算机程序设计,C语言程序设计
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++) { }
printf("花店经营管理系统\n");
printf("\nYou can input 'buy','look','put','help','find':\n"); while(1) /*命令转换,把字符转换为数字*/
memset(flower[i].name,0,20); /*成员设置,各类型初始化*/ flower[i].rate=0; flower[i].amount=0; flower[i].color=white;
计算机程序设计,C语言程序设计
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("\nSorry,buy error");
else
printf("\n OK,Please pay money %f \n",price);
break;
case 2:
enter_data(flower); break;
case 3:
计算机程序设计,C语言程序设计
}
}
break;
case 4:
findflower(flower); break;
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;
计算机程序设计,C语言程序设计
}
return 0;
/*库存输入函数*/
/*该函数接受键盘输入 把输入数据与库存对应*/ void enter_data(FLOWER flower[]) {
int i,flag;
for(i=0;i<SIZE;i++) {
printf("0->red\t1->white\t2->yellow\t3->purple\t4->orante\n"); 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) /*接受用户选择的颜色*/ {
计算机程序设计,C语言程序设计
scanf("%d",&flower[i].color);
if(flower[i].color>=0&&flower[i].color<=4)
flag=0;
else
printf("Not have this color\n");
}
}
}
/*输出现有库存的鲜花数据的函数定义*/ void put_data(FLOWER flower[]) { int i;
printf("\nName Color Rate for(i=0;i<SIZE;i++) { printf("%-12s",flower[i].name); switch(flower[i].color) {
case red:
Amount\n");
计算机程序设计,C语言程序设计
}
}
break;
case white:
printf("%-8s","white"); break;
case yellow:
printf("%-8s","yellow"); break;
case purple:
printf("%-8s","purple"); break;
case orange: }
printf("%-10.2f%-10d\n",flower[i].rate,flower[i].amount); printf("%-8s","orange"); break;
/*询问用户购买的鲜花的种类和株的数量,计算总的价格的函数定义*/
计算机程序设计,C语言程序设计
…… 此处隐藏:3268字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [初中教育]婚姻家庭法学教学教案
- [初中教育]浅谈小学语文教学中的创新教育
- [初中教育]中华人民共和国侵权责任法2009
- [初中教育]2016-2022年中国薄膜太阳能电池行业发
- [初中教育]多级轻型井点降水的应用
- [初中教育]外语教学法流派介绍和简评
- [初中教育]实验一、典型环节及其阶跃响应
- [初中教育]内蒙古2012-2013学年度国家奖学金获奖
- [初中教育]移动通信营销渠道管理探讨
- [初中教育]初三化学第一学期第一第二章基础知识点
- [初中教育]一天的食物教学设计
- [初中教育]光导照明系统的基本结构及工作原理
- [初中教育]长春市十一高、东北师范大学附属中学、
- [初中教育]“十三五”规划重点-配重式装卸车项目
- [初中教育]领导方法和领导艺术
- [初中教育]第三章 植物病虫草鼠害诊断与防治基
- [初中教育]2019届九年级语文上册 第二单元 6纪念
- [初中教育]甲级单位编制水豆腐项目可行性报告(立
- [初中教育]Ch8-1补充 09101数据库系统原理及应用-
- [初中教育]2017-2023年中国吊装设备行业市场分析
- 制作毕业纪念册需要哪些材料
- 2015-2016学年高二化学苏教版选修4课件
- 哈佛管理导师-创建商业案例
- 职场交际中的谈吐礼仪知识与职场会议接
- 中国糕点及面包行业发展现状与竞争战略
- 沂河“12·7”洪水茶山拦河坝
- 管道水流量计算公式
- 4-2发电机火灾事故处置方案
- 数字信号处理实验五
- 2009年经济师(中级)金融专业知识全真试
- 历史街区保护规划--04历史文化遗产保护
- 宁夏回族自治区中小学职称评价标准
- 评先评优测评表
- 圆的切线证明及线段长求解在在中考中的
- 【解析版】2015年江苏省南京外国语学校
- 人教版八年级上册科学第一章习题精华
- 责任心与执行力
- SA8000社会责任管理体系标准培训
- IgA肾病的饮食应注意
- 杭州市建设工程文件归档整理方案(试行)




