课程信息管理系统c++
时间: 2023-06-29 17:11:41 浏览: 93
课程信息管理系统是一个比较典型的信息管理系统,主要用于学校、培训机构、企业等组织管理课程信息。下面是一个简单的课程信息管理系统的实现思路:
1.定义课程类(Course),包括课程编号、课程名称、授课教师、学分、学时等属性。可以使用C++中的类来实现。
2.定义课程信息管理系统类(CourseManageSystem),包括课程列表、添加课程、删除课程、修改课程、查询课程等操作。可以使用C++中的类来实现。
3.在程序启动时,从文件中读取已有的课程信息,并将其添加到课程列表中。
4.支持添加、删除、修改、查询课程等操作,对课程信息进行增删改查。
5.在程序退出时,将课程列表中的所有课程信息保存到文件中。
下面是一个简单的课程信息管理系统的代码实现,供参考:
```c++
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
// 定义课程类
class Course {
public:
Course(string id, string name, string teacher, int credit, int hours) {
m_id = id;
m_name = name;
m_teacher = teacher;
m_credit = credit;
m_hours = hours;
}
string getId() const {
return m_id;
}
string getName() const {
return m_name;
}
string getTeacher() const {
return m_teacher;
}
int getCredit() const {
return m_credit;
}
int getHours() const {
return m_hours;
}
void setName(string name) {
m_name = name;
}
void setTeacher(string teacher) {
m_teacher = teacher;
}
void setCredit(int credit) {
m_credit = credit;
}
void setHours(int hours) {
m_hours = hours;
}
private:
string m_id; // 课程编号
string m_name; // 课程名称
string m_teacher; // 授课教师
int m_credit; // 学分
int m_hours; // 学时
};
// 定义课程信息管理系统类
class CourseManageSystem {
public:
CourseManageSystem() {
// 初始化课程列表
loadCourses();
}
~CourseManageSystem() {
// 保存课程列表到文件
saveCourses();
}
// 添加课程
void addCourse(string id, string name, string teacher, int credit, int hours) {
m_courses.push_back(Course(id, name, teacher, credit, hours));
}
// 删除课程
void deleteCourse(string id) {
for (auto it = m_courses.begin(); it != m_courses.end(); ++it) {
if (it->getId() == id) {
m_courses.erase(it);
break;
}
}
}
// 修改课程
void modifyCourse(string id, string name, string teacher, int credit, int hours) {
for (auto& course : m_courses) {
if (course.getId() == id) {
course.setName(name);
course.setTeacher(teacher);
course.setCredit(credit);
course.setHours(hours);
break;
}
}
}
// 查询课程
Course* queryCourse(string id) {
for (auto& course : m_courses) {
if (course.getId() == id) {
return &course;
}
}
return nullptr;
}
// 显示所有课程
void showCourses() {
for (auto& course : m_courses) {
cout << "课程编号:" << course.getId() << endl;
cout << "课程名称:" << course.getName() << endl;
cout << "授课教师:" << course.getTeacher() << endl;
cout << "学分:" << course.getCredit() << endl;
cout << "学时:" << course.getHours() << endl;
cout << endl;
}
}
private:
vector<Course> m_courses; // 课程列表
// 从文件中加载课程信息
void loadCourses() {
ifstream ifs("courses.txt");
if (ifs.is_open()) {
string id, name, teacher;
int credit, hours;
while (ifs >> id >> name >> teacher >> credit >> hours) {
m_courses.push_back(Course(id, name, teacher, credit, hours));
}
ifs.close();
}
}
// 将课程列表保存到文件
void saveCourses() {
ofstream ofs("courses.txt");
if (ofs.is_open()) {
for (auto& course : m_courses) {
ofs << course.getId() << " "
<< course.getName() << " "
<< course.getTeacher() << " "
<< course.getCredit() << " "
<< course.getHours() << endl;
}
ofs.close();
}
}
};
int main() {
CourseManageSystem cms;
// 添加课程
cms.addCourse("001", "C++程序设计基础", "张三", 3, 48);
cms.addCourse("002", "数据结构与算法", "李四", 4, 64);
cms.addCourse("003", "计算机网络", "王五", 3, 48);
// 显示所有课程
cms.showCourses();
// 修改课程
cms.modifyCourse("001", "C++程序设计", "张三", 4, 64);
// 显示所有课程
cms.showCourses();
// 查询课程
Course* course = cms.queryCourse("002");
if (course != nullptr) {
cout << "查询结果:" << endl;
cout << "课程编号:" << course->getId() << endl;
cout << "课程名称:" << course->getName() << endl;
cout << "授课教师:" << course->getTeacher() << endl;
cout << "学分:" << course->getCredit() << endl;
cout << "学时:" << course->getHours() << endl;
} else {
cout << "没有找到该课程!" << endl;
}
// 删除课程
cms.deleteCourse("003");
// 显示所有课程
cms.showCourses();
return 0;
}
```