1)问题描述 高校学生信息包括:学号、姓名、性别、年龄、系别、班级、联系方式等信息。 课程信息包括:课程代码、课程名称、课程性质、总学时、学分、开课学期、选修人数等信息。学生可对课程信息进行查询,选修符合要求的课程。 根据课程信息和学生信息完成对课程的选修,需要专门的一个管理类来完成选修工作。 2)功能要求 (1)添加功能:程序能够任意添加课程和学生记录,可提供选择界面供用户选择所要添加的类别,要求编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。 (2)查询功能:可根据编号、姓名等信息对已添加的学生和课程记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。写一段c++代码
时间: 2024-02-06 12:02:09 浏览: 82
学生信息管理系统,实现学生信息包括:学号、姓名、性别、年龄、班级等信息。
5星 · 资源好评率100%
以下是一段简单的 C++ 代码示例,实现了添加学生和课程记录、查询学生和课程记录的功能,具体实现方式可能因实际需求而有所不同。
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 学生信息结构体
struct Student {
int id; // 学号
string name; // 姓名
string gender; // 性别
int age; // 年龄
string department; // 系别
string clazz; // 班级
string contact; // 联系方式
};
// 课程信息结构体
struct Course {
int id; // 课程代码
string name; // 课程名称
string nature; // 课程性质
int totalHours; // 总学时
int credit; // 学分
string term; // 开课学期
int numOfStudents; // 选修人数
};
// 管理类
class CourseManager {
public:
// 添加学生记录
void addStudent() {
Student student;
cout << "请输入学生信息:" << endl;
cout << "学号:";
cin >> student.id;
if (hasStudent(student.id)) {
cout << "学号已存在,请重新输入!" << endl;
return;
}
cout << "姓名:";
cin >> student.name;
cout << "性别:";
cin >> student.gender;
cout << "年龄:";
cin >> student.age;
cout << "系别:";
cin >> student.department;
cout << "班级:";
cin >> student.clazz;
cout << "联系方式:";
cin >> student.contact;
students.push_back(student);
cout << "添加成功!" << endl;
}
// 添加课程记录
void addCourse() {
Course course;
cout << "请输入课程信息:" << endl;
cout << "课程代码:";
cin >> course.id;
if (hasCourse(course.id)) {
cout << "课程代码已存在,请重新输入!" << endl;
return;
}
cout << "课程名称:";
cin >> course.name;
cout << "课程性质:";
cin >> course.nature;
cout << "总学时:";
cin >> course.totalHours;
cout << "学分:";
cin >> course.credit;
cout << "开课学期:";
cin >> course.term;
cout << "选修人数:";
cin >> course.numOfStudents;
courses.push_back(course);
cout << "添加成功!" << endl;
}
// 查询学生记录
void queryStudent() {
int id;
cout << "请输入要查询的学生学号:";
cin >> id;
for (const auto& student : students) {
if (student.id == id) {
cout << "学号:" << student.id << endl;
cout << "姓名:" << student.name << endl;
cout << "性别:" << student.gender << endl;
cout << "年龄:" << student.age << endl;
cout << "系别:" << student.department << endl;
cout << "班级:" << student.clazz << endl;
cout << "联系方式:" << student.contact << endl;
return;
}
}
cout << "未找到该学生信息!" << endl;
}
// 查询课程记录
void queryCourse() {
int id;
cout << "请输入要查询的课程代码:";
cin >> id;
for (const auto& course : courses) {
if (course.id == id) {
cout << "课程代码:" << course.id << endl;
cout << "课程名称:" << course.name << endl;
cout << "课程性质:" << course.nature << endl;
cout << "总学时:" << course.totalHours << endl;
cout << "学分:" << course.credit << endl;
cout << "开课学期:" << course.term << endl;
cout << "选修人数:" << course.numOfStudents << endl;
return;
}
}
cout << "未找到该课程信息!" << endl;
}
private:
vector<Student> students; // 学生记录数组
vector<Course> courses; // 课程记录数组
// 判断是否已存在该学生记录
bool hasStudent(int id) {
for (const auto& student : students) {
if (student.id == id) {
return true;
}
}
return false;
}
// 判断是否已存在该课程记录
bool hasCourse(int id) {
for (const auto& course : courses) {
if (course.id == id) {
return true;
}
}
return false;
}
};
int main() {
CourseManager manager;
int choice;
while (true) {
cout << "请选择操作:" << endl;
cout << "1. 添加学生记录" << endl;
cout << "2. 添加课程记录" << endl;
cout << "3. 查询学生记录" << endl;
cout << "4. 查询课程记录" << endl;
cout << "5. 退出" << endl;
cin >> choice;
switch (choice) {
case 1:
manager.addStudent();
break;
case 2:
manager.addCourse();
break;
case 3:
manager.queryStudent();
break;
case 4:
manager.queryCourse();
break;
case 5:
return 0;
default:
cout << "无效操作,请重新输入!" << endl;
break;
}
}
}
```
阅读全文