#include<iostream> #include<cstring> #include<string> #include<vector> #include<stdlib.h> #include<time.h> #include<Windows.h> #include<fstream> using namespace std; string QuestionBank[3][1000];//分为3个难度,每个有1000个单词。 int QuestionNum[3] = { 0 };//每个难度一共有几道题 //user是出题人和答题人共同的基类 //拥有姓名 ID 密码 等级四个属性 以及这些私有类的读入和输出函数 class user { private: string name; string ID; string Password; int level = 0; public: void getName(string c) { //string c; name = c; } void getID(string c) { ID = c; } void getPassword(string c) { Password = c; } void getLevel(int a) { level = a; } string wrtName() { return name; } string wrtID() { return ID; } string wrtPassword() { return Password; } int wrtLevel() { return level; } user() {} ~user(){} }; //出题人是在user的基础上 新增了出题数目 ,题库序号的类 //多的函数:出题 升级 新的私有类的读入和输出 class TestMaker:public user{ private: string name; string ID; string Password; int level=0; int testnum=0; int testnumMod10; public: int PersonalBank[2][1000];//存储出题的难度等级和序号。 void MakeTest(int hard,string test) {//出题时把这个单词的难度一起读入 int num; //length = test.length(); //if ((length >= 1) && (length <= 6))hard = 0; //else if (length <= 12)hard = 1; //else hard = 2; QuestionNum[hard]++; num = QuestionNum[hard]; QuestionBank[hard][num] = test; testnum++; testnumMod10 = testnum; PersonalBank[0][testnum] = hard; PersonalBank[1][testnum] = num; } void getTestnum(int a) { testnum = a; } void levelup() {//每出十题升一级 level = testnum / 10; } void InforOut() { //cout << "姓名:"; //cout << name << endl; cout << "等级:" << level << endl; cout << "出题数目:" << testnum << endl; } /*void getPersonalBank(int a[2][1000]) { int i; for (i = 1; i <= testnum; i++) { PersonalBank[1][i] = a[1][i]; PersonalBank[0][i] = a[0][i]; } }*/ int wrttestnum() { return(testnum); } TestMaker(const TestMaker &a) {//用于排序的拷贝构造函数 int i; name = a.name; ID = a.ID; Password = a.Password; level = a.level; testnum = a.testnum; testnumMod10 = a.testnumMod10; for (i = 1; i <= testnum; i++) { PersonalBank[0][i] = a.PersonalBank[0][i]; PersonalBank[1][i] = a.PersonalBank[1][i]; } } TestMaker() {} ~TestMaker(){} }; //玩家类多了等级 经验值和答题成功数目 //多的函数:升级 新增属性的读入和输出 class Player:public user{ private: string name; string ID; string Password; int level = 0; int experience = 0; int outpost = 0;//答题成功数目 public: void LevelUp(int a,int b) {//闯关成功后,a作为难度读入,b作为时间读入,获得经验和a,b都有关系 outpost++; experience = experience + ((a + 1) * 10) + ((3000 - b) / 50); while (experience > 100) { level++; experience = experience - 100; } } void getExperience(int a) { experience = a; } void getOutpost(int a) { outpost = a; } int wrtExperience() { return experience; } int wrtOutpost() { return outpost; } void InforOut() { //cout << "姓名:" << name << endl; cout << "等级:" << level << endl; cout << "经验:" << experience << endl; cout << "答题数目:" << outpost << endl; } Player(const Player &a) { name = a.name; ID = a.ID; Password = a.Password; level = a.level; experience = a.experience; outpost = a.outpost; } Player(){} ~Player(){} }; TestMaker TestMakerList[100]; int TestMakerNum=0; Player PlayerList[100]; int PlayerNum=0; int yournum; //对于排行榜功能,用简单的冒泡函数实现 void paixu() { int i, j; TestMaker t; if (TestMakerNum == 0)cout << "无出题人" << endl; else { for (i = 1; i <= TestMakerNum; i++) { for (j = i; j <= TestMakerNum; j++) { if (TestMakerList[i].wrttestnum() < TestMakerList[j].wrttestnum()) { t = TestMakerList[i]; TestMakerList[i] = TestMakerList[j]; TestMakerList[j] = t; } } } cout << "对出题人按出题数从高到低排序:" << endl; for (i = 1; i <= TestMakerNum; i++) { cout <<"姓名:"<< TestMakerList[i].wrtName() << " 出题数:" << TestMakerList[i].wrttestnum() << endl; } } if (PlayerNum == 0)cout << "无答题人" << endl; else { Player m; for (i = 1; i <= PlayerNum; i++) { for (j = i; j <= PlayerNum; j++) { if ((PlayerList[i].wrtLevel() < PlayerList[j].wrtLevel()) || ((PlayerList[i].wrtLevel() == PlayerList[j].wrtLevel()) && (PlayerList[i].wrtExperience() < PlayerList[j].wrtExperience()))) { m = PlayerList[i]; PlayerList[i] = PlayerList[j]; PlayerList[j] = m; } } } cout << "对答题人按等级经验从高到低排序:" << endl; for (i = 1; i <= PlayerNum; i++) { cout <<"姓名:"<< PlayerList[i].wrtName() << " 等级:" << PlayerList[i].wrtLevel() << " 经验值:" << PlayerList[i].wrtExperience() << endl; } } return; } //第一种出题模式:难度等级不变 void MakeTest1(int hard) { int max, length; string ans; int flag = 0; max = QuestionNum[hard]; while (1) { srand((unsigned)time(NULL)); int x; x = rand(); x = (x % max) + 1; while (1) { cout << QuestionBank[hard][x]; length = QuestionBank[hard][x].length(); Sleep(3000); for (int i = 1; i <= length; i++)cout << "\b"; cout << "输入答案:"; cin >> ans; if (ans == QuestionBank[hard][x]) { cout << "答案正确!" << endl; PlayerList[yournum].LevelUp(hard,3000); break; } else cout << "worng answer!" << endl; } cout << "continue or not? 1 or 0" << endl; cin >> flag; if (flag == 0)break; } } //第二种出题模式:难度等级递增 void MakeTest2() { int max, length,hard; string ans; int flag = 0, gamelevel = 0; while (1) { gamelevel++; if (((gamelevel % 9) <= 3)&&((gamelevel%9)>=1))hard = 0; else if (((gamelevel % 9) <= 6)&&((gamelevel%9)>=4))hard = 1; else hard = 2; cout << "当前关卡:" << gamelevel << " 当前难度:" << hard << endl; max = QuestionNum[hard]; srand((unsigned)time(NULL)); int x; x = rand(); x = (x % max) + 1; while (1) { cout << QuestionBank[hard][x]; length = QuestionBank[hard][x].length(); Sleep(3000); for (int i = 1; i <= length; i++)cout << "\b"; cout << "输入答案: "; cin >> ans; if (ans == QuestionBank[hard][x]) { cout << "答案正确!" << endl; PlayerList[yournum].LevelUp(hard,3000); break; } else cout << "worng ans!" << endl; } cout << "continue or not? 1 or 0" << endl; cin >> flag; if (flag == 0)break; } } //第三种出题模式:进行轮数增多 void MakeTest3(int hard) { int max, length,Gametime=1; string ans; int flag = 0, gamelevel = 0; int i, j; max = QuestionNum[hard]; while (1) { gamelevel++; if ((gamelevel% 3) == 0)Gametime++;//设定是每三关之后,轮数加一 cout << "当前关卡:" << gamelevel << " 当前轮数:" << Gametime << endl; for (j = 1; j <= Gametime; j++) { srand((unsigned)time(NULL)); int x; x = rand(); x = (x % max) + 1; while (1) { cout << QuestionBank[hard][x]; length = QuestionBank[hard][x].length(); Sleep(3000); for (i = 1; i <= length; i++)cout << "\b"; cout << "输入答案: "; cin >> ans; if (ans == QuestionBank[hard][x]) { cout << "答案正确!" << endl; PlayerList[yournum].LevelUp(hard,3000); break; } else cout << "worng ans!" << endl; } } cout << "continue or not? 1 or 0" << endl; cin >> flag; if (flag == 0)break; } } //第四种出题模式:答题时间缩短 void MakeTest4(int hard) { int max, length, waittime=3500; string ans; int flag = 0, gamelevel = 0; max = QuestionNum[hard]; while (1) { gamelevel++; if (waittime > 1000)waittime = waittime - 500;//每关等待时间减少0.5秒 1秒为下限 cout << "当前关卡:" << gamelevel << " 当前时长:" << waittime <<"ms"<< endl; srand((unsigned)time(NULL)); int x; x = rand(); x = (x % max) + 1; while (1) { cout << QuestionBank[hard][x]; length = QuestionBank[hard][x].length(); Sleep(waittime); for (int i = 1; i <= length; i++)cout << "\b"; cout << "输入答案: "; cin >> ans; if (ans == QuestionBank[hard][x]) { cout << "答案正确!" << endl; PlayerList[yournum].LevelUp(hard,waittime); break; } else cout << "worng ans!" << endl; } cout << "continue or not? 1 or 0" << endl; cin >> flag; if (flag == 0)break; } } int main() { int i,j; string name,id, password; string pdid, pdpassword; int level = 0, testnum = 0, experience = 0, outpost = 0, gamelevel = 0; ifstream user_file; ifstream word_file; ofstream user_out; ofstream word_out; //先打开D盘中的读入文件,读入我们之前写入的用户信息 user_file.open("D:\\user.txt", ios::_Nocreate | ios::in); if (user_file) { //cout << "user_file succeed" << endl; user_file >> TestMakerNum; for (i = 1; i <= TestMakerNum; i++) { user_file >> name >> id >> password >> level >> testnum; TestMakerList[i].getID(id); TestMakerList[i].getName(name); TestMakerList[i].getPassword(password); TestMakerList[i].getTestnum(testnum); TestMakerList[i].getLevel(level); for (j = 1; j <= testnum; j++) { int a, b; user_file >> a >> b; TestMakerList[i].PersonalBank[0][j] = a; TestMakerList[i].PersonalBank[1][j] = b; } } user_file >> PlayerNum; //cout << "!:" << PlayerNum << endl; for (i = 1; i <= PlayerNum; i++) { user_file >> name >> id >> password >> level >> experience >> outpost; PlayerList[i].getID(id); PlayerList[i].getName(name); PlayerList[i].getPassword(password); PlayerList[i].getExperience(experience); PlayerList[i].getLevel(level); PlayerList[i].getOutpost(outpost); } } //然后关闭文件 if (user_file) { //cout << "user_file close!" << endl; user_file.close(); } //再打开之前的题库文件,读入出过的题目 word_file.open("D:\\word.txt", ios::_Nocreate | ios::in); //如果之前没出过题目,则读入自带题库 if (!word_file) {//如果没有 系统自建一个文件库 //Sleep(3000); //cout << "!word_file succeed" << endl; QuestionNum[0] = 11; QuestionNum[1] = 11; QuestionNum[2] = 11; QuestionBank[0][1] = "apple"; QuestionBank[0][2] = "chorus"; QuestionBank[0][3] = "facet"; QuestionBank[0][4] = "denial"; QuestionBank[0][5] = "black"; QuestionBank[0][6] = "wind"; QuestionBank[0][7] = "sheep"; QuestionBank[0][8] = "chaos"; QuestionBank[0][9] = "dazzle"; QuestionBank[0][10] = "gray"; QuestionBank[0][11] = "feast"; //1-6 QuestionBank[1][1] = "abandon"; QuestionBank[1][2] = "ambitious"; QuestionBank[1][3] = "bachelor"; QuestionBank[1][4] = "basement "; QuestionBank[1][5] = "biography"; QuestionBank[1][6] = "casualty"; QuestionBank[1][7] = "ceramic"; QuestionBank[1][8] = "degrade"; QuestionBank[1][9] = "denounce"; QuestionBank[1][10] = "disrupt"; QuestionBank[1][11] = "fixture"; //7-10 QuestionBank[2][1] = "apprehension"; QuestionBank[2][2] = "adolescent"; QuestionBank[2][3] = "bureaucracy"; QuestionBank[2][4] = "coincidence"; QuestionBank[2][5] = "declaration"; QuestionBank[2][6] = "descendant"; QuestionBank[2][7] = "destructive"; QuestionBank[2][8] = "forthcoming"; QuestionBank[2][9] = "masterpiece"; QuestionBank[2][10] = "mediterranean"; QuestionBank[2][11] = "metropolitan"; //11 } if (word_file) { //cout << "word_file succeed" << endl; for (i = 0; i <= 2; i++) { word_file >> QuestionNum[i]; } for (i = 0; i <= 2; i++) { for (j = 1; j <= QuestionNum[i]; j++) { word_file >> QuestionBank[i][j]; } } } if (word_file) { //cout << "word_file close" << endl; word_file.close(); } int c = 0; //因为没能实现图形化,黑框版本是要做到不断地询问客户需求地 while (1) { c = 0; cout << "选择您的需求:1:登陆 2:注册 3:查询玩家 4:查看排行榜 5:结束程序" << endl; cin >> c; //int cc = 0; //登陆的情况 if (c == 1) { int type = 0; int flag = 0; int dlflag = 0; cout << "您是出题人还是答题人,出题人请输入1,答题人请输入2:"; cin >> type; //此处需要加一点东西 if (type == 1) {//出题人 if (TestMakerNum == 0) { cout << "目前无出题人注册!" << endl; flag = 0; } else { flag = 1; //int IDrepeat = 0; cout << "请输入id,回车结束: "; cin >> id; cout << "请输入密码,回车结束: "; cin >> password; dlflag = 0; for (i = 1; i <= TestMakerNum; i++) { pdid = TestMakerList[i].wrtID(); pdpassword = TestMakerList[i].wrtPassword(); if (id.compare(pdid) == 0) { if (password.compare(pdpassword) == 0) { yournum = i; name = TestMakerList[i].wrtName(); testnum = TestMakerList[i].wrttestnum(); level = TestMakerList[i].wrtLevel(); dlflag = 1; break; } } } if (dlflag == 0)cout << "账号或密码错误。" << endl; } } if (type == 2) { if (PlayerNum == 0) { cout << "目前无答题人注册!" << endl; flag = 0; } else { flag = 1; cout << "请输入id,回车结束: "; cin >> id; cout << "请输入密码,回车结束: "; cin >> password; dlflag = 0; for (i = 1; i <= PlayerNum; i++) { if (id.compare(PlayerList[i].wrtID())==0) { if (password.compare(PlayerList[i].wrtPassword())==0) { yournum = i; name = PlayerList[i].wrtName(); experience = PlayerList[i].wrtExperience(); outpost = PlayerList[i].wrtOutpost(); level = PlayerList[i].wrtLevel(); dlflag = 1; break; } } } if (dlflag == 0)cout << "账号或密码错误。" << endl; } } if ((flag == 1)&&(dlflag==1)) {//登陆成功了 cout << "您的个人信息为:" << endl; if (type == 1) { cout << "出题人:" << endl; cout << "姓名:" << TestMakerList[i].wrtName() << endl; TestMakerList[yournum].InforOut(); } if (type == 2) { cout << "答题人:" << endl; cout << "姓名:" << PlayerList[i].wrtName() << endl; PlayerList[yournum].InforOut(); } string Npassword; string word; int a, b, pdsame = 0, length;//b:难度等级 pdsame:判断是否为重复的单词 int hard; int cc = 0; while (type == 1) { cout << "请选择您的需求:" << endl; cout << "1.修改密码 2.出题 3.登出" << endl; cin >> cc; if (cc == 1) { cout << "old password:" << endl; cin >> Npassword; if (Npassword != password)cout << "password worng!" << endl; else { cout << "new password:" << endl; cin >> Npassword; password = Npassword; TestMakerList[yournum].getPassword(password); cout << "修改成功!" << endl; } } while (cc == 2) { //cout << "请输入难度等级(0,1,2,3,4):" << endl; //cin >> a; cout << "请输入单词" << endl; cin >> word; length = word.length(); if ((length >= 1) && (length <= 6))b = 0; else if (length <= 10)b = 1; else b = 2; for (i = 1; i <= QuestionNum[b]; i++) { if (QuestionBank[b][i] == word)pdsame = 1; } if (pdsame == 1) { cout << "单词与词库中已有词汇重复!" << endl; pdsame = 0; } else { TestMakerList[yournum].MakeTest(b, word); testnum++; //TestMakerList[i].getTestnum(testnum); TestMakerList[i].levelup(); cout << "出题成功!" << endl; } cout << "是否继续出题?1:是 2:否" << endl; cin >> a; if (a == 2)break; } if (cc == 3) { yournum = 0; cout << "成功登出!" << endl; break; } } while (type == 2) { cout << "请选择您的需求:" << endl; cout << "1.修改密码 2.答题 3.登出" << endl; cin >> cc; if (cc == 1) { cout << "old password:" << endl; cin >> Npassword; if (Npassword != password)cout << "password worng!" << endl; else cout << "new password:" << endl; cin >> Npassword; password = Npassword; PlayerList[yournum].getPassword(password); cout << "修改成功!" << endl; } if (cc == 2) { cout << "请输入游戏模式:" << endl; cout << "1、单词难度不变 2、单词难度递增 3、进行轮数增多; 4、单词显示时间缩短" << endl; cin >> a; if (a == 1) { cout << "请输入难度等级(0,1,2):" << endl; cin >> hard; MakeTest1(hard); } if (a == 2) { MakeTest2(); } if (a == 3) { cout << "请输入难度等级(0,1,2):" << endl; cin >> hard; MakeTest3(hard); } if (a == 4) { cout << "请输入难度等级(0,1,2):" << endl; cin >> hard; MakeTest4(hard); } } if (cc == 3) { yournum = 0; cout << "成功登出!" << endl; break; } } } } //注册的情况 要注意判断ID重复 if (c == 2) { int type = 0; cout << "您是出题人还是答题人,出题人请输入1,答题人请输入2:"; cin >> type; if (type == 1) { TestMakerNum++;//都是从1 开始的! yournum = TestMakerNum; int IDrepeat=0; while (1) { cout << "请输入id(长度大于6),回车结束: "; cin >> id; while (id.length() <= 6) { cout << "请输入长度大于6的id!" << endl; cin >> id; } for (i = 1; i <= TestMakerNum-1; i++) { if (TestMakerList[i].wrtID() == id) { IDrepeat = 1; } } if (IDrepeat == 0)break; else cout << "ID重复,请重新输入!" << endl; } cout << "请输入密码(长度大于6),回车结束: "; cin >> password; while (password.length() <= 6) { cout << "请输入长度大于6的密码!" << endl; cin >> password; } cout << "请输入姓名,回车结束:"; cin >> name; TestMakerList[yournum].getID(id); TestMakerList[yournum].getName(name); TestMakerList[yournum].getPassword(password); cout << "注册完成!您的个人信息为:" << endl; if (type == 1) { cout << "出题人:" << endl; cout << "姓名:" << name << endl; TestMakerList[yournum].InforOut(); } } if (type == 2) { PlayerNum++; yournum = PlayerNum; //cout << "!:" << PlayerNum << endl; int IDrepeat=0; while (1) { cout << "请输入id(长度大于6),回车结束: "; cin >> id; while (id.length() <= 6) { cout << "请输入长度大于6的id!" << endl; cin >> id; } for (i = 1; i <= PlayerNum-1; i++) { if (PlayerList[i].wrtID() == id) { IDrepeat = 1; } } if (IDrepeat == 0)break; else cout << "ID重复,请重新输入!" << endl; } cout << "请输入密码(长度大于6),回车结束: "; cin >> password; while (password.length() <= 6) { cout << "请输入长度大于6的密码!" << endl; cin >> password; } cout << "请输入姓名,回车结束:"; cin >> name; PlayerList[yournum].getID(id); PlayerList[yournum].getName(name); PlayerList[yournum].getPassword(password); cout << "注册完成!您的个人信息为:" << endl; if (type == 2) { cout << "答题人:" << endl; cout << "姓名:" << name << endl; PlayerList[yournum].InforOut(); } } } int accord; int find = 0; //查找功能 if (c == 3) { int type = 0; find = 0; cout << "您想查询出题人还是答题人?1:出题人 2:答题人" << endl; cin >> type; if (type == 1) { cout << "您想按照1姓名 2等级 3出题数 查询:" << endl; cin >> accord; if (accord == 1) { cout << "请输入姓名:" << endl; cin >> name; for (i = 1; i <= TestMakerNum; i++) { if (name == TestMakerList[i].wrtName()) { cout << "用户个人信息为:" << endl; name = TestMakerList[i].wrtName(); cout << "姓名:" << name << endl; TestMakerList[i].InforOut(); find = 1; //break; } } if (find == 0)cout << "用户不存在!" << endl; } if (accord == 2) { cout << "请输入等级:" << endl; cin >> level; for (i = 1; i <= TestMakerNum; i++) { if (level == TestMakerList[i].wrtLevel()) { cout << "用户个人信息为:" << endl; name = TestMakerList[i].wrtName(); cout << "姓名:" << name << endl; TestMakerList[i].InforOut(); find = 1; //break; } } if (find == 0)cout << "用户不存在!" << endl; } if (accord == 3) { cout << "请输入出题数:" << endl; cin >> testnum; for (i = 1; i <= TestMakerNum; i++) { if (testnum == TestMakerList[i].wrttestnum()) { cout << "用户个人信息为:" << endl; name = TestMakerList[i].wrtName(); cout << "姓名:" << name << endl; TestMakerList[i].InforOut(); find = 1; //break; } } if (find == 0)cout << "用户不存在!" << endl; } } if (type == 2) { cout << "您想按照1姓名 2等级 3答题数 查询:" << endl; cin >> accord; if (accord == 1) { cout << "请输入姓名:" << endl; cin >> name; for (i = 1; i <= PlayerNum; i++) { if (name == PlayerList[i].wrtName()) { cout << "用户个人信息为:" << endl; name = PlayerList[i].wrtName(); cout << "姓名:" << name << endl; PlayerList[i].InforOut(); find = 1; //break; } } if (find == 0)cout << "用户不存在!" << endl; } if (accord == 2) { cout << "请输入等级:" << endl; cin >> level; for (i = 1; i <= PlayerNum; i++) { if (level == PlayerList[i].wrtLevel()) { cout << "用户个人信息为:" << endl; name = PlayerList[i].wrtName(); cout << "姓名:" << name << endl; PlayerList[i].InforOut(); find = 1; //break; } } if (find == 0)cout << "用户不存在!" << endl; } if (accord == 3) { cout << "请输入答题数:" << endl; cin >> outpost; for (i = 1; i <= PlayerNum; i++) { if (outpost == PlayerList[i].wrtOutpost()) { cout << "用户个人信息为:" << endl; name = PlayerList[i].wrtName(); cout << "姓名:" << name << endl; PlayerList[i].InforOut(); find = 1; //break; } } if (find == 0)cout << "用户不存在!" << endl; } } } //排行榜功能 查询后直接输出 if (c == 4)paixu(); if (c == 5)break; } //cout << "1" << endl; user_out.open("D:\\user.txt", ios::out); //cout << "2" << endl; if (user_out) { //cout << "user_out succeed" << endl; user_out << TestMakerNum << endl; /*user_file >> name >> id >> password >> level >> testnum; TestMakerList[i].getID(id); TestMakerList[i].getName(name); TestMakerList[i].getPassword(password); TestMakerList[i].getTestnum(testnum); TestMakerList[i].getLevel(level); for (j = 1; j <= testnum; j++) { int a, b; user_file >> a >> b; TestMakerList[i].PersonalBank[0][j] = a; TestMakerList[i].PersonalBank[1][j] = b; }*/ for (i = 1; i <= TestMakerNum; i++) { name = TestMakerList[i].wrtName(); id = TestMakerList[i].wrtID(); password = TestMakerList[i].wrtPassword(); level = TestMakerList[i].wrtLevel(); testnum = TestMakerList[i].wrttestnum(); user_out << name << ' ' << id << ' ' << password << endl; user_out << level << endl; user_out << testnum << endl; for (j = 1; j <= testnum; j++) { user_out << TestMakerList[i].PersonalBank[0][j] << ' ' << TestMakerList[i].PersonalBank[1][j] << endl; } } user_out << PlayerNum << endl; for (i = 1; i <= PlayerNum; i++) { name = PlayerList[i].wrtName(); id = PlayerList[i].wrtID(); password = PlayerList[i].wrtPassword(); level = PlayerList[i].wrtLevel(); experience = PlayerList[i].wrtExperience(); outpost = PlayerList[i].wrtOutpost(); user_out << name << ' ' << id << ' ' << password << endl; user_out << level << endl; user_out << experience << endl; user_out << outpost << endl; } } if (user_out) { //cout << "user_out close" << endl; user_out.close(); } word_out.open("D:\\word.txt", ios::out); if (word_out) { //cout << "word_out close" << endl; for (i = 0; i <= 2; i++) { word_out << QuestionNum[i] << endl; } for (i = 0; i <= 2; i++) { for (j = 0; j <= QuestionNum[i]; j++) { word_out << QuestionBank[i][j] << ' '; } word_out << endl; } } if (word_out) { //cout << "word_out close" << endl; word_out.close(); } return 0; }
以上为该大作业代码加一部分注释