C 读取数据文件时,使用给定的数据计算总和
我能够打印出每个销售人员的总数,但是每个人的一个产品的计算结果有点不准确。有人能帮我指出这个明显的错误吗? 访问以获取“Albatross.txt”文件C 读取数据文件时,使用给定的数据计算总和,c,C,我能够打印出每个销售人员的总数,但是每个人的一个产品的计算结果有点不准确。有人能帮我指出这个明显的错误吗? 访问以获取“Albatross.txt”文件 #包括 #包括 int main(){ 文件*fp; fp=fopen(“信天翁”txt,“r”); 如果(fp==NULL){ printf(“错误:无法打开文件。\n”);} 否则{ printf(“文件已成功打开。\n”);} 国际人士, 产品,, 价格, 全部的 总和 printf(“文件内容:\n”); int i,j=1; //IN
#包括
#包括
int main(){
文件*fp;
fp=fopen(“信天翁”txt,“r”);
如果(fp==NULL){
printf(“错误:无法打开文件。\n”);}
否则{
printf(“文件已成功打开。\n”);}
国际人士,
产品,,
价格,
全部的
总和
printf(“文件内容:\n”);
int i,j=1;
//INTA[人员][产品][价格];
对于(i=0;i#包括
#包括
#定义记录20的数量
#定义\u PSN 5/+1的数量,0是虚拟的
类型定义结构记录{
国际人士;
int产品;
国际价格;
}记录;
int main(){
文件*fp;
fp=fopen(“信天翁”txt,“r”);
如果(fp==NULL){
printf(“错误:无法打开文件。\n”);
返回退出失败;
}否则{
printf(“文件已成功打开。\n”);
}
记录一个[NUM_OF_REC];
int total[NUM_OF_PSN]={0};
printf(“文件内容:\n”);
int i;
对于(i=0;i
您没有计算每个销售人员的实际销售额之和,不是吗?请尝试将值更改为随机值。total=total+price;
取决于销售人员4的最后一个条目。您实际成功地编译了这一行??A[person][product][price]是错误的。你可能想读一下:我怀疑你打算为每个销售人员添加5种产品,因此你的产品线:for(I=1;iThanks!这非常有用!尤其是数组的正确使用方式!我对此也有点怀疑。
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE*fp;
fp=fopen("Albatross.txt", "r");
if (fp==NULL){
printf ("Error: can't open file.\n");}
else{
printf ("File opened successfully.\n");}
int person,
product,
price,
total,
sum;
printf("File Contents: \n");
int i,j=1;
//int A[person][product][price];
for (i = 0; i<20; i++)
{
int A[person][product][price];
fscanf(fp, "%d" "%d" "%d", &person, &product, &price);
printf ("%d %d %d\n", person, product, price);
}
for (i=1; i<5; i++){
total = total + price;
printf( "Salesperson %d : \t%d\n", i,total);
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define NUM_OF_REC 20
#define NUM_OF_PSN 5 //+1 , 0 is dummy
typedef struct rec {
int person;
int product;
int price;
} Record;
int main(){
FILE*fp;
fp=fopen("Albatross.txt", "r");
if (fp==NULL){
printf ("Error: can't open file.\n");
return EXIT_FAILURE;
} else{
printf ("File opened successfully.\n");
}
Record A[NUM_OF_REC];
int total[NUM_OF_PSN] = {0};
printf("File Contents: \n");
int i;
for (i = 0; i < NUM_OF_REC; i++){
fscanf(fp, "%d %d %d", &A[i].person, &A[i].product, &A[i].price);
printf ("%d %d %d\n", A[i].person, A[i].product, A[i].price);
total[A[i].person] += A[i].price;
}
fclose(fp);
for (i=1; i< NUM_OF_PSN; i++){
printf("Salesperson %d : \t%d\n", i, total[i]);
}
return 0;
}