这是我拥有的txt文件摘要,其中列出了温度,电压和灵敏度
Temp. Voltage Sensitivity
(Kelvin) (Volts) (milliVolts/Kelvin)
1.4 1.644290 -12.5
1.5 1.642990 -13.6
1.6 1.641570 -14.8
1.7 1.640030 -16.0
1.8 1.638370 -17.1
我要完成的工作是将“温度”和“电压”的值读入成对的向量中,这样,如果查看“温度”,我可以找到相应的电压。制作两个单独的向量并根据其位置查找相应的值会更容易/更有效吗?
void Convert::readFile()
{
ifstream inFile;
vector<double> temp,voltage;
double kelvin,mV;
inFile.open("DT-670.txt");
if (inFile) {
cout << "File Open";
while(inFile>>kelvin && inFile>> mV)
{
temp.push_back(kelvin);
voltage.push_back(mV);
}
cout<<temp.size();
}
答案 0 :(得分:0)
这是示例代码,您可以更改行号并包括条件执行
db.proyectos.find({
_id:ObjectId("5bfa09f0a0441f38d45dcc9c"),
"reuniones._id":ObjectId("5bfa09f0a0441f38d45dcc99"),
"reuniones.participantes.nomina":2
})
答案 1 :(得分:0)
如果您不打算使用敏感度数据,则可以执行以下操作:
std::map<double, double> table;
//...
double temperature = 0.0;
double voltage = 0.0;
double sensitivity = 0.0;
while (file >> temperature >> voltage >> sensitivity)
{
table[temp] = voltage;
}
这里存在一个基本问题,即使用浮点值作为搜索关键字。浮点值无法通过内部表示精确表示;因此operator==
可能不适用于所有值。
要解决平等问题,大多数程序都使用等价或 epsilon 来确定平等。例如,如果两个浮点值之间的差小于1E-6,则认为它们相等。我建议探索std::map
,以了解如何重载比较运算符(或提供用于比较值的函数)。