21xrx.com
2025-03-29 03:34:32 Saturday
文章检索 我的文章 写文章
C++实现年龄录入并反向保存多个同学的数据
2023-06-24 03:50:13 深夜i     15     0
年龄录入 C++ 反向保存 多个同学 数据

年龄录入是一个常见的数据管理功能,在学习编程的过程中,我们可以利用C++语言实现年龄录入并反向保存多个同学的数据。下面介绍一下具体的实现方法。

首先,我们需要定义一个学生类,包含姓名和年龄两个私有数据成员,以及相应的set和get函数。代码如下:

class Student {
private:
  string name;
  int age;
public:
  void setName(string name)
    this->name = name;
  
  void setAge(int age)
    this->age = age;
  
  string getName()
    return name;
  
  int getAge()
    return age;
  
};

接下来,在主函数中创建一个学生数组,用循环语句依次输入每个学生的姓名和年龄,并将其保存到数组中。代码如下:

int main() {
  const int N = 5;
  Student students[N];
  for (int i = 0; i < N; i++) {
    string name;
    int age;
    cout << "请输入第" << i + 1 << "个学生的姓名和年龄:";
    cin >> name >> age;
    students[i].setName(name);
    students[i].setAge(age);
  }
}

输入完毕后,我们可以利用循环语句和数组索引,依次输出每个学生的姓名和年龄。代码如下:

for (int i = 0; i < N; i++) {
  cout << students[i].getName() << " " << students[i].getAge() << endl;
}

不过本篇文章的重点是反向保存数据,也就是将数据反向输出。这里我们可以利用栈来实现反向保存数据,具体实现方法如下:

#include <stack>
...
stack<Student> stuStack;
for (int i = 0; i < N; i++) {
  stuStack.push(students[i]);
}
while (!stuStack.empty()) {
  cout << stuStack.top().getName() << " " << stuStack.top().getAge() << endl;
  stuStack.pop();
}

这段代码中,我们首先创建了一个空栈`stuStack`,然后使用循环将每个学生对象压入栈中。最后,我们利用`while`循环和`pop`函数,从栈顶逐个弹出学生对象并输出。

通过上述代码实现,我们就可以在C++语言中实现年龄录入并反向保存多个同学的数据了。当然,在实际使用中,我们可以根据实际需求对代码进行优化,比如增加数据检查、输入提示等功能。

  
  

评论区