本专栏记录C++学习过程包括C++基础以及数据结构和算法,其中第一部分计划时间一个月,主要跟着黑马视频教程,学习路线如下,不定时更新,欢迎关注。
当前章节处于:
---------第1阶段-C++基础入门
---------第2阶段实战-通讯录管理系统,
---------第3阶段-C++核心编程,
=====>第4阶段实战-基于多态的企业职工系统
---------第5阶段-C++提高编程
---------第6阶段实战-基于STL泛化编程的演讲比赛
---------第7阶段-C++实战项目机房预约管理系统
职工管理系统可以用来管理工资内所有员工的信息,要求利用C++来实现一个基于多态的职工管理系统。
公司中职工分为三类:普通职工、经理和老板,显示信息时需要显示职工编号、职工姓名、职工岗位以及职责。
管理系统中需要实现的功能如下:
整个管理系统可以看成一个类数组,类数组中需要定义一个员工数,方便后面进行逻辑上的清空。首先需要抽象一个职工类作为父类,然后普通员工,经理和老板继承员工类作为子类,父类中需要定义职工编号,职工姓名,职工岗位三个属性。退出管理系统,说明整个是在一个while循环里面,批量增加员工信息说明是在for循环里面,实例化对象添加到类数组里面,为保证职工编号唯一需要添加判断。并且需要将信息录入文件中,则需要涉及到文件流的操作,因为后续会反复更新文件,所以需要将文件更新封装成函数。显示员工信息时,遍历类数组,并且需要判断类成员的部门编号,打印对应职责。删除、修改和查找大同小异,遍历找到之后再做下一个操作,值得注意的是,删除需要将员工数-1。这四个操作在开始前都需要判断一下员工数,如果等于0的话说明管理系统为空,给出提示并返回。按照编号排序,无非升序和降序,这里给一个变量让用户选择即可,使用冒泡排序对实例化对象中的序号进行排序。清空文档将类数组中员工数置零即可,做逻辑上的清空。为保证友好的交互,还应设计一个选择菜单,在循环中反复调用。
// 职工类
class Staff {
public:
int numcard; // 职工编号
string name; // 职工姓名
string department; // 职工部门
string work; // 职责
};
// 员工类
class Employee:public Staff {
};
// 经理类
class Manager :public Staff {
};
// 老板类boss
class Boss :public Staff {
};
// 管理系统结构体
struct Managersystem {
Staff system[MaxNum];
int peoplenum;
};
// 显示菜单
void showMenu() {
cout << "-----欢迎来到职工管理系统----" << endl;
cout << " 1.增加职工信息" << endl;
cout << " 2.删除职工信息" << endl;
cout << " 3.修改职工信息" << endl;
cout << " 4.查找职工信息" << endl;
cout << " 5.显示职工信息" << endl;
cout << " 6.按照编号排序" << endl;
cout << " 7.清空管理系统" << endl;
cout << " 8.退出管理系统" << endl;
}
// 添加管理系统到文件
bool systemToFile(Managersystem& ms) {
// 管理系统到文件
fstream ofs;
ofs.open("System.txt", ios::out); // 如果不存在会先创建,先删除再创建
for (int i = 0; i < ms.peoplenum; i++) {
ofs << ms.system[i].numcard<<" " << ms.system[i].name << " " << ms.system[i].department << endl;
}
ofs.close();
return true;
}
// 添加员工信息
bool addStaff(Managersystem &ms) {
// 达到最大值
if (ms.peoplenum == MaxNum) {
cout << "已达到系统所容纳最大人数,添加失败!" << endl;
return false; // 退出
}
// 批量添加
int allnum;
cout << "请输入你要添加的人数:";
cin >> allnum;
bool foundDuplicate = false; // 标记
int count = 0; // 统计人数
for (int n = 0; n < allnum; n++) {
int dp; // 部门
string name; // 姓名
int num; // 职工编号
cout << "选择职位:" << endl;
cout << "1.员工" << endl;
cout << "2.经理" << endl;
cout << "3.老板" << endl;
cin >> dp;
cout << "请输入职工编号:";
cin >> num;
// 保证编号的唯一性
for (int i = 0; i < ms.peoplenum; i++) {
if (num == ms.system[i].numcard) {
cout << "该职员编号已存在!" << endl;
foundDuplicate = true;
break;
}
}
if (foundDuplicate) {
foundDuplicate = false; // 重置标记
continue; // 跳过当前外部循环,继续执行下一次外部循环
}
cout << "请输入姓名:" ;
cin >> name;
if (dp == 1) {
Employee ep;
ep.name = name;
ep.numcard = num;
ep.department = "员工";
ep.work = "完成经理交给的任务";
ms.system[ms.peoplenum] = ep;
}
else if (dp == 2) {
Manager mg;
mg.name = name;
mg.numcard = num;
mg.department = "经理";
mg.work = "完成老板交给的任务,并下发任务给员工";
ms.system[ms.peoplenum] = mg;
}
else {
Boss bs;
bs.name = name;
bs.numcard = num;
bs.department = "老板";
bs.work = "管理公司所有事务";
ms.system[ms.peoplenum] = bs;
}
count++;
ms.peoplenum++;
}
cout << "一共添加了" << count << "人!" << endl;
return true;
}
// 显示系统
void showSystem(const Managersystem& ms) {
if (ms.peoplenum == 0) {
cout << "系统为空!" << endl;
return;
}
for (int i = 0; i < ms.peoplenum; i++) {
cout << "员工编号:" << ms.system[i].numcard<<" 部门:" << ms.system[i].department <<" 姓名:"<< ms.system[i].name <<" \t职责:"<< ms.system[i].work << endl;
}
}
// 删除职工信息
bool deleteStaff(Managersystem& ms) {
if (ms.peoplenum == 0) {
cout << "系统为空!" << endl;
return false;
}
int numcard;
cout << "请输入你要删除的职工编号:";
cin >> numcard;
for (int i = 0; i < ms.peoplenum; i++) {
if (ms.system[i].numcard == numcard) {
if (ms.peoplenum == 1) {
cout << "走这" << endl;
ms.peoplenum = 0; // 系统里面就一个人,直接做逻辑删除
}
else {
// 比如i=1,一共有4个,j需要从1开始到3
for (int j = i; j < ms.peoplenum; j++) {
ms.system[j] = ms.system[j + 1]; // 后面的移到前面
}
ms.peoplenum--;
}
return true;
}
}
cout << "没有你要删除的编号!" << endl;
return false;
}
// 修改职工信息
bool changeStaff(Managersystem& ms) {
if (ms.peoplenum == 0) {
cout << "系统为空!" << endl;
return false;
}
int numcard;
cout << "请输入你要修改的职工编号:";
cin >> numcard;
string target;
for (int i = 0; i < ms.peoplenum; i++) {
if (ms.system[i].numcard == numcard) {
cout << "请输入你要修改的信息:";
cin >> target;
if (target.compare("编号") == 0) {
int targetnum;
cout << "请输入修改之后的编号:";
cin >> targetnum;
ms.system[i].numcard = targetnum;
return true;
}
else if (target.compare("姓名") == 0) {
string targetname;
cout << "请输入修改之后的姓名:";
cin >> targetname;
ms.system[i].name = targetname;
return true;
}
else if (target.compare("部门") == 0) {
string targetdp;
cout << "请输入修改之后的部门:";
cin >> targetdp;
ms.system[i].department = targetdp;
return true;
}
else {
cout << "没有这个选项!" << endl;
return false;
}
}
}
}
// 查找职员信息
bool findStaff(Managersystem& ms) {
if (ms.peoplenum == 0) {
cout << "系统为空!" << endl;
return false;
}
int numcard;
cout << "请输入你要查找的职工编号:";
cin >> numcard;
string target;
for (int i = 0; i < ms.peoplenum; i++) {
if (ms.system[i].numcard == numcard) {
cout << "员工编号:" << ms.system[i].numcard << " 部门:" << ms.system[i].department << " 姓名:" << ms.system[i].name << " 职责:" << ms.system[i].work << endl;
return true;
}
}
cout << "查无此人!" << endl;
return false;
}
// 按照编号排序
void popStaff(Managersystem& ms) {
int choice;
cout << "请输入排序方式:" << endl;
cout << "1.顺序" << endl;
cout << "2.逆序" << endl;
cin >> choice;
if (ms.peoplenum == 0) {
cout << "系统为空!" << endl;
return;
}
if (choice == 1) {
for (int i = 0; i < ms.peoplenum - 1; i++) {
for (int j = 0; j < ms.peoplenum - i - 1; j++) {
// 冒泡排序
if (ms.system[j].numcard > ms.system[j + 1].numcard) {
// 交换
Staff temp = ms.system[j];
ms.system[j] = ms.system[j + 1];
ms.system[j + 1] = temp;
}
}
}
}
else {
for (int i = 0; i < ms.peoplenum - 1; i++) {
for (int j = 0; j < ms.peoplenum - i - 1; j++) {
// 冒泡排序
if (ms.system[j].numcard < ms.system[j + 1].numcard) {
// 交换
Staff temp = ms.system[j];
ms.system[j] = ms.system[j + 1];
ms.system[j + 1] = temp;
}
}
}
}
showSystem(ms);
}
// 清空管理系统
bool deleteSystem(Managersystem& ms) {
// 做逻辑情况
int choice;
cout << "是否清空管理系统:" << endl;
cout << "1.Yes" << endl;
cout << "2.No" << endl;
cin >> choice;
if (choice == 1) {
ms.peoplenum = 0; // 逻辑清空
return true;
}
return false;
}
int main() {
// 创建一个管理系统结构体
Managersystem mainsystem;
mainsystem.peoplenum = 0; // 开始时置零
while (1) {
showMenu();
int choice;
cout << "请输入你的选项:";
cin >> choice;
switch (choice)
{
case 1:
addStaff(mainsystem);
systemToFile(mainsystem);
break;
case 2:
deleteStaff(mainsystem);
systemToFile(mainsystem);
break;
case 3:
changeStaff(mainsystem);
systemToFile(mainsystem);
break;
case 4:
findStaff(mainsystem);
break;
case 5:
showSystem(mainsystem);
break;
case 6:
popStaff(mainsystem);
systemToFile(mainsystem);
break;
case 7:
deleteSystem(mainsystem);
systemToFile(mainsystem);
break;
case 8:
return 0;
default:
cout << "没有这个选项!" << endl;
break;
}
}
system("pause");
return 0;
}
#include <iostream>
using namespace std;
#include <fstream>
// 定义员工系统最大容纳人数
#define MaxNum 100
// 职工类
class Staff {
public:
int numcard; // 职工编号
string name; // 职工姓名
string department; // 职工部门
string work; // 职责
};
// 员工类
class Employee:public Staff {
};
// 经理类
class Manager :public Staff {
};
// 老板类boss
class Boss :public Staff {
};
// 管理系统结构体
struct Managersystem {
Staff system[MaxNum];
int peoplenum;
};
// 显示菜单
void showMenu() {
cout << "-----欢迎来到职工管理系统----" << endl;
cout << " 1.增加职工信息" << endl;
cout << " 2.删除职工信息" << endl;
cout << " 3.修改职工信息" << endl;
cout << " 4.查找职工信息" << endl;
cout << " 5.显示职工信息" << endl;
cout << " 6.按照编号排序" << endl;
cout << " 7.清空管理系统" << endl;
cout << " 8.退出管理系统" << endl;
}
// 添加管理系统到文件
bool systemToFile(Managersystem& ms) {
// 管理系统到文件
fstream ofs;
ofs.open("System.txt", ios::out); // 如果不存在会先创建,先删除再创建
for (int i = 0; i < ms.peoplenum; i++) {
ofs << ms.system[i].numcard<<" " << ms.system[i].name << " " << ms.system[i].department << endl;
}
ofs.close();
return true;
}
// 添加员工信息
bool addStaff(Managersystem &ms) {
// 达到最大值
if (ms.peoplenum == MaxNum) {
cout << "已达到系统所容纳最大人数,添加失败!" << endl;
return false; // 退出
}
// 批量添加
int allnum;
cout << "请输入你要添加的人数:";
cin >> allnum;
bool foundDuplicate = false; // 标记
int count = 0; // 统计人数
for (int n = 0; n < allnum; n++) {
int dp; // 部门
string name; // 姓名
int num; // 职工编号
cout << "选择职位:" << endl;
cout << "1.员工" << endl;
cout << "2.经理" << endl;
cout << "3.老板" << endl;
cin >> dp;
cout << "请输入职工编号:";
cin >> num;
// 保证编号的唯一性
for (int i = 0; i < ms.peoplenum; i++) {
if (num == ms.system[i].numcard) {
cout << "该职员编号已存在!" << endl;
foundDuplicate = true;
break;
}
}
if (foundDuplicate) {
foundDuplicate = false; // 重置标记
continue; // 跳过当前外部循环,继续执行下一次外部循环
}
cout << "请输入姓名:" ;
cin >> name;
if (dp == 1) {
Employee ep;
ep.name = name;
ep.numcard = num;
ep.department = "员工";
ep.work = "完成经理交给的任务";
ms.system[ms.peoplenum] = ep;
}
else if (dp == 2) {
Manager mg;
mg.name = name;
mg.numcard = num;
mg.department = "经理";
mg.work = "完成老板交给的任务,并下发任务给员工";
ms.system[ms.peoplenum] = mg;
}
else {
Boss bs;
bs.name = name;
bs.numcard = num;
bs.department = "老板";
bs.work = "管理公司所有事务";
ms.system[ms.peoplenum] = bs;
}
count++;
ms.peoplenum++;
}
cout << "一共添加了" << count << "人!" << endl;
return true;
}
// 显示系统
void showSystem(const Managersystem& ms) {
if (ms.peoplenum == 0) {
cout << "系统为空!" << endl;
return;
}
for (int i = 0; i < ms.peoplenum; i++) {
cout << "员工编号:" << ms.system[i].numcard<<" 部门:" << ms.system[i].department <<" 姓名:"<< ms.system[i].name <<" \t职责:"<< ms.system[i].work << endl;
}
}
// 删除职工信息
bool deleteStaff(Managersystem& ms) {
if (ms.peoplenum == 0) {
cout << "系统为空!" << endl;
return false;
}
int numcard;
cout << "请输入你要删除的职工编号:";
cin >> numcard;
for (int i = 0; i < ms.peoplenum; i++) {
if (ms.system[i].numcard == numcard) {
if (ms.peoplenum == 1) {
cout << "走这" << endl;
ms.peoplenum = 0; // 系统里面就一个人,直接做逻辑删除
}
else {
// 比如i=1,一共有4个,j需要从1开始到3
for (int j = i; j < ms.peoplenum; j++) {
ms.system[j] = ms.system[j + 1]; // 后面的移到前面
}
ms.peoplenum--;
}
return true;
}
}
cout << "没有你要删除的编号!" << endl;
return false;
}
// 修改职工信息
bool changeStaff(Managersystem& ms) {
if (ms.peoplenum == 0) {
cout << "系统为空!" << endl;
return false;
}
int numcard;
cout << "请输入你要修改的职工编号:";
cin >> numcard;
string target;
for (int i = 0; i < ms.peoplenum; i++) {
if (ms.system[i].numcard == numcard) {
cout << "请输入你要修改的信息:";
cin >> target;
if (target.compare("编号") == 0) {
int targetnum;
cout << "请输入修改之后的编号:";
cin >> targetnum;
ms.system[i].numcard = targetnum;
return true;
}
else if (target.compare("姓名") == 0) {
string targetname;
cout << "请输入修改之后的姓名:";
cin >> targetname;
ms.system[i].name = targetname;
return true;
}
else if (target.compare("部门") == 0) {
string targetdp;
cout << "请输入修改之后的部门:";
cin >> targetdp;
ms.system[i].department = targetdp;
return true;
}
else {
cout << "没有这个选项!" << endl;
return false;
}
}
}
}
// 查找职员信息
bool findStaff(Managersystem& ms) {
if (ms.peoplenum == 0) {
cout << "系统为空!" << endl;
return false;
}
int numcard;
cout << "请输入你要查找的职工编号:";
cin >> numcard;
string target;
for (int i = 0; i < ms.peoplenum; i++) {
if (ms.system[i].numcard == numcard) {
cout << "员工编号:" << ms.system[i].numcard << " 部门:" << ms.system[i].department << " 姓名:" << ms.system[i].name << " 职责:" << ms.system[i].work << endl;
return true;
}
}
cout << "查无此人!" << endl;
return false;
}
// 按照编号排序
void popStaff(Managersystem& ms) {
int choice;
cout << "请输入排序方式:" << endl;
cout << "1.顺序" << endl;
cout << "2.逆序" << endl;
cin >> choice;
if (ms.peoplenum == 0) {
cout << "系统为空!" << endl;
return;
}
if (choice == 1) {
for (int i = 0; i < ms.peoplenum - 1; i++) {
for (int j = 0; j < ms.peoplenum - i - 1; j++) {
// 冒泡排序
if (ms.system[j].numcard > ms.system[j + 1].numcard) {
// 交换
Staff temp = ms.system[j];
ms.system[j] = ms.system[j + 1];
ms.system[j + 1] = temp;
}
}
}
}
else {
for (int i = 0; i < ms.peoplenum - 1; i++) {
for (int j = 0; j < ms.peoplenum - i - 1; j++) {
// 冒泡排序
if (ms.system[j].numcard < ms.system[j + 1].numcard) {
// 交换
Staff temp = ms.system[j];
ms.system[j] = ms.system[j + 1];
ms.system[j + 1] = temp;
}
}
}
}
showSystem(ms);
}
// 清空管理系统
bool deleteSystem(Managersystem& ms) {
// 做逻辑情况
int choice;
cout << "是否清空管理系统:" << endl;
cout << "1.Yes" << endl;
cout << "2.No" << endl;
cin >> choice;
if (choice == 1) {
ms.peoplenum = 0; // 逻辑清空
return true;
}
return false;
}
int main() {
// 创建一个管理系统结构体
Managersystem mainsystem;
mainsystem.peoplenum = 0; // 开始时置零
while (1) {
showMenu();
int choice;
cout << "请输入你的选项:";
cin >> choice;
switch (choice)
{
case 1:
addStaff(mainsystem);
systemToFile(mainsystem);
break;
case 2:
deleteStaff(mainsystem);
systemToFile(mainsystem);
break;
case 3:
changeStaff(mainsystem);
systemToFile(mainsystem);
break;
case 4:
findStaff(mainsystem);
break;
case 5:
showSystem(mainsystem);
break;
case 6:
popStaff(mainsystem);
systemToFile(mainsystem);
break;
case 7:
deleteSystem(mainsystem);
systemToFile(mainsystem);
break;
case 8:
return 0;
default:
cout << "没有这个选项!" << endl;
break;
}
}
system("pause");
return 0;
}
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:1
请输入你要添加的人数:3
选择职位:
1.员工
2.经理
3.老板
1
请输入职工编号:1
请输入姓名:张三
选择职位:
1.员工
2.经理
3.老板
2
请输入职工编号:2
请输入姓名:李四
选择职位:
1.员工
2.经理
3.老板
3
请输入职工编号:3
请输入姓名:王五
一共添加了3人!
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:5
员工编号:1 部门:员工 姓名:张三 职责:完成经理交给的任务
员工编号:2 部门:经理 姓名:李四 职责:完成老板交给的任务,并下发任务给员工
员工编号:3 部门:老板 姓名:王五 职责:管理公司所有事务
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:2
请输入你要删除的职工编号:2
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:5
员工编号:1 部门:员工 姓名:张三 职责:完成经理交给的任务
员工编号:3 部门:老板 姓名:王五 职责:管理公司所有事务
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:3
请输入你要修改的职工编号:1
请输入你要修改的信息:部门
请输入修改之后的部门:经理
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:5
员工编号:1 部门:经理 姓名:张三 职责:完成经理交给的任务
员工编号:3 部门:老板 姓名:王五 职责:管理公司所有事务
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:4
请输入你要查找的职工编号:1
员工编号:1 部门:经理 姓名:张三 职责:完成经理交给的任务
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:4
请输入你要查找的职工编号:2
查无此人!
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:1
请输入你要添加的人数:1
选择职位:
1.员工
2.经理
3.老板
1
请输入职工编号:2
请输入姓名:赵六
一共添加了1人!
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:1
请输入你要添加的人数:1
选择职位:
1.员工
2.经理
3.老板
1
请输入职工编号:1
该职员编号已存在!
一共添加了0人!
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:5
员工编号:1 部门:经理 姓名:张三 职责:完成经理交给的任务
员工编号:3 部门:老板 姓名:王五 职责:管理公司所有事务
员工编号:2 部门:员工 姓名:赵六 职责:完成经理交给的任务
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:6
请输入排序方式:
1.顺序
2.逆序
1
员工编号:1 部门:经理 姓名:张三 职责:完成经理交给的任务
员工编号:2 部门:员工 姓名:赵六 职责:完成经理交给的任务
员工编号:3 部门:老板 姓名:王五 职责:管理公司所有事务
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:6
请输入排序方式:
1.顺序
2.逆序
2
员工编号:3 部门:老板 姓名:王五 职责:管理公司所有事务
员工编号:2 部门:员工 姓名:赵六 职责:完成经理交给的任务
员工编号:1 部门:经理 姓名:张三 职责:完成经理交给的任务
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:7
是否清空管理系统:
1.Yes
2.No
1
-----欢迎来到职工管理系统----
1.增加职工信息
2.删除职工信息
3.修改职工信息
4.查找职工信息
5.显示职工信息
6.按照编号排序
7.清空管理系统
8.退出管理系统
请输入你的选项:8
D:\桌面\C++学习\1.14\x64\Debug\1.14.exe (进程 5464)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .