C++动态输入学生信息:循环与动态数组详解

当你需要用C++编写一个程序,允许用户输入任意数量的学生姓名和分数时,如何实现呢?答案是使用循环和动态数据结构,例如std::vector

代码示例cpp#include #include #include

// 定义学生结构体struct Student { std::string name; int score;};

int main() { // 创建一个存储学生对象的动态数组 std::vector students;

int numOfStudents;    std::cout << '请输入学生数量:';    std::cin >> numOfStudents;

// 循环获取每个学生的信息    for (int i = 0; i < numOfStudents; i++) {        Student student;        std::cout << '请输入学生姓名:';        std::cin >> student.name;        std::cout << '请输入学生分数:';        std::cin >> student.score;

    // 将学生添加到数组中        students.push_back(student);     }

// 打印学生信息    std::cout << '学生信息:' << std::endl;    for (const auto& student : students) {        std::cout << '姓名:' << student.name << ',分数:' << student.score << std::endl;    }

return 0;}

代码解释

  1. std::vector: 我们使用std::vector来创建一个动态数组students,它可以根据需要存储任意数量的学生信息。

  2. 循环: for循环允许我们根据用户输入的学生数量(numOfStudents),重复获取每个学生的姓名和分数。

  3. Student结构体: Student结构体用于存储单个学生的姓名和分数,使代码更易读和 organized。

  4. push_back(): students.push_back(student)将新创建的student对象添加到students动态数组的末尾。

总结

通过结合循环和std::vector,我们可以轻松地实现一个程序,该程序可以根据用户的需要处理任意数量的学生信息。


原文地址: https://www.cveoy.top/t/topic/SmD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录