21xrx.com
2024-11-22 12:52:28 Friday
登录
文章检索 我的文章 写文章
C++实现年龄录入并反向保存多个同学的数据
2023-06-24 03:50:13 深夜i     --     --
年龄录入 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++语言中实现年龄录入并反向保存多个同学的数据了。当然,在实际使用中,我们可以根据实际需求对代码进行优化,比如增加数据检查、输入提示等功能。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复