请定义一个学生结构体,采用循环结构对学生信息进行赋值(学生总人数为20人),给出完整的程序源代码(包-|||-含头文件和语句)。C+
时间: 2024-10-01 22:02:41 浏览: 31
在C++中,我们可以创建一个名为`Student`的结构体,并使用数组来存储20名学生的数据。下面是一个完整的示例,包括头文件`student.h`和主函数`main.cpp`:
**student.h**
```cpp
#ifndef STUDENT_H
#define STUDENT_H
#include <iostream>
struct Student {
std::string name;
int age;
};
class StudentList {
private:
Student students[20];
int numStudents;
public:
void setStudentInfo(int index, const std::string& name, int age);
void displayStudents();
};
#endif // STUDENT_H
```
**main.cpp**
```cpp
#include "student.h"
void StudentList::setStudentInfo(int index, const std::string& name, int age) {
if (index >= 0 && index < numStudents) {
students[index].name = name;
students[index].age = age;
} else {
std::cerr << "Index out of range!" << std::endl;
}
}
void StudentList::displayStudents() {
for (int i = 0; i < numStudents; ++i) {
std::cout << "Student " << i+1 << ": Name - " << students[i].name << ", Age - " << students[i].age << std::endl;
}
}
int main() {
StudentList studentList;
studentList.numStudents = 20;
// 使用循环结构给每个学生分配信息
for (int i = 0; i < studentList.numStudents; ++i) {
std::cout << "Enter student " << i+1 << "'s name and age: ";
std::cin >> students[i].name >> students[i].age;
studentList.setStudentInfo(i, students[i].name, students[i].age); // 设置学生信息
}
studentList.displayStudents(); // 显示所有学生的信息
return 0;
}
```
在这个例子中,我们首先定义了一个包含姓名和年龄的`Student`结构体,然后创建了`StudentList`类,用于管理学生数组。`setStudentInfo`方法用于设置单个学生的属性,`displayStudents`方法用于打印所有学生的详细信息。
在`main`函数中,通过循环让用户输入每名学生的信息,然后将它们添加到学生列表中并显示出来。
阅读全文