能帮我写一段完整能用的vs代码,利用控制台做一个简单的选课系统吗,复制粘贴就能用的那种
时间: 2024-03-09 15:45:24 浏览: 24
好的,以下是一个简单的选课系统的VS代码。请注意,这仅仅是一个示例,你可能需要根据你的具体需求进行修改和调整。
```
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 定义课程结构体
struct Course {
string name;
int credit;
};
// 定义学生结构体
struct Student {
string name;
int id;
vector<Course> courses;
};
// 定义全局变量
vector<Course> all_courses = {{"数学", 3}, {"英语", 2}, {"物理", 4}, {"化学", 3}, {"计算机", 3}};
vector<Student> all_students;
// 显示主菜单
void show_menu() {
cout << "==========================" << endl;
cout << "欢迎使用选课系统" << endl;
cout << "请选择以下操作:" << endl;
cout << "1. 添加学生" << endl;
cout << "2. 显示学生" << endl;
cout << "3. 添加课程" << endl;
cout << "4. 显示课程" << endl;
cout << "5. 学生选课" << endl;
cout << "6. 退出" << endl;
cout << "==========================" << endl;
}
// 添加学生
void add_student() {
Student student;
cout << "请输入学生姓名:";
cin >> student.name;
cout << "请输入学生学号:";
cin >> student.id;
all_students.push_back(student);
cout << "添加学生成功!" << endl;
}
// 显示学生
void show_students() {
cout << "所有学生信息如下:" << endl;
for (int i = 0; i < all_students.size(); i++) {
cout << "姓名:" << all_students[i].name << ",学号:" << all_students[i].id << endl;
}
}
// 添加课程
void add_course() {
Course course;
cout << "请输入课程名称:";
cin >> course.name;
cout << "请输入课程学分:";
cin >> course.credit;
all_courses.push_back(course);
cout << "添加课程成功!" << endl;
}
// 显示课程
void show_courses() {
cout << "所有课程信息如下:" << endl;
for (int i = 0; i < all_courses.size(); i++) {
cout << "课程名称:" << all_courses[i].name << ",课程学分:" << all_courses[i].credit << endl;
}
}
// 学生选课
void select_course() {
int student_id;
cout << "请输入学生学号:";
cin >> student_id;
int course_index;
cout << "请选择课程:" << endl;
for (int i = 0; i < all_courses.size(); i++) {
cout << i + 1 << ". " << all_courses[i].name << "(学分:" << all_courses[i].credit << ")" << endl;
}
cin >> course_index;
if (course_index < 1 || course_index > all_courses.size()) {
cout << "选择的课程不存在!" << endl;
return;
}
int student_index = -1;
for (int i = 0; i < all_students.size(); i++) {
if (all_students[i].id == student_id) {
student_index = i;
break;
}
}
if (student_index == -1) {
cout << "输入的学生学号不存在!" << endl;
return;
}
for (int i = 0; i < all_students[student_index].courses.size(); i++) {
if (all_students[student_index].courses[i].name == all_courses[course_index - 1].name) {
cout << "该学生已经选过该课程!" << endl;
return;
}
}
all_students[student_index].courses.push_back(all_courses[course_index - 1]);
cout << "选课成功!" << endl;
}
int main() {
while (true) {
show_menu();
int choice;
cin >> choice;
switch (choice) {
case 1:
add_student();
break;
case 2:
show_students();
break;
case 3:
add_course();
break;
case 4:
show_courses();
break;
case 5:
select_course();
break;
case 6:
cout << "欢迎下次使用!" << endl;
return 0;
default:
cout << "输入的选项不存在,请重新输入!" << endl;
break;
}
}
return 0;
}
```
这段代码可以在Visual Studio中直接复制粘贴并运行。当然,你需要根据你的需要进行修改和调整,使其符合你的具体需求。