vector容器中存放结构体struct类型变量,如何修改结构体成员变量的值?

zhangrui0828 2016-07-17 01:18:04
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前面插入数字2016?
如:往jourdon的学号01前插入2016,jourdon.insert(jourdon.stud_number.begin(),2016);
请问应该怎么写?
...全文
3613 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灸舞 2016-07-17
  • 打赏
  • 举报
回复
直接用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;

}
小灸舞 2016-07-17
  • 打赏
  • 举报
回复
引用 3楼我是你的主体 的回复:
请问ri_aje,vector[index]直接用,怎么用,能说的具体一点吗? 请问qq423399099,若程序中的学号位数不定,是从0到studVec.size()的一个数,如下: for(int i=0;i<studVec.size();i++) studVec[i].stud_number=i; 这时该如何修改?是否需要转换为字符,然后用字符串连接符?
长度不定确实要转成字符串,然后拼接
zhangrui0828 2016-07-17
  • 打赏
  • 举报
回复
请问ri_aje,vector[index]直接用,怎么用,能说的具体一点吗? 请问qq423399099,若程序中的学号位数不定,是从0到studVec.size()的一个数,如下: for(int i=0;i<studVec.size();i++) studVec[i].stud_number=i; 这时该如何修改?是否需要转换为字符,然后用字符串连接符?
ri_aje 2016-07-17
  • 打赏
  • 举报
回复
vector[index]返回对应位置上的对象引用,拿到以后直接改就行了。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧