如何在C++中分隔和排列名字和全名字符串
How to separate and arrange firstname from fullname string in C++
我有:
struct student{
string name,
float GPA
};
我想按字母顺序排列名字(名字,如果名字相同,则按姓氏排列);
所以我认为我需要一个单独的 FirstName 函数和一个单独的 LastName 函数,但我不知道这些函数返回哪个值。如果是字符串,比较时如何使用它(多次使用)
例如:
struct student{
string name,
float GPA
};
student Student[n];
void input(student Student[], int n){ ... };
现在,我想按字母顺序排列学生[i].name(i从0到n)
首先,我会比较学生的名字[i].name,如果他们相同,我会比较他们的姓氏,如果他们仍然相同,我会随机排列它们
例如:
阮仁英
苏文英
沙嗨哈
武德雄山
所以我想我需要一个单独的 FirstName 函数和单独的姓氏函数
if string s="Vo Duc Hung Son";
那么名字是儿子,姓是沃
但问题是,我不知道这些函数应该返回哪个值。如果是字符串,比较时如何使用它(多次使用);
提前谢谢你
struct Name{
string first,
string last
};
struct student{
Name name,
float GPA
};
现在您可以编写一个函数来比较name.first
和name.last
我不确定我是否理解。但是你有字符串名称,例如:name = "Dennis Bond",你需要两个字符串。名字="丹尼斯",第二个名字="邦德"?
void split_name (string name, string& firstname, string& secondname){
istringstream is(name);
is >> firstname >> secondname;
}
void split_name (string name, vector<string>& split){
istringstream is(name);
string word;
while (is >> word ) split.push_back(word);
}
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 为什么不;名字在地图上是按顺序排列的吗
- C++优先级队列,按对象的唯一指针的特定方法升序排列
- 按对象的特定方法按升序排列的C++优先级队列
- 找到具有最多子串栅栏的字符串排列
- 重新排列单线以形成闭合多边形?
- 在数组中输入 n 个整数的列表,并以类似于钟摆来回移动的方式排列它们. 输入-1 3 2 5 4,输出5 3 1 2 4
- 输入的 C++ 排列
- 公共/私有/受保护是否会更改内存中结构的排列?
- 如何在 C/C++ 中生成具有 n 组 5 个值(重复项)的所有可能排列的矩阵
- 在向量C++中排列奇数和偶数
- 如何进行排列?
- 矩阵行求和与 RowMajor 和 ColMajor 数据排列的奇怪性能差异
- 在 CPP 中打印具有重复项的选定长度字符的所有排列
- 使用即将推出的C++反射工具打印类型的全名
- 如何在不使用 C++ 中的数组或函数的情况下查找 N 位数字的所有排列
- 调用参数排列不变函数 f(i++, i++)
- 以 C++ 为单位具有输出限制的排列
- 在C++中寻找排列和组合
- 如何在C++中分隔和排列名字和全名字符串