文件读取以及线性插值

问题遇到的现象和发生背景

问题:衰减系数计算
读入衰减系数文件(文件名: CA Etxt),根据查询的能量 E,插值返回衰减系数 u。设计一个头文件(Calcah 和源文件(CalCA.cpp),包括一个可供调用的函数:double CAShield( double energy, char* filename)://返回衰减系数,单位 1/cm形参:energy 为射线能量,单位MeV; flename 为存储衰减系数的文件名u文件格式如下,第一列能(0.1-2MeV),第二列衰减系数(单位 1/cm
1.00E-01 2.90E+001.50E-01 1.53E+00ce
2.00E-01e 1.14E+00ee
3.00E-01 8.57E-01ee
4.00E-01e 7.33E-01ee
5.00E-01 6.56E-01*
6.00E-01 6.01E-01ee
8.00E-01e 5.23E-01cc
1.00E+00e 4.68E-01ee
1.25E+00- 4.17E-01ee
1.50E+00 3.81E-01ee
2.00E+00 3.33E-01ee

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
运行结果及详细报错内容

无运行结果

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

读入一个txt文本的内容,然后根据一个给出的数去判断这个数(代表能量值)位于那个区间,然后建立一个一次函数去确定这个给出的数的衰减值。

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

整个题的代码 付费悬赏!

您可以通过一个头文件来定义一个可供调用的函数 double CAShield( double energy, char* filename)。这个函数可以读入衰减系数文件,并根据输入的能量值插值计算出衰减系数值。

您可以使用 C++ 的文件输入/输出流来读入文件,然后使用数值插值算法(比如线性插值或插值多项式)来计算查询的衰减系数值。

如果您想更详细的了解如何实现这个函数,

https://blog.csdn.net/weixin_43135178/article/details/117262348

int main()
{
    FILE*fp=NULL;
    int buff[255];
    int i=0;
    fp=fopen("D:/Data_Structure/test.txt","r");
    while(fscanf(fp,"%d", &buff[i])!=EOF)
    {
        i++;
    }
    printf("%d\n", i);
    for(int j=0;j<i;j++)
    {
        printf("%d ", buff[j]);
    }
    return 0;
}