本项目没有使用cmake
编译命令:
g++ -std=c++17 -I. -fexec-charset=UTF-8 -finput-charset=UTF-8 机房预约系统.cpp student.cpp teacher.cpp manager.cpp orderFile.cpp -o output.exe
运行命令:
./output.exe
使用的外部头文件
#include <windows.h>
#include <io.h>
#include <fcntl.h>
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include "globalFile.h"
#include "student.h"
#include "teacher.h"
#include "manager.h"
#include "Identity.h"
#include "computerRoom.h"
using namespace std;乱码解决方式:
在主源文件中添加以下头文件:
#include <windows.h>
#include <io.h>
#include <fcntl.h>
在main函数起始添加以下代码:
// 替换原来的编码设置
system("chcp 65001 > nul"); // 更可靠的UTF-8设置方式
SetConsoleOutputCP(65001);
// 清空输入缓冲区
cin.sync();调试信息:
// 添加启动调试信息
cout << "=== 系统启动 ===" << endl;
cout << "当前目录文件列表:" << endl;
system("dir /b *.txt"); // 简洁地列出所有文本文件所有文件都要以标准的UTF-8编码保存,确保没有BOM头。
各个函数手动总结
机房预约系统.cpp // 主程序入口,包含菜单逻辑和用户登录
student.cpp // 学生类实现,包含学生的预约、查询等功能
teacher.cpp // 教师类实现,包含教师的管理、查询等功能
manager.cpp // 管理员类实现,包含管理员的管理、查询等功能
orderFile.cpp // 订单文件处理类,实现预约记录的读写
Identity.h // 基类,定义身份接口
student.h // 学生类,继承自Identity,定义学生属性和方法
teacher.h // 教师类,继承自Identity,定义教师属性和方法
manager.h // 管理员类,继承自Identity,定义管理员属性和方法
computerRoom.h // 机房类,定义机房属性和方法
globalFile.h // 全局变量和常量定义- 登录系统:用户可以选择身份(学生、教师、管理员)登录。
- 学生功能:学生可以预约机房、查询预约记录、取消预约等。
- 教师功能:教师可以管理机房预约、查询预约记录等。
- 管理员功能:管理员可以管理所有机房、查看所有预约记录等。
- 确保所有文件编码为UTF-8,避免中文乱码。
- 在Windows环境下运行,确保安装了必要的编译器和库。
- 如果遇到编译或运行错误,请检查代码中的路径和文件名是否正确。
- 代码中使用了C++17标准,请确保编译器支持该标准。
- 如果需要调试信息,可以在代码中添加
cout语句来输出调试信息。 - 如果需要修改菜单或功能,可以直接在对应的类中添加或修改方法。
- 如果需要添加新的身份类型,可以创建新的类继承自
Identity,并实现相应的方法。 - 注意:在使用指针时,确保正确地进行类型转换,以避免运行时错误。
- 注意:在使用文件操作时,确保文件路径正确,并且有读写权限。
- 注意:在使用系统命令时,确保命令的正确性和安全性,避免执行不必要的命令。
/n
- 已完成任务
- 未完成任务
使用 printf(dd) 函数
| 左对齐 | 居中对齐 | 右对齐 |
|---|---|---|
| 数据1 | 数据2 | 数据3 |
| 数据4 | 数据5 | 数据6 |
| d | f | f |