现要为某一个销售部门编写一个程序管理约100种商品。要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001)、商品名称、商品销售量和商品销售额等信息,并编写以下函数···········

c语言-遍历结构体里的数组元素---@颜麓 遍历结构体里的数组元素的两种方法 //设计一个描述商品的结构体,存放一个商品信息,并显示 #include<stdio.h> struct goods { char name[10];//10 int date;//4 char quality[10];//10 float price;//4 }; struct goods str[5]={ {"yanlu ",20201211,"514years",100}, {"achang",20201210,"30 阅读详情

原题:现要为某一个销售部门编写一个程序管理约100种商品。要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001)、商品名称、商品销售量和商品销售额等信息,并编写以下函数:
1.编写一个函数输入所有商品的信息
2.编写一个函数对商品进行排序,排序规则如下:首先按照商品销售额排降序;如果商品销售额相同,则再按照商品销售量排升序
3.编写一个函数将所有商品信息保存到一个二进制文件中
4.编写一个函数读取二进制文件中的所有商品信息
5.编写一个函数search_no(char *pNo),根据商品编号(pNo)查找商品。查找规则如下:如果pNo为NULL,则表示没有指定商品编号,否则查找指定商品编号的商品并输出
6.编写一个函数search_values(double count ,double amount),根据商品数量(count)和金额(amount)来查找数量小于等于count且金额大于等于amount的商品。例如,search_values(10,2600)查找数量小于等于10,金额大于等于2600的商品,并且输出找到的所有商品
7.编写主函数调用上述函数
说明:除了这些函数之外,还可以有其他的函数。

话不多说,开工!

首先设计一个结构体类型描述商品

struct commodity{
	char GoodsNumber[10];//商品编号
	char GoodsName[21];//商品名称
	double GoodsCount;//商品数量
	double GoodsAmount;//商品金额
	int SalesNumber;//商品销售量
	int SalesVolume;//商品销售额
}goods[120];//初始化一个足够大的结构体数组

1.第一个函数:编写一个函数输入所有商品的信息

void Enter_Product_Information(struct commodity goods[],int n){
	int i;
	for(i=0;i<n;i++){//可以实现对n个商品的信息进行输入
		printf("请输入商品的编号:\n");
		scanf("%s",&goods[i].GoodsNumber);
		printf("请输入商品的名称:\n");
		scanf("%s",&goods[i].GoodsName);
		printf("请输入商品的数量:\n");
		scanf("%lf",&goods[i].GoodsCount);
		printf("请输入商品的金额:\n");
		scanf("%lf",&goods[i].GoodsAmount);
		printf("请输入商品的销售量:\n");
		scanf("%d",&goods[i].SalesNumber);
		printf("请输入商品的销售额:\n");
		scanf("%d",&goods[i].SalesVolume);
	}
}

2.编写一个函数对商品进行排序,排序规则如下:首先按照商品销售额排降序;如果商品销售额相同,则再按照商品销售量排升序

void Commodity_Ranking(struct commodity goods[],int n){
	int i,j;
	struct commodity *p[n];//定义一个指针数组
    for(i=0;i<n;i++)
    {
        p[i]=&goods[i];//使每个指针指向一个结构体数组元素 
    }
    struct commodity *temp; 
    for(i=0;i<n-1;i++)//冒泡排序 
        for(j=0;j<n-i-1;j++){
            if((p[j]->SalesVolume)<(p[j+1]->SalesVolume))
            {
                temp=p[j+1];//交换两结构体在结构体数组中的位置 
                p[j+1]=p[j];
                p[j]=temp;
            }
            if((p[j]->SalesVolume)==(p[j+1]->SalesVolume)){
            	if((p[j]->SalesNumber)>(p[j+1]->SalesNumber)){
            		temp=p[j+1];
                	p[j+1]=p[j];
                	p[j]=temp;
				}
			}
        }
    printf("商品排名:\n");
    for(i=0;i<n;i++){
    	printf("第%d名:%s\n",i+1,p[i]->GoodsName);
	}
}

3.编写一个函数将所有商品信息保存到一个二进制文件中

void Save(char *GoodsName,int n){
	FILE *fp;
	int i,k,count;
	if((fp=fopen(GoodsName,"wb"))==NULL){
		printf("cannot open file\n");
		exit(0);//需要stdlib.h头文件 
	}
	for(i=0;i<n;i++)
		if(fwrite(&goods[i],sizeof(struct commodity),1,fp)==0)
			k++;
		if(fwrite(&goods[i],sizeof(struct commodity),1,fp)!=0)
			count++;
		if(count!=0){
			printf("文件读写成功!\n");
		}
		else
			printf("文件读写失败!\n");
	fclose(fp);
}


下面是之前搞的,可以不看
void Save_to_file(struct commodity goods[],int n){
	FILE *fp;
	int i;
	int size =sizeof(struct commodity);
	fp=fopen("zq.txt","wb");
	if((fp==NULL)){
		printf("cannot create file\n");
		exit(0);//需要stdlib.h头文件 
	}
	rewind(fp);// 定位到文件开始处,为开始读取做好准备
	while(i<n&&fread(&goods[i],size,1,fp)==1){// 读取字段成功(每次循环把一个结构读到结构数组中,当数组满或文件读完时停止)
		i++;
	}
	fclose(fp);
}

4.编写一个函数读取二进制文件中的所有商品信息

void show(char *GoodsName,int n){
	int i;
	FILE *fp;
	if((fp=fopen(GoodsName,"rb"))==NULL){
		printf("cannot open file\n");
		exit(0);
	}
	for(i=0;i<n;i++){
		fread(&goods[i],sizeof(struct commodity),1,fp);
		printf("商品编号:%s\n",goods[i].GoodsNumber);
		printf("商品名称:%s\n",goods[i].GoodsName);
		printf("商品数量:%lf\n",goods[i].GoodsCount);
		printf("商品金额:%lf\n",goods[i].GoodsAmount);
		printf("商品销售量:%d\n",goods[i].SalesNumber);
		printf("商品销售额:%d\n",goods[i].SalesVolume);
		printf("\n");
	}
	fclose(fp);
}

5.编写一个函数search_no(char *pNo),根据商品编号(pNo)查找商品。查找规则如下:如果pNo为NULL,则表示没有指定商品编号,否则查找指定商品编号的商品并输出。

void search_no(char *pNo){
	int i,k=0;
	char goods_number[10];
	printf("请输入商品编号:\n");
					scanf("%s",goods_number);
					pNo=goods_number;
	for(i=0;i<=120;i++){
		if(strcmp(goods_number,goods[i].GoodsNumber)==0){
			printf("商品为%s\n",goods[i].GoodsName);
			k++;
		}
	}
	if(k==0)
			printf("没有指定商品编号!\n");
}

6.编写一个函数search_values(double count ,double amount),根据商品数量(count)和金额(amount)来查找数量小于等于count且金额大于等于amount的商品。例如,search_values(10,2600)查找数量小于等于10,金额大于等于2600的商品,并且输出找到的所有商品。

额…到这里我才发现商品还需要数量和金额这两个属性…怎么办…改吧…

void search_values(double count,double amount){
	int i;
	printf("找到的所有商品如下:\n");
	for(i=0;i<=120;i++){
		if(goods[i].GoodsCount<=count&&goods[i].GoodsAmount>=amount){
			printf("%s\n",goods[i].GoodsName);
		}
	}
} 

ok
最后一步

编写主函数调用上述函数

额…这个怎么搞
等等,我们可以自定义一个菜单函数!

void menu(){
	printf("\n\n\n\n\n");
	printf("\t\t|-----------------------菜单----------------------|\n");
	printf("\t\t|\t 0. 退出程序                              |\n");
	printf("\t\t|\t 1. 输入商品信息                          |\n");
	printf("\t\t|\t 2. 进行商品排序                          |\n");
	printf("\t\t|\t 3. 保存所有商品信息进二进制文件中        |\n");
	printf("\t\t|\t 4. 读取二进制文件中的商品信息            |\n");
	printf("\t\t|\t 5. 根据商品编号查找商品                  |\n");
	printf("\t\t|\t 6. 根据商品数量和金额查找商品            |\n");
	printf("\t\t|-------------------------------------------------|\n\n");
	printf("\t\t\t\t选择0~6"); 
}

ok 我们可以开始搞主程序了!

int main(){
	int n=0,number;
	double count,amount;
	char filename[66];
	char *p=NULL;
	menu();
	printf("\n\n------------------------输入你的选择:");
	scanf("%d",&number);
	while(number){
		switch(number){
			case 1:
				printf("请输入需要处理的商品种类数量:\n");
				scanf("%d",&n);
				Enter_Product_Information(goods,n); 
				break;
			case 2:
				if(n==0)
					printf("请先输入商品信息!\n");
				else
					Commodity_Ranking(goods,n);
				break;
			case 3:
				if(n==0)
					printf("请先输入商品信息!\n");
				else{
					printf("请输入文件所在路径及名称:\n");
					scanf("%s",filename);
					Save(filename,n);
				}	
			    break;
			case 4:
				if(n==0)
					printf("请先输入商品信息!\n");
				else{
					printf("请输入文件所在路径及名称:\n");
					scanf("%s",filename);
					show(filename,n);
				}	
				break;
			case 5:
				if(n==0)
					printf("请先输入商品信息!\n");
				else{
					search_no(p);
				}	
				break;
			case 6:
				if(n==0)
					printf("请先输入商品信息!\n");
				else{
					printf("请输入商品数量和金额的值:\n");
					scanf("%lf%lf",&count,&amount);
					search_values(count,amount);
				}
				break;
			default:break;
		}
		getch();
		menu();
		printf("\n\n------------------------输入你的选择:");
		scanf("%d",&number);
	} 
}

对了头文件不能忘了

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>

ok
那么这个小程序算是做完了!

下面是完整程序

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
struct commodity{
	char GoodsNumber[10];//商品编号
	char GoodsName[21];//商品名称
	double GoodsCount;//商品数量
	double GoodsAmount;//商品金额
	int SalesNumber;//商品销售量
	int SalesVolume;//商品销售额
}goods[120];//初始化一个足够大的结构体数组

void Enter_Product_Information(struct commodity goods[],int n){
	int i;
	for(i=0;i<n;i++){//可以实现对n个商品的信息进行输入
		printf("请输入商品的编号:\n");
		scanf("%s",&goods[i].GoodsNumber);
		printf("请输入商品的名称:\n");
		scanf("%s",&goods[i].GoodsName);
		printf("请输入商品的数量:\n");
		scanf("%lf",&goods[i].GoodsCount);
		printf("请输入商品的金额:\n");
		scanf("%lf",&goods[i].GoodsAmount);
		printf("请输入商品的销售量:\n");
		scanf("%d",&goods[i].SalesNumber);
		printf("请输入商品的销售额:\n");
		scanf("%d",&goods[i].SalesVolume);
	}
}

void Commodity_Ranking(struct commodity goods[],int n){
	int i,j;
	struct commodity *p[n];//定义一个指针数组
    for(i=0;i<n;i++)
    {
        p[i]=&goods[i];//使每个指针指向一个结构体数组元素 
    }
    struct commodity *temp; 
    for(i=0;i<n-1;i++)//冒泡排序 
        for(j=0;j<n-i-1;j++){
            if((p[j]->SalesVolume)<(p[j+1]->SalesVolume))
            {
                temp=p[j+1];//交换两结构体在结构体数组中的位置 
                p[j+1]=p[j];
                p[j]=temp;
            }
            if((p[j]->SalesVolume)==(p[j+1]->SalesVolume)){
            	if((p[j]->SalesNumber)>(p[j+1]->SalesNumber)){
            		temp=p[j+1];
                	p[j+1]=p[j];
                	p[j]=temp;
				}
			}
        }
    printf("商品排名:\n");
    for(i=0;i<n;i++){
    	printf("第%d名:%s\n",i+1,p[i]->GoodsName);
	}
}

void Save(char *GoodsName,int n){
	FILE *fp;
	int i,k,count;
	if((fp=fopen(GoodsName,"wb"))==NULL){
		printf("cannot open file\n");
		exit(0);//需要stdlib.h头文件 
	}
	for(i=0;i<n;i++)
		if(fwrite(&goods[i],sizeof(struct commodity),1,fp)==0)
			k++;
		if(fwrite(&goods[i],sizeof(struct commodity),1,fp)!=0)
			count++;
		if(count!=0){
			printf("文件读写成功!\n");
		}
		else
			printf("文件读写失败!\n");
	fclose(fp);
}

void show(char *GoodsName,int n){
	int i;
	FILE *fp;
	if((fp=fopen(GoodsName,"rb"))==NULL){
		printf("cannot open file\n");
		exit(0);
	}
	for(i=0;i<n;i++){
		fread(&goods[i],sizeof(struct commodity),1,fp);
		printf("商品编号:%s\n",goods[i].GoodsNumber);
		printf("商品名称:%s\n",goods[i].GoodsName);
		printf("商品数量:%lf\n",goods[i].GoodsCount);
		printf("商品金额:%lf\n",goods[i].GoodsAmount);
		printf("商品销售量:%d\n",goods[i].SalesNumber);
		printf("商品销售额:%d\n",goods[i].SalesVolume);
		printf("\n");
	}
	fclose(fp);
}

void search_no(char *pNo){
	int i,k=0;
	char goods_number[10];
	printf("请输入商品编号:\n");
					scanf("%s",goods_number);
					pNo=goods_number;
	for(i=0;i<=120;i++){
		if(strcmp(goods_number,goods[i].GoodsNumber)==0){
			printf("商品为%s\n",goods[i].GoodsName);
			k++;
		}
	}
	if(k==0)
			printf("没有指定商品编号!\n");
}

void search_values(double count,double amount){
	int i;
	printf("找到的所有商品如下:\n");
	for(i=0;i<=120;i++){
		if(goods[i].GoodsCount<=count&&goods[i].GoodsAmount>=amount){
			printf("%s\n",goods[i].GoodsName);
		}
	}
} 

void menu(){
	printf("\n\n\n\n\n");
	printf("\t\t|-----------------------菜单----------------------|\n");
	printf("\t\t|\t 0. 退出程序                              |\n");
	printf("\t\t|\t 1. 输入商品信息                          |\n");
	printf("\t\t|\t 2. 进行商品排序                          |\n");
	printf("\t\t|\t 3. 保存所有商品信息进二进制文件中        |\n");
	printf("\t\t|\t 4. 读取二进制文件中的商品信息            |\n");
	printf("\t\t|\t 5. 根据商品编号查找商品                  |\n");
	printf("\t\t|\t 6. 根据商品数量和金额查找商品            |\n");
	printf("\t\t|-------------------------------------------------|\n\n");
	printf("\t\t\t\t选择0~6"); 
}

int main(){
	int n=0,number;
	double count,amount;
	char filename[66];
	char *p=NULL;
	menu();
	printf("\n\n------------------------输入你的选择:");
	scanf("%d",&number);
	while(number){
		switch(number){
			case 1:
				printf("请输入需要处理的商品种类数量:\n");
				scanf("%d",&n);
				Enter_Product_Information(goods,n); 
				break;
			case 2:
				if(n==0)
					printf("请先输入商品信息!\n");
				else
					Commodity_Ranking(goods,n);
				break;
			case 3:
				if(n==0)
					printf("请先输入商品信息!\n");
				else{
					printf("请输入文件所在路径及名称:\n");
					scanf("%s",filename);
					Save(filename,n);
				}	
			    break;
			case 4:
				if(n==0)
					printf("请先输入商品信息!\n");
				else{
					printf("请输入文件所在路径及名称:\n");
					scanf("%s",filename);
					show(filename,n);
				}	
				break;
			case 5:
				if(n==0)
					printf("请先输入商品信息!\n");
				else{
					search_no(p);
				}	
				break;
			case 6:
				if(n==0)
					printf("请先输入商品信息!\n");
				else{
					printf("请输入商品数量和金额的值:\n");
					scanf("%lf%lf",&count,&amount);
					search_values(count,amount);
				}
				break;
			default:break;
		}
		getch();
		menu();
		printf("\n\n------------------------输入你的选择:");
		scanf("%d",&number);
	} 
}

程序可能还有一些不足之处
欢迎大家指正

datart 二开环境搭建 下载源码, 地址: https://github.com/running-elephant/datart, dev 分支; 解压后使用 idea 打开; 服务端: 3.1 安装依赖, idea会自动安装; 3.2 修改配置文件 /config/application.yml 3.3 创建数据库,并将bin/datart.sql导入到数据库中 3.4 入口: /server/src/main/java/datart/DatartServerApplication.java [外链图片转存失败,源站可能有防. 阅读详情

相关推荐

【PMP认证考试之个人总结】第 4 章 项目范围管理

第 4 章 项目范围管理 4.1 综述   1.产品范围和项目范围的区别 ①产品范围:某项产品、服务或成果所具有的特性和功能; ②项目范围:为交付具有规定特性与功能的产品、服务或成果而必须完成的工作; 2.收集需求、定义范围和创建WBS输出的区别 ①收集需求 ===> 需求跟踪矩阵; ②定义范围 ===> 项目范围说明书;

qq296398300的博客 2890

c语言结构体共用体实验报告,C语言结构体和共用体实验报告

C语言结构体和共用体实验报告 (17页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!11.90 积分实验九参考程序实验9-1/*****************************************************************实验9.1**(1)为某商店的商品设计合适的结构体 (PRODUCT)。每一种商品包含编号(nu...

weixin_29569767的博客 672

Topas——基于Geant4的放射治疗蒙特卡罗算法模拟工具

本文内容参考Joseph Perl 的线上会议,视频详情可见于,该视频会议内容主要介绍Topas功能、软件架构、工作流程、参数设定、物理模型、具体案例等,对TOPAS的基本入门使用方法以及使用规定作出阐述。

fy方的博客 7604

C++《面向对象程序设计课程设计》

面向对象程序设计课程设计》课程说明适用专业:计算机科学与技术课程周数:5周一、根据计算机科学与技术专业人才培养方案制订。(一)课程设计性质课程设计是学生对课程所学知识的综合运用,它与课堂听讲、上机实验、课外练习、自学研究相辅相成,构成一个完整的课程教学体系。(二)主要先修课程和后续课程。

程序设计 6119

win10+conda+pytorch-gpu安装

pytorch 官网上只有linux和Mac的程序包,没有windows系统的,但是windows系统还是可以用pytorch的。  github: https://github.com/peterjc123/pytorch-scripts 首先要安装anaconda: 推荐清华镜像 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ ...

一摩尔自由的博客 1万+

使用patchelf与独立glibc解决Cursor/VSCode远程开发环境兼容性问题

本文针对Cursor/VSCode远程开发连接Ubuntu 18.04、CentOS 7等老系统时因GLIBC版本过低导致的兼容性问题,提供了一套安全高效的解决方案。核心思路是通过编译独立的glibc-2.28环境,并利用patchelf工具修改远程服务端的node可执行文件,使其优先使用新版glibc,从而在不升级系统库、不影响系统稳定性的前提下,完美解决远程开发环境“罢工”的难题。

weixin_28835789的博客 537

数据库第八次作业——工厂项目

身份设定:你的父亲是厂长,在毕业后计划继承家业 随着“互联网+”的不断深入,经济、社会发展加速,各位厂长副厂长会议决定传统的工厂管理方法需要革新,要紧跟时代潮流数字化的管理工厂。他们一致认为你作为厂长接班人,又是计算机相关专业的大专生有义务也有能力做好这件事。 你告诉大家最近正在学习MySQL数据库,作为70/80后他们不知道什么是MySQL,你深知解释了他们也不懂,但碍于面子还是说了MySQL是一种数据库管理系统。他们看你愿意解释所以争先恐后的问,问题越来越多…… 1、什么是数据库? 数据库是

weixin_62682574的博客 1036

PyTorch生成式人工智能(1)——神经网络与模型训练过程详解

在本节中,我们介绍了传统机器学习与人工神经网络间的差异,并了解了如何在实现前向传播之前连接网络的各个层,以计算与网络当前权重对应的损失值;实现了反向传播以优化权重达到最小化损失值的目标。并实现了网络的所有关键组成——前向传播、激活函数、损失函数、链式法则和梯度下降,从零开始构建并训练了一个简单的神经网络。

盼小辉丶的博客 1万+

仓库管理系统(附设计要求)

使用链表实现一个仓库管理系统,仓库商品的属性包括(商品编号,商品名称,商品数量),借助计算机来完成如下功能: (1)入库:可以录入商品信息,包括:商品编号,商品名称,商品数量,商品价格; (2)出库:可以删除一定数量的指定商品名称的商品,商品不够给出提示。 (3)修改:修改指定商品编号或者商品名称的价格。 (4)删除:可以删除指定商品编号、商品名称的商品记录。 (5)查询:可以查询所有商

gjq2267787274的专栏 3521

泛微OA自定义post接口和路径(无侵入)

泛微OA自定义post接口和路径(无侵入)

技术分享 3868

精密装配机器人系列编程:ABB IRB 120_(20).编程项目设计与实施

在精密装配机器人系列编程中,项目的成功设计与实施涉及多个关键步骤。从项目需求分析到最终调试,每一个环节都需要细致的考虑和专业的技术。选择合适的编程语言、设计良好的程序结构、掌握调试技巧以及解决常见问题,都是确保机器人高效、稳定运行的重要因素。通过不断优化和改进,可以提高生产效率和产品质量,满足不断变化的生产需求。

zhubeibei168的博客 1243

c语言-遍历结构体里的数组元素

遍历结构体里的数组元素的三种方法 //设计一个描述商品的结构体,存放一个商品信息,并显示 #include<stdio.h> struct goods { char name[10];//10 int date;//4 char quality[10];//10 float price;//4 }; struct goods str[5]={ {"yanlu ",20201211,"514years",100}, ...

希哈科技 2718

ArtMate —— 美术公开课智能体开发全记录

本文档详细描述了一款专为中小学美术公开课设计的智能教学助手的开发过程。该智能体融合了多模态感知、自然语言交互、风格迁移与智能评价等技术,旨在辅助教师开展生动、高效的美术鉴赏与创作课程。全文包含需求分析、系统架构设计、核心模块代码实现、交互界面搭建及完整运行示例,并配有详尽的行内注释和设计思想阐述,为教育技术开发者提供一份可落地、可扩展的参考方案。

huanghm88的专栏 153

C语言结构体商品管理系统

/ printf("第%d商品信息:商品编号:%d商品名称:%s ,价格:%d,数量:%d\n",j,(p+i)->id,(p+i)->name,(p+i)->price,(p+i)->many);printf("第%d商品信息:商品编号:%d商品名称:%s ,价格:%d,数量:%d\n",j,(p+i)->id,(p+i)->name,(p+i)->price,(p+i)->many);开始没有传参导致错误。printf("请输入第%d组的元素,包括姓名,价格,数量",c);

qq_51283343的博客 544

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

购物商城商品数据结构设计(2)——前端数据结构

基于第一篇的理论分析之后(自己都觉得写得有点乱,就看看大概的思路,然后从后面的实践中去理解细节,会更容易),下面讲讲我在前端的数据结构的具体实现。 商品展示 我整体的界面是这样的: 祖册 左侧是类别,右侧是商品,这里每个商品的高度是固定的,比如我这里设计的是80px。除了中间的滚动区域,其他区域均是使用固定尺寸。 ...

lsjweiyi的博客 2435

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

13. 编写程序,使其具有以下功能: (1) 定义一个用来表示商品信息的结构体类型shangpin,该结构体包含三个成员,分别为spid、spname和spdj,其中spid表示商品号,类型为字符数

#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; typedef struct shangpin{ char spid[7]; char spname[15]; float spdj; }shangpin; int main() { shangpin w; FILE *fp; gets(w.spid); gets(w.sp...

Cathy1122334455的博客 3912

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

智能仓库管理系统方案(一)

缩写和定义 Abbreviations and Definitions 61.入库管理. 71.1 总流程图. 71.1.1 根据进货合同或销退信息,生成收货通知单[1] 81.1.2 根据收货通知单进行收货,并打印收货验收记录单和通知清单[2] 81.1.3 根据收货类型决定是否进行QC,需要进行QC的商品进入QC流程[3] 81.1.4 在ERP系统中录入收货单 [

sunney 4946

python通过条码(商品名)查询商品信息(完整版)

前言 录入商品数据太痛苦了,但是又不能不录,所以这时候需要写一个python脚本来完成,仅供参考。 开始 可能会给一个exec表格给你,或者一个文件夹条码图片给你.....要你根据条码(商品名)找到对应的图片,保存起来。 项目代码地址 1.通过百度爬取商品图片(免费接口) # 通过配合商品名通过百度找图片 def getBaiDu(shop_id, search_title): baidu_url ="http://image.baidu.com/search/flip?tn=ba

echo_Ae的博客 4430

C语言实验9_结构体

C语言实验9_结构体 实验09(01)结构体 题目描述 根据实验讲义实验九中的第 1 题的内容和数据完成程序设计。设计结构体,用于存储商品的 信息,包含商品编号、商品名称、商品价格以及商品折扣信息。设计函数 input,实现商品 数据的输入。设计函数 display,实现商品信息的输出。在主函数 main 中定义 keyboard 结构 体变量,用来处理商品键盘的数据。定义一个结构体数组,用于存储 3 种电器商品的信息。 输入描述 输入商品的编号、名称、价格以及折扣信息 输出描述 输出商品的编号、名称、价格

多学习 5299

c语言 结构体练习之 实现产品销售记录的相关功能

/* 产品销售记录包括 产品代码 名称 单价 数量 金额 等信息 1)编写input函数 输入10个产品销售记录的如上信息 2)编写sum函数 计算金额 = 单价 * 数量 3)编写sort函数 按金额从大到小排序 */ #include<stdio.h> #define PRODUCTS 3 //函数原型 void input(); float sum(); v...

张尽欢 2004

(C语言实验练习题)简单的商品列表管理系统

题目:商品列表管理系统 该管理系统要求实现功能包括: 1.商品列表的显示,包括商品的名称、单价、销量、描述。 2.添加商品到商品列表。 3.从商品列表中删除商品。 4.按商品单价、名称、销量排序列表。 5.按商品名称查询商品信息。 6.更改商品信息。 函数功能块设计要求 首先声明一个商品结构体,包括名称、单价、销量、描述四个成员,要求使用结构体数组完成功能实现: 1.main(),主函数,函数整体是一个循环结构,结合多分支语句switch,实现系统的主菜单功能。运行时用户根据菜单选项提示输入选项,系统调用

LG.田猿的博客 2366

瘋子C语言笔记(结构体/共用体/枚举篇)

(一)结构体类型 1.简介: 例: struct date {   int month;   int day;   int year; }; struct student {   int num;   char name[20];   char sex;   int age;   struct date birthday;  /*birthday 是 ...

235

c语言结构体共用体实验报告,C语言结构体和共用体实验报告材料.doc

实用PAGE文案实验九参考程序实验9-1/*****************************************************************实验9.1**(1)为某商店的商品设计合适的结构体 (PRODUCT)。每一种商品包含编号(number)、* 名称(name)、价格(price)、折扣(discount)4项信息,根据表9-1,为这些信息选择合适的数...

weixin_34368102的博客 313

合适使用结构体

在设计结构体时,千万不要再结构体内部定义数组, 因为这会阻碍其应用, 对于如果要使用的地方,数据元素个数小于定义的数组长度,有些浪费。 对于数据元素个数大于定义的数组长度,又显得不够。 最合适的办法是, 在结构体中, 定义一个指针, 之后根据具体需要再定义一个数组,使用这个数组初始化结构体中的指针。 这样,就可以根据需要自行选择合适大小的数组来使用。 尤其在嵌入式

tietao的专栏 1254
上一篇: 7-11 以‘#’结束的字符串中每种数字字符的个数和其它字符的个数 (20分)
下一篇: C语言上机实验九------输入考生答案输出成绩
NeonGlitch
博客等级 码龄6年 96粉丝 67原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值