从txt文件中导入多个数据代入到公式中计算

从txt文件中导入数据代入到公式中计算

这个博客是用来记录的

好久没有更新过博客了,前几天一个同学让我帮忙写一个程序用来计算,写完后顿时发觉当时过程控制老师说的是真的没毛病,有些计算如果很复杂,而且数据量比较多的话,一个一个计算实在是太复杂了,写程序就让计算简单很多了

先看他发给我的公式
在这里插入图片描述
参数有三个,分别是B,Z和A
这三个参数通过txt文件导入,要求计算出Rc的值

下面是源代码

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<fstream>
#include <math.h>
using namespace std;
int main()
{
	float arr1[64];
	float arr2[64];
	float arr3[64];
	int i = 0;
	const float pi = 3.14159265;
	ifstream myfile("C:\\data.txt");//文件路径和文件名,最好不要包含中文
	if(!myfile){
		cout << "error!!";
		exit(1);
	}
	else
	{
		char str[64] = {0};
		while(!myfile.eof())
		{
			myfile.getline(str, 64);//分别将三列数据读取到三个数组中,每行的三个数据使用空格隔开
			sscanf(str, "%f %f %f", &arr1[i], &arr2[i],&arr3[i]);
			float a = pow(arr3[i], 0.66666666);//pow是计算次方的函数
			float b = pow(arr2[i], 0.33333333);
			float c = pow(arr1[i], 2);
			float result = 1.631*b*(1 + 5 * c / 8 / pi)*(1 + 0.062*(arr3[i] / (arr2[i] * (1.98 + 0.0155*a)) - 1));
			cout << result << endl;
			i++;
		}
	}
	system("pause");
};

data.txt的数值
在这里插入图片描述
得到的结果是
在这里插入图片描述
此外,在编译过程中会遇到这样的问题
在这里插入图片描述
原因是计算次方的pow函数的第一个参数需要是double型的,但是我将float换成double时,编译不会提示警告,但a和b的值一直是1,结果也会产生错误,忽略这个警告得到的值得精确度也达到了0.001,再加上他需要将这些值作成曲线图,是不影响最终的结果的,但是最终还是个问题,有待解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值