欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言:文件操作 检索商品

程序员文章站 2022-07-15 08:03:34
...

以下的代码块,是建立在已经下载了sp.txt

要求:
有一存储很多商品数据(每件商品的属性先后包括:品名、规格、单价(有小数位)、数量,数据的最长长度分别为20、10、6、5,在文件中以空格为分隔,每个商品的数据占一行)的文本文件,从键盘输入某种商品的品名,要求在文件中查找有无相应品名商品(可能有多条记录或没有),若有则在屏幕上显示出相应的商品的品名、规格、数量、单价(显示时,品名、规格、数量、单价之间使用逗号(,)作分隔,单价显示时只显示2位小数),若无则显示没有相应品名的商品。

代码框架展示:

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

struct goods
{
	char pinming[24];
	char guige[12];
	float danjia;
	long shuliang;
};
int main()
{
	int n;
	char sppm[21];
	FILE *fp;
	struct goods SP;

	printf("Please input shang pin pin ming:");
	gets(sppm);
    
	fp=fopen("sp.txt","r");
	if(fp==NULL)
	{
		printf("file open error!");
		exit(0);
	}
	n=0;
	printf("\nOutput:\ncha zhao qing kuang:");
	while(!feof(fp))
	{
		if(fscanf(fp,"%s%s%6f%5ld",SP.pinming,SP.guige,&SP.danjia,&SP.shuliang)<4)
		{
			break;
		}
		else
		{
			if(strcmp(sppm,SP.pinming)==0)
			{
				n++;
				printf("\n%s,%s,%ld,%.2f",SP.pinming,SP.guige,SP.shuliang,SP.danjia);
			}
		}
	}
	if(n==0)
	{
		printf("\nmeiyou shangpin:%s\n",sppm);
	}
	fclose(fp);

	return 0;
	
		
}
相关标签: 低产 c语言