上机练习19
p314.c
/*编写一程序P314.C实现以下功能
有一存储很多商品数据(每件商品的属性先后
包括:品名、规格、单价(有小数位)、数量,数据的最长长度分别为20、10、6、5,在文件中以空格为分隔,每个商品的数
据占一行)的文本文件,从键盘输入某种商品的品名,要求在文件中查找有无相应品名商品(可能有多条记录或没有),若有则
在屏幕上显示出相应的商品的品名、规格、数量、单价(显示时,品名、规格、数量、单价之间使用逗号(,)作分隔,单价显
示时只显示2位小数),若无则显示没有相应品名的商品。
单击此处下载程序运行时测试用的商品数据文件sp.txt并保存到程序P314.C所在的文件夹且文件名保持不变。
编程可用素材:
printf("Please input shang pin pin ming:");
printf("\ncha zhao qing kuang:\n");
printf("mei you shang pin :);
文本文件中一行: xuebi da 6.00 345
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
FILE *fp;
char name[21];
char inputName[21];
char size[11];
float price;
int number;
int flag = 0;
printf("Please input shang pin pin ming:");
scanf("%s", inputName);
// file open
fp = fopen("sp.txt", "r");
if (NULL == fp)
{
printf("file open error.\n");
exit(1);
}
// find sp
printf("\ncha zhao qing kuang:\n");
while (fscanf(fp, "%s %s %f %d", name, size, &price, &number) == 4)
{
if (strcmp(inputName, name) == 0)
{
flag = 1;
printf("%s,%s,%d,%.2f\n", name, size, number, price);
}
}
if (flag == 0)
{
printf("mei you shang pin :%s", inputName);
}
// file close;
fclose(fp);
fp = NULL;
return 0;
}
p320.c
/*
编写一程序P320.C实现以下功能
在文本文件Comp.txt里有需要计算结果的整数算式,每个算式占一行且文件中只有一个算式,运算类型只有“加法(+)”或
者“减法(-)”且运算符前后至少有一个空格。计算该算式的结果并在屏幕上显示。
单击此处下载程序运行时测试用的算式文件Comp.txt(加法示例,编程时还应考虑算式为减法的情况)并保存到程序P320.C所
在的文件夹且文件名保持不变。
编程可用素材:printf("%d + %d = %d\n"...、printf("%d - %d = %d\n"...。
*/
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1, num2;
int result;
char ch;
FILE *fp;
// 开文件
fp = fopen("Comp.txt", "r");
if (NULL == fp)
{
printf("file open error! \n");
exit(1);
}
// 读,算
while (3 == fscanf(fp, "%d %c %d", &num1, &ch, &num2))
{
if ('+' == ch)
{
result = num1 + num2;
printf("%d + %d = %d\n", num1, num2, result);
}
else if ('-' == ch)
{
result = num1 - num2;
printf("%d - %d = %d\n", num1, num2, result);
}
else
{
printf("operator error!\n");
fclose(fp);
exit(2);
}
}
// 关文件
fclose(fp);
fp = NULL;
return 0;
}
p321.c
/*
编写一程序P321.C实现以下功能
在文本文件Comp.txt里有需要计算结果的整数算式,每个算式占一行且文件中有多个(数量不确定)算式,
运算类型只有“加法(+)”或者“减法(-)”且运算符前后至少有一个空格。计算这些算式的结果并在屏幕上显示。
单击此处下载程序运行时测试用的算式文件Comp.txt并保存到程序P321.C所在的文件夹且文件名保持不变。
编程可用素材:printf("Line %03d: %5d + %-5d = %-6d\n"...、printf("Line %03d: %5d - %-5d = %-6d\n"...。
*/
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1, num2;
int result;
char ch;
FILE *fp;
int i = 0;
// 开文件
fp = fopen("Comp.txt", "r");
if (NULL == fp)
{

此博客介绍了四个C语言程序,分别用于从文本文件中搜索特定商品信息(P314.C)、解析整数算式并计算结果(P320.C-P322.C),以及处理多文件间的混合运算(P324.C-P325.C)。通过阅读,读者将掌握文件操作、数据解析及基本算法应用。
最低0.47元/天 解锁文章
8617

被折叠的 条评论
为什么被折叠?



