(C++)求大神教下怎么把文本文件里的数据进行排序
题主大一狗,会的不多,现在也都是在自学。这个程序的游戏部分和用户登陆注册部分都我都写好了,就是不知道怎么保存最高分和进行排序。。问题如下:用控制台做一个贪吃蛇游戏,规则和...
题主大一狗,会的不多,现在也都是在自学。这个程序的游戏部分和用户登陆注册部分都我都写好了,就是不知道怎么保存最高分和进行排序。。问题如下:
用控制台做一个贪吃蛇游戏,规则和你以前玩的完全相同,有多个难度关卡。有玩家注册和登录,将每个玩家的最高记录保存在本地文件,查看记录时将各个玩家进行排序。界面尽量美观。 展开
用控制台做一个贪吃蛇游戏,规则和你以前玩的完全相同,有多个难度关卡。有玩家注册和登录,将每个玩家的最高记录保存在本地文件,查看记录时将各个玩家进行排序。界面尽量美观。 展开
1个回答
展开全部
题主既然能写出用户登录部分,那么对c++的<fstream>库可能比我还熟。讲道理保存分数和排序似乎比登录系统简单吧……
如果追求代码的简单只要把文本文件中的数据都读出来排一遍序再覆盖回去就好,如果想减少IO次数可以用类似指针存储。
最简单实现的伪代码:
一条信息应当包括分数和用户名吧
struct Info { unsigned int score; char usrname[MAXL]; };
fstream file("score_board.txt"); // 文本形式输入
while (file >> score >> name) { ++cnt; base[cnt].score = score; strcpy(base[cnt].usrname, name); }
qsort(base, cnt, sizeof(Info), myCmp);
for (int i = 1; i <= cnt; ++i) file << base[i].score << ' ' << base[i].usrname << endl;
这里要写一个快速排序的比较函数myCmp,挺简单的,fstream的具体实现记不清了,大概就是这样。
如果追求代码的简单只要把文本文件中的数据都读出来排一遍序再覆盖回去就好,如果想减少IO次数可以用类似指针存储。
最简单实现的伪代码:
一条信息应当包括分数和用户名吧
struct Info { unsigned int score; char usrname[MAXL]; };
fstream file("score_board.txt"); // 文本形式输入
while (file >> score >> name) { ++cnt; base[cnt].score = score; strcpy(base[cnt].usrname, name); }
qsort(base, cnt, sizeof(Info), myCmp);
for (int i = 1; i <= cnt; ++i) file << base[i].score << ' ' << base[i].usrname << endl;
这里要写一个快速排序的比较函数myCmp,挺简单的,fstream的具体实现记不清了,大概就是这样。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |