int stud_number;
char stud_name[20];
}stud;
typedef std:vector<stud> studentVector;
int main(){
stud jourdon={01,"Jourdon"};
stud mary={02,"Mary"};
stud niki={03,"Niki"};
studentVector studVec;
studVec.push_back(jourdon);
studVec.push_back(mary);
studVec.push_back(niki);
}
请问:如何往每个结构体变量的数据成员stud_number前面插入数字2016?
如:往jourdon的学号01前插入2016,jourdon.insert(jourdon.stud_number.begin(),2016);
请问应该怎么写?
4 个解决方案
#1
vector[index]返回对应位置上的对象引用,拿到以后直接改就行了。
#2
直接用iterator 遍历vector,然后挨个修改成员变量的值就好了
#include <iostream>
#include <vector>
using namespace std;
typedef struct student{
int stud_number;
char stud_name[20];
}stud;
typedef std::vector<stud> studentVector;
int main(){
stud jourdon = { 01, "Jourdon" };
stud mary = { 02, "Mary" };
stud niki = { 03, "Niki" };
studentVector studVec;
studVec.push_back(jourdon);
studVec.push_back(mary);
studVec.push_back(niki);
//遍历修改stud_number的值
studentVector::iterator it;
for (it = studVec.begin(); it != studVec.end(); it++)
it->stud_number += + 201600;
//遍历打印
for (it = studVec.begin(); it != studVec.end(); it++)
cout << it->stud_number << " " << it->stud_name << endl;
}
#3
请问ri_aje,vector[index]直接用,怎么用,能说的具体一点吗?
请问qq423399099,若程序中的学号位数不定,是从0到studVec.size()的一个数,如下:
for(int i=0;i<studVec.size();i++)
studVec[i].stud_number=i;
这时该如何修改?是否需要转换为字符,然后用字符串连接符?
请问qq423399099,若程序中的学号位数不定,是从0到studVec.size()的一个数,如下:
for(int i=0;i<studVec.size();i++)
studVec[i].stud_number=i;
这时该如何修改?是否需要转换为字符,然后用字符串连接符?
#4
长度不定确实要转成字符串,然后拼接
#1
vector[index]返回对应位置上的对象引用,拿到以后直接改就行了。
#2
直接用iterator 遍历vector,然后挨个修改成员变量的值就好了
#include <iostream>
#include <vector>
using namespace std;
typedef struct student{
int stud_number;
char stud_name[20];
}stud;
typedef std::vector<stud> studentVector;
int main(){
stud jourdon = { 01, "Jourdon" };
stud mary = { 02, "Mary" };
stud niki = { 03, "Niki" };
studentVector studVec;
studVec.push_back(jourdon);
studVec.push_back(mary);
studVec.push_back(niki);
//遍历修改stud_number的值
studentVector::iterator it;
for (it = studVec.begin(); it != studVec.end(); it++)
it->stud_number += + 201600;
//遍历打印
for (it = studVec.begin(); it != studVec.end(); it++)
cout << it->stud_number << " " << it->stud_name << endl;
}
#3
请问ri_aje,vector[index]直接用,怎么用,能说的具体一点吗?
请问qq423399099,若程序中的学号位数不定,是从0到studVec.size()的一个数,如下:
for(int i=0;i<studVec.size();i++)
studVec[i].stud_number=i;
这时该如何修改?是否需要转换为字符,然后用字符串连接符?
请问qq423399099,若程序中的学号位数不定,是从0到studVec.size()的一个数,如下:
for(int i=0;i<studVec.size();i++)
studVec[i].stud_number=i;
这时该如何修改?是否需要转换为字符,然后用字符串连接符?
#4
长度不定确实要转成字符串,然后拼接