c++ - 如何在 C++ 中从全名字符串中分离和排列名字

标签 c++

我有:

struct student{ 
  string name, 
  float GPA 
}; 

我想按字母顺序排列姓名(名字,如果名字相同,则按姓氏排列);

所以我想我需要一个单独的名字函数和一个单独的姓氏函数,但我不知道这些函数返回哪个值。如果是字符串,比较的时候怎么用(多次使用)

例如:

struct student{ 
    string name, 
    float GPA 
}; 

student Student[n];

void input(student Student[], int n){ ... };

现在,我想按字母顺序排列 Student[i].name(i 是从 0 到 n)

首先,我会比较Student[i].name的名字,如果相同,我会比较他们的姓氏,如果仍然相同,我会随机排列它们

例如:

  1. 阮如英

  2. 苏文英

  3. 沙嗨哈

  4. 武德兴山

所以我想我需要一个单独的名字函数和单独的姓氏函数

if string s="Vo Duc Hung Son";

然后名字是Son,姓氏是Vo

但问题是,我不知道这些函数应该返回哪个值。如果是字符串,比较的时候怎么用(多次使用);

提前致谢

最佳答案

struct Name{ 
  string first, 
  string last 
}; 

struct student{ 
  Name name, 
  float GPA 
}; 

现在您可以编写一个函数来比较name.firstname.last

关于c++ - 如何在 C++ 中从全名字符串中分离和排列名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42925092/

相关文章:

java - 在哪些情况下我们将变量设为公有而将方法设为私有(private)?

c++ - 在 SQLite 中存储 `std::tm`

c++ - 编译器的优化范围是什么?

c++ - 基类与扩展类关联时无匹配函数错误

c++ - 尝试保存用户输入 MFC

c++ - 循环内局部对象的析构函数是否保证在下一次迭代之前被调用?

c++ - 如何使用 FLTK 在 Windows、Mac OS X 和 Linux 中使窗口透明?

c++ - OpenCV - 从视差图计算实际距离

c++ - 是否可以参数化模板化成员函数的常量?

c++ - 关于C++中类的私有(private)成员