C++ 如何将大量数字合并到c++;代码

C++ 如何将大量数字合并到c++;代码,c++,arrays,excel,C++,Arrays,Excel,我有四个列表,每个列表包含84种不同的速率,我希望能够根据输入的信息使用if/else语句访问这些速率,我希望有比将每个速率键入数组更有效的方法 最简单的方法是什么?任何提示都会非常有用,我只需要一个起点 #include "MaleNonSmoker.txt" using namespace std; double ratesmn[85] = { #include "MaleNonSmoker.txt" - 1 };

我有四个列表,每个列表包含84种不同的速率,我希望能够根据输入的信息使用if/else语句访问这些速率,我希望有比将每个速率键入数组更有效的方法

最简单的方法是什么?任何提示都会非常有用,我只需要一个起点

   #include "MaleNonSmoker.txt"  
    using namespace std;  
    double ratesmn[85] = {  
    #include "MaleNonSmoker.txt"  

        - 1  
   };  
    #include <iostream>  
    #include <string>  
    #define STARTAGE 15  
    int main() {  
        double const *rates;  
        rates = ratesmn;  
        int age;  
            cout << "How old are you?\n";  
cin >> age;  
double myrate = ratesmn[age - STARTAGE];  

        return 0; 
    }
#包括“malennosmoker.txt”
使用名称空间std;
双速率MN[85]={
#包括“malennosmoker.txt”
- 1  
};  
#包括
#包括
#定义STARTAGE 15
int main(){
双常数*率;
费率=费率MN;
智力年龄;
年龄;
双倍myrate=ratesmn[年龄-起始年龄];
返回0;
}
我得到的错误来自第1行:语法错误:“常量”
从第7行:“太多初始化器”

,您可以在C++中定义一个这样的数组:

51,
52,
53,
int[6]速率={1,2,3,4,5,6}

您的“列表”的格式是什么

阅读它们应该非常简单——在C++中查看教程I/O文件。如果将列表保存为simple.txt文件,则可以通过创建ifstream并调用getline()逐行读取每个列表项。文件数据将作为字符串读取,因此可以使用stoi()和stod()分别将其转换为整数和双精度(查看更多转换方法)


您可能还想研究将excel文件保存为逗号分隔值(.csv)文件,然后可以以相同的方式逐行读取。每行表示一行,单元格值用逗号分隔,很容易解析

如果数字没有改变,就不需要在运行时从文件中读取数字。您也可以在编译时使用它们

使用您喜欢的任何工具创建四个带有数组的文件,但每个数字后面都有一个逗号,因此如下所示:

51,
52,
53,
在C++代码中,定义4个数组,并使用<代码>包含< <代码> >从文本文件中包含数字;
int ratesms[85] = {

#include "ratesms.txt"

    -1 // add another number because the txt file ends with a comma
};
对其他阵列执行相同的操作

例如,在代码中确定要使用的列表,并设置指向该列表的指针

int const *rates;

if ( /* smoking male */ )
  rates = ratesms;
else if ( /* other variations */ )
  rates = ...
然后像这样使用它

#define STARTAGE 15

int age=35; // example
int myrate=rates[age-STARTAGE];
如果不想从数组索引中减去起始年龄,还可以向数组中添加15个虚拟数字

int ratesms[100] = {

    0,0,0,0,0,
    0,0,0,0,0,
    0,0,0,0,0,

#include "ratesms.txt"

    -1 // add another number because the txt file ends with a comma
};

现在,
ratesms[15]
将包含txt文件中的第一个数字。

为什么不将这些数字放在一个单独的文件中?或者只是…任何地方。谁告诉过你在运行时用户需要填充一个数组?@实习生,如果你问这个级别,最好在开始你的项目之前先通过一个基本的C++书籍。本谢谢你,这非常有帮助。但是如果有一个包含我的4个表的单独文本文件,然后相应地使用它们,不是更容易吗?有没有一个简单的方法可以做到这一点?我们的目标是能够使用这个计算器在许多不同的情况下找到几个不同的人的保费。每次都必须输入费率不是很有效。对于大量数据来说,这没有什么意义。他提到了4个不同的84个数字列表。这对我来说似乎足够小,可以包含在代码中。请查看OP对问题下方Ben评论的回答。谢谢!这很有帮助。我会尝试一下,看看我能走多远。如果我被卡住,可能很快就会回来!当然,我在另一条评论中看到,您使用的是浮点数而不是整数,但如果您更改代码中的类型,这也会起作用。还有一件事,列表的年龄从15岁到99岁。因此,如果被保险人是35岁,我想从20岁开始(35-15岁),以便使用正确的年龄比率。然后,当这个人长大一岁时,它会向下移动并使用下一年的利率。我如何选择正确的开始年份?我不确定这是否是你的意思,但我已经在我的答案中添加了一个解释。例如在
int main()
之前。如果程序变大,你可能会开始使用多个C++文件。然后可以使用单独的文件和带有声明的.h文件。