在C中处理文件中的库存数据时,数据打印不正确
我目前正在开发一个程序,该程序获取5种产品的数量和价格,并将其写入文本文件,以表格的形式打印整个数据,然后打印其中一种选定的价格。但是,它只将最后一种产品的数据写入打印的表格,而选定产品的价格打印为0在C中处理文件中的库存数据时,数据打印不正确,c,file,C,File,我目前正在开发一个程序,该程序获取5种产品的数量和价格,并将其写入文本文件,以表格的形式打印整个数据,然后打印其中一种选定的价格。但是,它只将最后一种产品的数据写入打印的表格,而选定产品的价格打印为0 #包括 #包括 typedef结构库{ 整数; 浮动价格; }; 作废打印库存(库存a,内部透镜){ 对于(int code=0;code
#包括
#包括
typedef结构库{
整数;
浮动价格;
};
作废打印库存(库存a,内部透镜){
对于(int code=0;code
我期望输出如下:
库存中将有5种产品。
输入产品的数量:76
输入产品的价格:88
输入产品的数量:5
输入产品的价格:44
输入产品的数量:89
输入产品的价格:32
输入产品的数量:54
输入产品的价格:33
输入产品的数量:94
输入产品的价格:65
代码[0]88.000000 76
代码[1]44.0000005
代码[2]32.00000089
代码[3]33.00000054
代码[4]65.000000 94
输入一个选项(从0开始):
2.
价格是32.000000
但我得到的结果是:
库存中将有5种产品。
输入产品的数量:76
输入产品的价格:88
输入产品的数量:5
输入产品的价格:44
输入产品的数量:89
输入产品的价格:32
输入产品的数量:54
输入产品的价格:33
输入产品的数量:94
输入产品的价格:65
代码[0]65.000000 94
代码[1]65.000000 94
代码[2]65.000000 94
代码[3]65.000000 94
代码[4]65.000000 94
输入一个选项(从0开始):
3.
价格是0.000000
现在,您正在多次打印a
的最新内容
只需将len
传递为1,将print_stock
函数调用移动到for
循环中即可
for (code = 0; code < len; code++) {
printf("Enter the product's quantity:");
scanf("%d", &a.quantity);
printf("Enter the product's price:");
scanf("%f", &a.price);
fprintf(fp, "quantity-%7d price-%7f\n", a.quantity, a.price);
print_stock(a, 1);
}
for(code=0;code
也应考虑打印时的索引。
void print_stock(Stock a[], int len) {
for (int code = 0; code < len; code++)
printf("code[%d] %4f %4d\n", code, a[code].price, a[code].quantity);
}
void打印库存(库存a[],整数){
对于(int code=0;code
您能正确缩进代码吗?您每次都打印相同的a
,那么您如何期望不同的值?您是否希望a
成为数组?如股票a[5]代码>