我在将程序中的某些已处理值存储到结构数组中时遇到问题。 这些值包含3个长整数,我试图将这些值存储为结构中的数组。
这是我整个代码的简化相关版本。请帮我把它搞定。
#include<iostream>
#define MAX 20
using namespace std;
struct DATA
{
int id, number;
float height;
} stuarray [MAX];
int main ()
{
long int1 =0; //contains integer values obtained from a file
long int2 =0; //contains integer values obtained from a file
long int3 =0 ; //contains integer values obtained from a file
cout<< stuarray[MAX].id << endl;
cout<< stuarray[MAX].number << endl;
cout<< stuarray[MAX].height << endl;
return 0;
}
好的,我会解释我的节目。我正在从文件中读取值作为字符串。在此之后我应该将它们分成3个部分并将它们存储在一个数组中。这个数组应该引用结构中的成员变量。
我已设法读取值,拆分它们,并将它们中的所有3个转换为长整数。
现在我必须将这三个值存储在结构数组中。
谢谢大家的帮助。
答案 0 :(得分:8)
将值存储在stuarray的特定元素中:
stuarray[i].id = something;
stuarray[i].number = somethingElse;
stuarray[i].height = aFloatThisTime;
请注意,对于MAX
条目数组,合法索引位于。{
范围[0,MAX]。
答案 1 :(得分:0)
将3个长int成员添加到结构中,或添加长度为3的数组:
struct DATA
{
int id, number;
float height;
long int value1, value2, value3;
} stuarray[MAX]
或
struct DATA
{
int id, number;
float height;
long int values[3];
} stuarray[MAX]
如果要使用后一个示例,则在数组中存储值类似于:
stuarray[i].values[0] = int1;
stuarray[i].values[1] = int1;
stuarray[i].values[2] = int2;