为一个花店编写一个库存管理程序,花点库存的花用花的名称、颜色、单价和株的数量来表示。(可直接运行)

news2024/11/29 9:00:14

为一个花店编写一个库存管理程序,花点库存的花用花的名称、颜色、单价和株的数量来表示。

要求:

(1)说明一个结构数组,存储库存的鲜花数据。

(2)编写一个函数input_data(),输入现有的鲜花数据,读取数据时,向用户提供一个可以选择颜色的菜单,供用户选择。颜色使用枚举值表示。

(3)编写一个函数buy(),向用户询问需要购买的鲜花的种类和株的数量,计算总价格,并从库存中减去用户购买的花的数量,返回总价格。

(4)编写主函数调用上述函数。

enum color{
	red,yellow,purple,white
};
struct Flower{
	char name[20];
	enum color a;
	int money;
	int num;
};
int main(){
	void input_data(struct Flower *f,int *a);
	void output_data(struct Flower *f,int size);
	int buy(struct Flower *f,int size);
	struct Flower f[20];
	int price,size=0;
	input_data(f,&size);
	output_data(f,size);
	price=buy(f,size);
	printf("总价格为:%d",price);
	return 0;
}
void input_data(struct Flower *f,int *a){
	int i=0;
	do{
		printf("输入姓名:"); 
		scanf("%s",(f+i)->name);
		printf("请选择颜色:\n");
		printf("0----red\n");
		printf("1----yellow\n");
		printf("2----purple\n");
		printf("3----white\n");
		scanf("%d",&(f+i)->a);
		printf("输入价格:");
		scanf("%d",&(f+i)->money);
		printf("输入数量:");
		scanf("%d",&(f+i)->num); 
		(*a)++;
	}while((f+i)->money!=0&&(f+i++)->num!=0);
}
void output_data(struct Flower *f,int size){
	int i;
	for(i=0;i<size-1;i++){
		printf("%s\t",(f+i)->name);
		switch((f+i)->a){
			case 0:printf("red\t");break;
			case 1:printf("yellow\t");break;
			case 2:printf("purple\t");break;
			case 3:printf("white\t");break;
		}
		printf("%d\t",(f+i)->money);
		printf("%d\n",(f+i)->num);
	}
}
int buy(struct Flower *f,int size){
	int price,i;
	struct Flower k;
	printf("购买花的种类:");
	printf("0----red\n");
	printf("1----yellow\n");
	printf("2----purple\n");
	printf("3----white\n");
	scanf("%d",&k.a);
	printf("要购买的数量:");
	scanf("%d",&k.num);
	for(i=0;i<size-1;i++){
		if(k.a==(f+i)->a){
			price=(f+i)->money*k.num;
			(f+i)->num=(f+i)->num-k.num;
			break;
		}
	}
	output_data(f,size);
	return price;
}

运行结果:

这段代码还是比较简单的,大家直接运行就好,没有什么太大的问题,也可以根据需要在必要的地方进行修改~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2059994.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【学习笔记】卫星网络(NTN)的窄带物联网(NB-IoT)研究 -- 3GPP TR 36.763(四)

目录 8. 后续研究方向的建议 8.1 来自RAN1的建议 8.1.1 针对NR NTN和IoT NTN的共同增强建议 8.1.2 Release-17时间框架内RAN1建议的总结 8.2 来自RAN2的建议 关于卫星网络&#xff08;NTN&#xff09;的窄带物联网&#xff08;NB-IoT&#xff09;/增强型机器类型通信&#…

【论文阅读33】Deep learning optoacoustic tomography with sparse data

Deep learning optoacoustic tomography with sparse data 论文题目:基于稀疏数据的深度学习光声断层扫描 论文链接:Deep learning optoacoustic tomography with sparse data | Nature Machine Intelligence 代码链接:GitHub - ndavoudi/sparse_artefact_unet 数据链接…

鸿蒙Harmony实战开发:Arkts构造函数

构造函数 类声明可以包含用于初始化对象状态的构造函数。 构造函数定义如下&#xff1a; constructor ([parameters]) {// ... } typescript 如果未定义构造函数&#xff0c;则会自动创建具有空参数列表的默认构造函数&#xff0c;例如&#xff1a; class Point {x: numbe…

CH动画制作软件Win/Mac软件安装下载(附安装包)

目录 一、软件概述 1.1 软件简介 1.2 系统要求 二、安装步骤 2.1 下载软件 2.2 安装准备 2.3 安装过程 三、使用教程 3.1 创建新项目 3.2 角色制作 3.3 动画制作 四、高级功能与技巧 4.1 实时渲染技术 4.2 编程支持 4.3 协作与集成 一、软件概述 1.1 软件简介 …

linux 进程D状态的解决思路

同时做了录屏放到B站了&#xff0c;伙伴们视频给个3连支持一下 linux 进程D状态解决思路 1. 问题描述 在Linux系统环境&#xff0c;进程在内核模式下等待I/O完成时通常会进入不间断睡眠状态&#xff0c;此时使用ps或top命令输出的进程显示为D状态。当然我们也可以使用sysrq工具…

基于Python flask的图书借阅管理系统的设计与实现

基于Python Flask的图书借阅管理系统旨在为图书馆或类似机构提供一个高效、便捷的管理平台&#xff0c;覆盖图书借阅的各个环节&#xff0c;帮助管理员和读者更好地管理和使用图书资源。该系统采用Python编程语言和Flask框架进行开发&#xff0c;结合了数据库管理、用户认证、数…

数字图像处理【13】图像特征概述。

前言概述 打算用几篇文章回顾OpenCV特征模块&#xff08;features2d&#xff09;当中的对象检测&#xff08;object detection&#xff09;概念&#xff0c;以及主要的经典算法。这些传统的算法相对于现在来讲&#xff0c;可能有些过时&#xff0c;但对于初学者来说还是有必要…

netty编程之广播消息

写在前面 本文看下使用netty如何实现广播消息&#xff0c;主要依赖于类io.netty.channel.group.ChannelGroup。 1&#xff1a;正戏 首先定义server&#xff1a; package com.dahuyou.netty.broadcastmsg;import io.netty.bootstrap.ServerBootstrap; import io.netty.chann…

Midjourney中文版教程:参数详解

1.长宽比 可以设置图片的纵横比。按照需求可以选择不同的尺寸&#xff0c;也可以自定义。 注意&#xff1a;--ar必须使用整数。使用139&#xff1a;100代替1.39&#xff1a;1。 长宽比会影响生成图像的形状和构图。 在放大时&#xff0c;某些长宽比可能会稍微改变。 较旧的…

「字符串」详解AC自动机并实现对应的功能 / 手撕数据结构(C++)

前置知识 在此前&#xff0c;你应该首先了解trie树&#xff08;字典树&#xff09;的概念&#xff1a; 「字符串」详解Trie&#xff08;字典树|前缀树&#xff09;并实现对应的功能 / 手撕数据结构&#xff08;C&#xff09; 我们建议你先阅读这篇文章&#xff0c;以了解我们…

C语言-用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出。

题目要求&#xff1a; 用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n个整数在主函数中输入&#xff0c;最后在主函数中输出。 程序&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() {int arr[100];int* pa…

王者壁纸下载站照片墙-(HTML+CSS)

效果图&#xff1a; 参考源代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>王者荣耀高清壁纸</title><style>#main{width:1366px;height:768px;margin-top:20px;}#main img{width:350px;}…

算法的学习笔记—从上往下打印二叉树(牛客JZ32)

&#x1f600;前言 在二叉树的遍历问题中&#xff0c;从上往下、从左到右打印出二叉树的每个节点值是一种常见的题目类型。这种遍历方式与广度优先搜索&#xff08;BFS&#xff09;密切相关&#xff0c;常常用于需要层次遍历&#xff08;Level-order Traversal&#xff09;的场…

PCIE-Precode

Transmitter Precode Request: Precoding可以有效的降低Burst errors&#xff08;突发连续&#xff09;的影响&#xff0c;但是Bit Error Rate&#xff08;BER&#xff09;将上升为之前的两倍. 32GT/s就必须使用这项功能吗&#xff1f;&#xff1f; [FPGA 实现及PCIe IP 核知…

SD 卡数据恢复免费版软件推荐及无法读取修复指南!

SD 卡数据怎么恢复&#xff1f;SD卡无法读取怎么修复&#xff1f;有没有SD卡数据恢复免费版&#xff1f; 在如今数字化的时代&#xff0c;SD 卡作为我们存储珍贵记忆和重要文件的常用工具&#xff0c;一旦出现数据丢失或无法读取的情况&#xff0c;往往会让人感到焦虑和无助。…

JAVA中的语序

目录 1. 顺序 2. 分支 2.1 if语句 2.1.1 单一条件的if语句 2.1.2 if-else语句 2.1.3 多层if-else语句 2.2 switch语句 3. 循环 3.1 for循环 3.2 while循环 3.3 do-while循环 3.4 break和continue 语序即代码运行的顺序&#xff0c;主要分为三种&#xff0c;顺序、分…

Java数组怎么转List,Stream的基本方法使用教程

Stream流 Java 的 Stream 流操作是一种简洁而强大的处理集合数据的方式,允许对数据进行高效的操作,如过滤、映射、排序和聚合。Stream API 于 Java 8 引入,极大地简化了对集合(如 List、Set)等数据的处理。 一、创建 Stream 从集合创建: List<String> list = Ar…

C#用户控件usercontrol中的子控件事件及属性的传递

也不知道这个标题怎么写&#xff0c;但是问题是个老问题&#xff0c;大家都可能遇到过&#xff0c;不过有同学问到&#xff0c;那就写出来。其实很简单。只不过有的同学看了其他博文后脑子还是懵懵的。所以这里就分两部分来说明一下。 文章目录 一、属性的传递1、原理2、步骤3…

一个实验带你全面学废网络OSPF协议内容

文章目录 一、OSPF实验与原理1. 多区域与虚链路配置及原理2. OSPF区域与接口认证的方法3. OSPF的Cost 值的作用4. 明白OSPF引入缺省、直连路由、宣告路由方法5. 描述OSPF区域间路由汇总和外部路由汇总6. 描述OSPF的5种类型的LSA区别&#xff0c;以及作用7. 控制OSPF的DR与BDR选…

微信小程序——弹出隐私指引教程(含代码)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…