C 读取数据文件时,使用给定的数据计算总和

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

我能够打印出每个销售人员的总数,但是每个人的一个产品的计算结果有点不准确。有人能帮我指出这个明显的错误吗? 访问以获取“Albatross.txt”文件

#包括
#包括
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;
}