教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 初中教育 >

C语言程序设计计算机程序设计

来源:网络收集 时间:2026-05-17
导读: 计算机程序设计,C语言程序设计 计算机技术基础课程设计 C语言 设计报告 题目:花店经营管理系统 学院:材料科学与工程学院 专业:金属材料 班级:050202班 姓名: 何卓海 指导教师: 设计日期: 2006年1月3日~1月8日 计算机程序设计,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字,全部文档内容请下载后查看。喜欢就下载吧 ……
C语言程序设计计算机程序设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/47627.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)