用C++写一个控制台版扫雷游戏(附加用户界面、存档和读档)

upd:2024/7/8 优化了一些代码。。。修了一些bug。。。

这是我发布的第一篇文章,求赞!

废话多说,直接开始。

(懒得加注释,免得大家删来删去的。。。)

一、开头

#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h>
#define Max 10 //地图大小 
using namespace std;

int starNum = 1;
int score = 0; //段位分 
string version = "v1.1.3", season = "S1赛季";
string tmpName; //临时名称,用于读导存档

二、初始化

void initMap(char map[Max][Max],int boomNum){ //初始化地图 
	int i,j,z,x,y;
	int a[8] = {-1,-1,-1,0,1,1,1,0};
	int b[8] = {-1,0,1,1,1,0,-1,-1};
	srand((unsigned)time(NULL));
	for(i=0; i<Max; i++)
		for(j=0; j<Max; j++)
			map[i][j] = '?';
	for(z=0; z<boomNum; z++){
		i = rand() % Max;
		j = rand() % Max; 
		if(map[i][j] == '*') boomNum++;
		else map[i][j] = '*';
	}
	for(i=0; i<Max; i++){
		for(j=0; j<Max; j++){
			if(map[i][j] == '*') continue;
			map[i][j] = '0';
			for(z=0; z<8; z++){
				x = i + a[z];
				y = j + b[z];
				if(x>=0 && x<Max && y>=0 && y<Max && map[x][y]=='*')
					map[i][j]++;
			}
		}
	}
}

void initPlayerViewMap(char playerViewMap[Max][Max]){ //初始化玩家地图 
	int i, j;
	for(i=0; i<Max; i++)
		for(j=0; j<Max; j++)
			playerViewMap[i][j] = '?';
}

三、读档和存档

void fileOut(string name){ //存档 
	cout << "正在存档\n";
    tmpName = name;
    name += ".txt";
	FILE* fp = fopen(name.c_str(),"w");
	fprintf(fp,"%d\n",num);
	fclose(fp);
	Sleep(2000);
	cout << "存档完成\n";
    name = tmpName; //还原名字
	return;
}

void fileIn(string name){ //读档 
	cout << "正在读档\n";
    tmpName = name
    name += ".txt";
	FILE* fp = fopen(name.c_str(),"r");
	if(fp != NULL){
		num = fscanf(fp,"%d",&num);
		winNum = fscanf(fp,"%d",&winNum);
		loseNum = fscanf(fp,"%d",&loseNum);
		starNum = fscanf(fp,"%d",&starNum);
		fclose(fp);
		Sleep(2000);
		cout << "读取成功\n";
        name = tmpName;
	} else {
		Sleep(2000);
		cout << "未找到存档,已自动创建存档\n";
		system("cls");
        name = tmpName;
		fileOut(name);
	}
	return;
}

四、判定等级(可自己修改)

void dw(int score){ // 判定段位等级
	if(score <= 500){
		setColor(0,14);
		if(score <= 100) cout << "青铜I\n";
		else if(score <= 200) cout << "青铜II\n";
		else if(score <= 300) cout << "青铜III\n";
		else if(score <= 400) cout << "青铜IV\n";
		else if(score <= 500) cout << "青铜V\n";
	} else if(score <= 1500){
		setColor(0,7);
		if(score <= 700) cout << "白银I\n";
		else if(score <= 900) cout << "白银II\n";
		else if(score <= 1100) cout << "白银III\n";
		else if(score <= 1300) cout << "白银IV\n";
		else if(score <= 1500) cout << "白银V\n";
	} else if(score <= 3000){
		setColor(0,6);
		if(score <= 3000) cout << "黄金I\n";
		else if(score <= 2100) cout << "黄金II\n";
		else if(score <= 2400) cout << "黄金III\n";
		else if(score <= 2700) cout << "黄金IV\n";
		else if(score <= 3000) cout << "黄金V\n";
	} else if(score <= 5000){
		setColor(0,1);
		if(score <= 3400) cout << "铂金I\n";
		else if(score <= 3800) cout << "铂金II\n";
		else if(score <= 4200) cout << "铂金III\n";
		else if(score <= 4600) cout << "铂金IV\n";
		else if(score <= 5000) cout << "铂金V\n";
	} else if(score <= 7500){
		setColor(0,9);
		if(score <= 5500) cout << "钻石I\n";
		else if(score <= 6000) cout << "钻石II\n";
		else if(score <= 6500) cout << "钻石III\n";
		else if(score <= 7000) cout << "钻石IV\n";
		else if(score <= 7500) cout << "钻石V\n";
	} else if(score <= 10500){
		setColor(0,5);
		if(score <= 8100) cout << "星耀I\n";
		else if(score <= 8700) cout << "星耀II\n";
		else if(score <= 9300) cout << "星耀III\n";
		else if(score <= 9900) cout << "星耀IV\n";
		else if(score <= 10500) cout << "星耀V\n";
	} else if(score > 10500){
		setColor(0,12);
		cout << "王者 " << starNum << "※" << "\n";
	}
}

五、打印地图

void printViewMap(char playerViewMap[Max][Max],char map[Max][Max]){ //显示玩家地图 
	int i, j;
	cout << "   ";
	for(i=0; i<Max; i++){
		setColor(7,0);
		cout << i%10 << " ";
	}
	cout << endl;
	for(i=0; i<Max; i++){
		setColor(7,0);
		cout << " " << i%10 << " ";
		for(j=0; j<Max; j++){
			if(playerViewMap[i][j] == '?'){
				setColor(0,7);
				cout << "? ";
			}else{
				setColor(7,0);
				cout << map[i][j] << " ";
			}
		}
		cout << endl;
	}
}

void printMap(char map[Max][Max]){ //打印地图 
	int i,j;
	cout << "   ";
	for(i=0; i<Max; i++){
		setColor(7,0);
		cout << i%10 << " ";
	}
	cout << endl;
	for(i=0;i<Max;i++){
		setColor(7,0);
		cout << " " << i%10 << " ";
		for(j=0; j<Max; j++){
			cout << map[i][j] << " ";
		}
		setColor(7,0);
		cout << endl;
	}
}

六、判定胜利/失败

bool operate(int i,int j,char playerViewMap[Max][Max],char map[Max][Max]){
	// 判定格子 
	if(map[i][j] == '*') return true;
	else if(map[i][j]!= '0' && map[i][j]!='*')
		playerViewMap[i][j] = map[i][j];
	else if(map[i][j] == '0')
		dfs(i,j,playerViewMap,map); 
	return false;
}

bool isWin(char playerViewMap[Max][Max],char map[Max][Max]){
	// 判断是否胜利 
	int i,j;
	for(i=0; i<Max; i++){
		for(j=0; j<Max; j++){
			if(map[i][j]!='*'&&playerViewMap[i][j]=='?')
				return false;
		}
	}
	return true;
}

七、启动游戏

void game(int boomNum){ //启动游戏 
	char map[Max][Max];
	char playerViewMap[Max][Max];
	int i,j;
	initMap(map,boomNum);
	initPlayerViewMap(playerViewMap);
	system("cls");
	while(true){
		printViewMap(playerViewMap,map);
		setColor(7,0);
		cout << "剩余雷数:" << boomNum << endl;
		cout << "请输入点位坐标:";
		cin >> i >> j;
		if(operate(i,j,playerViewMap,map)) break;
		else if(isWin(playerViewMap,map)) break;
		system("cls");
	}
	system("cls");
	printMap(map);
	if(isWin(playerViewMap,map)){
		cout << "YOU WIN!你赢了!\n";
		if(boomNum == 5) score += 20;
		else if(boomNum == 15) score += 50;
		else if(boomNum == 25) score += 80;
		else if(boomNum == 50) score += 100;
		else score += boomNum * 2;
		winNum++;
	} else{
		cout << "Boom!!!\n你踩雷了!:P\n";
		if(boomNum == 5 && score >= 20) score -= 20;
		else if(boomNum == 15 && score >= 15) score -= 15;
		else if(boomNum == 25 && score >= 10) score -= 10;
		else if(boomNum == 50 && score >= 10) score -= 10;
		else if(score >= boomNum * 2) score -= boomNum * 2;
		loseNum++;
	}
	Sleep(1000);
	cout << "正在返回主页面...";
	Sleep(2000);
	return;
}

八、主函数(main):

int main(){
	int input;
	InitGame:;
	system("cls");
	cout << "------------------------------\n";
	cout << "|                            |\n";
	cout << "|      扫   雷   游   戏     |\n";
	cout << "|                            |\n";
	cout << "|                     "<<version<<" |\n";
	cout << "------------------------------\n\n";
	cout << "1.登录 2.注册\n:";
	cin >> input;
	if(input == 1) fileIn();
	else if(input == 2){
		cout << "请输入你的名字:";
		cin >> name;
		fileOut();
		goto InitGame;
	} else{
		cout << "无效输入!!";
		Sleep(1000);
		system("cls");
		goto InitGame;
	}
	Sleep(3000);
	while(1){
		Game:;
		system("cls");
		cout << "主页面\n";
		cout << "------------------------------\n";
		cout << "Hi,"; Sleep(500); cout << "玩家'" << name << "',";
		Sleep(500); cout << "你好!\n"; Sleep(500);
		cout << "当前段位分:" << score << "    ";
		Sleep(500); dw(score); Sleep(500);
		setColor(7,0);
		cout << "胜利数:" << winNum; Sleep(500);
		cout << " 失败数:" << loseNum << endl; Sleep(500);
		cout << "------------------------------\n";
		Sleep(500); cout << "想干点什么?\n";
		Sleep(500);
		cout << "1.排位赛("<<season<<") 2.休闲(暂未开放) 3.导出存档 4.查看版本 5.退出游戏\n";
		cin >> input;
		if(input == 1){
			cout << "请选择难度\n"; Sleep(500);
			cout << "1.简单 2.普通 3.困难 4.大师 5.自定义\n:";
			cin >> input;
			system("cls");
			cout << "3秒钟后将开始游戏\n";
			cout << "3,"; Sleep(1000);
			cout << "2,"; Sleep(1000);
			cout << "1!"; Sleep(1000);
			if(input == 1) game(10);
			else if(input == 2) game(25);
			else if(input == 3) game(40);
			else if(input == 4) game(50);
			if(input == 5){
				cout << "\n请输入雷数:";
				cin >> input;
				game(input);
			}
		} else if(input == 2){
			cout << "暂未开放!!!";
			Sleep(3000);
			system("cls");
			goto Game;
		} else if(input == 3){
			fileOut();
			system("cls");
			goto Game;
		} else if(input == 4){
			system("cls");
			cout << "游戏名称:扫雷游戏\n"; Sleep(200);
			cout << "游戏版本:" << version << endl; Sleep(200);
			cout << "更新日志:\n"; Sleep(200);
			cout << " v1.0.0  创建游戏\n"; Sleep(200);
			cout << " v1.0.3  修复地图越界bug,添加dfs自动翻开0\n"; Sleep(200);
			cout << " v1.0.5  设置颜色,防止看错符号\n"; Sleep(200);
			cout << " v1.1.0  添加主页面,登录系统,防止存档丢失\n"; Sleep(200);
			cout << " v1.1.3  添加段位及排位系统,增加游戏的趣味性\n"; Sleep(200);
			cout << "游戏logo(禁止盗用):\n"; Sleep(500);
			cout << "   0 1 2 3 4\n";
			cout << " 0 * ? 1 2 ?\n";
			cout << " 1 ? * * 1 ?\n";
			cout << " 2 1 * 1 ? 0\n";
			cout << " 3 4 1 3 * ?\n";
			cout << " 4 * * * ? 1\n";
			cout << "  扫雷游戏  \n";
			Sleep(3000);
		} else if(input == 5){
			cout << "确定要退出游戏吗?(请确保游戏已保存) 1.Y 2.N\n:";
			cin >> input;
			if(input == 1){
				cout << "\n";
				system("pause");
				exit(1);
			} else if(input == 2){
				cout << "已取消\n";
				Sleep(3000);
				system("cls");
				goto Game;
			}
		} else {
			cout << "输入无效!!!";
			system("cls");
			goto Game;
		}
	}
}

(发现漏了颜色更改,就加上吧):

void setColor(int color,int bgColor){ //设置颜色 
	WORD wColor = ((bgColor&0x0F)<<4)+(color&0x0F);
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),wColor);
}

完整代码:

#include <bits/stdc++.h>
#include <conio.h>
#include <windows.h>
#define Max 10 //地图大小 
using namespace std;

int starNum = 1,score;
string version = "v1.1.3", season = "S1赛季";
string tmpName; //名字 

void initMap(char map[Max][Max],int boomNum){ //初始化地图 
	int i,j,z,x,y;
	int a[8] = {-1,-1,-1,0,1,1,1,0};
	int b[8] = {-1,0,1,1,1,0,-1,-1};
	srand((unsigned)time(NULL));
	for(i=0; i<Max; i++)
		for(j=0; j<Max; j++)
			map[i][j] = '?';
	for(z=0; z<boomNum; z++){
		i = rand() % Max;
		j = rand() % Max; 
		if(map[i][j] == '*') boomNum++;
		else map[i][j] = '*';
	}
	for(i=0; i<Max; i++){
		for(j=0; j<Max; j++){
			if(map[i][j] == '*') continue;
			map[i][j] = '0';
			for(z=0; z<8; z++){
				x = i + a[z];
				y = j + b[z];
				if(x>=0 && x<Max && y>=0 && y<Max && map[x][y]=='*')
					map[i][j]++;
			}
		}
	}
}

void fileOut(string name){ //存档 
	cout << "正在存档\n";
	tmpName = name;
	name += ".txt";
	FILE* fp = fopen(name.c_str(),"w");
	fprintf(fp,"%d",score);
	fclose(fp);
	Sleep(2000);
	cout << "存档完成\n";
	name = tmpName;
	Sleep(2000); 
	return;
}

void fileIn(string name){ //读档 
	cout << "正在读档\n";
	tmpName = name;
	name += ".txt";
	FILE* fp = fopen(name.c_str(),"r");
	if(fp != NULL){
		score = fscanf(fp,"%d",&score);
		fclose(fp);
		Sleep(2000);
		cout << "读取成功\n";
		name = tmpName;
	} else {
		Sleep(2000);
		cout << "未找到存档,已自动创建存档\n";
		system("cls");
		Sleep(2000);
		name = tmpName;
		fileOut(name);
	}
	return;
}

void initPlayerViewMap(char playerViewMap[Max][Max]){ //初始化玩家地图 
	int i, j;
	for(i=0; i<Max; i++)
		for(j=0; j<Max; j++)
			playerViewMap[i][j] = '?';
}

void setColor(int color,int bgColor){ //设置颜色 
	WORD wColor = ((bgColor&0x0F)<<4)+(color&0x0F);
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),wColor);
}

void dw(int score){ // 判定段位等级
	if(score <= 500){
		setColor(0,14);
		if(score <= 100) cout << "青铜I\n";
		else if(score <= 200) cout << "青铜II\n";
		else if(score <= 300) cout << "青铜III\n";
		else if(score <= 400) cout << "青铜IV\n";
		else if(score <= 500) cout << "青铜V\n";
	} else if(score <= 1500){
		setColor(0,7);
		if(score <= 700) cout << "白银I\n";
		else if(score <= 900) cout << "白银II\n";
		else if(score <= 1100) cout << "白银III\n";
		else if(score <= 1300) cout << "白银IV\n";
		else if(score <= 1500) cout << "白银V\n";
	} else if(score <= 3000){
		setColor(0,6);
		if(score <= 3000) cout << "黄金I\n";
		else if(score <= 2100) cout << "黄金II\n";
		else if(score <= 2400) cout << "黄金III\n";
		else if(score <= 2700) cout << "黄金IV\n";
		else if(score <= 3000) cout << "黄金V\n";
	} else if(score <= 5000){
		setColor(0,1);
		if(score <= 3400) cout << "铂金I\n";
		else if(score <= 3800) cout << "铂金II\n";
		else if(score <= 4200) cout << "铂金III\n";
		else if(score <= 4600) cout << "铂金IV\n";
		else if(score <= 5000) cout << "铂金V\n";
	} else if(score <= 7500){
		setColor(0,9);
		if(score <= 5500) cout << "钻石I\n";
		else if(score <= 6000) cout << "钻石II\n";
		else if(score <= 6500) cout << "钻石III\n";
		else if(score <= 7000) cout << "钻石IV\n";
		else if(score <= 7500) cout << "钻石V\n";
	} else if(score <= 10500){
		setColor(0,5);
		if(score <= 8100) cout << "星耀I\n";
		else if(score <= 8700) cout << "星耀II\n";
		else if(score <= 9300) cout << "星耀III\n";
		else if(score <= 9900) cout << "星耀IV\n";
		else if(score <= 10500) cout << "星耀V\n";
	} else if(score > 10500){
		setColor(0,12);
		cout << "王者\n";
	}
}

void printViewMap(char playerViewMap[Max][Max],char map[Max][Max]){ //显示玩家地图 
	int i, j;
	cout << "   ";
	for(i=0; i<Max; i++){
		setColor(7,0);
		cout << i%10 << " ";
	}
	cout << endl;
	for(i=0; i<Max; i++){
		setColor(7,0);
		cout << " " << i%10 << " ";
		for(j=0; j<Max; j++){
			if(playerViewMap[i][j] == '?'){
				setColor(0,7);
				cout << "? ";
			}else{
				setColor(7,0);
				cout << map[i][j] << " ";
			}
		}
		cout << endl;
	}
}

void dfs(int i,int j,char playerViewMap[Max][Max],char map[Max][Max]){
	//翻开为0时自动搜索附近格子(深度优先搜索) 
	if(i<0 || i>=Max || j<0 || j>=Max || playerViewMap[i][j]=='0') return;
	playerViewMap[i][j] = map[i][j];
	if(map[i][j] != '0') return;
	if(i >= 0) dfs(i-1,j,playerViewMap,map);
	if(i < Max) dfs(i+1,j,playerViewMap,map);
	if(j >= 0) dfs(i,j-1,playerViewMap,map);
	if(j < Max) dfs(i,j+1,playerViewMap,map);
}

bool operate(int i,int j,char playerViewMap[Max][Max],char map[Max][Max]){
	// 判定格子 
	if(map[i][j] == '*') return true;
	else if(map[i][j]!= '0' && map[i][j]!='*')
		playerViewMap[i][j] = map[i][j];
	else if(map[i][j] == '0')
		dfs(i,j,playerViewMap,map); 
	return false;
}

bool isWin(char playerViewMap[Max][Max],char map[Max][Max]){
	// 判断是否胜利 
	int i,j;
	for(i=0; i<Max; i++){
		for(j=0; j<Max; j++){
			if(map[i][j]!='*'&&playerViewMap[i][j]=='?')
				return false;
		}
	}
	return true;
}

void printMap(char map[Max][Max]){ //打印地图 
	int i,j;
	cout << "   ";
	for(i=0; i<Max; i++){
		setColor(7,0);
		cout << i%10 << " ";
	}
	cout << endl;
	for(i=0;i<Max;i++){
		setColor(7,0);
		cout << " " << i%10 << " ";
		for(j=0; j<Max; j++){
			cout << map[i][j] << " ";
		}
		setColor(7,0);
		cout << endl;
	}
}

void game(int boomNum){ //启动游戏 
	char map[Max][Max];
	char playerViewMap[Max][Max];
	int i,j;
	initMap(map,boomNum);
	initPlayerViewMap(playerViewMap);
	system("cls");
	while(true){
		printViewMap(playerViewMap,map);
		setColor(7,0);
		cout << "雷数:" << boomNum << endl;
		cout << "请输入点位坐标:";
		cin >> i >> j;
		if(operate(i,j,playerViewMap,map)) break;
		else if(isWin(playerViewMap,map)) break;
		system("cls");
	}
	system("cls");
	printMap(map);
	if(isWin(playerViewMap,map)){
		cout << "YOU WIN!你赢了!\n";
		if(boomNum == 5) score += 20;
		else if(boomNum == 15) score += 50;
		else if(boomNum == 25) score += 80;
		else if(boomNum == 50) score += 100;
		else score += boomNum * 2;
	} else{
		cout << "Boom!!!\n你踩雷了!:P\n";
		if(boomNum == 5 && score >= 20) score -= 20;
		else if(boomNum == 15 && score >= 15) score -= 15;
		else if(boomNum == 25 && score >= 10) score -= 10;
		else if(boomNum == 50 && score >= 10) score -= 10;
		else if(score >= boomNum * 2) score -= boomNum * 2;
	}
	Sleep(1000);
	cout << "正在返回主页面...";
	Sleep(2000);
	return;
}


int main(){
	string name;
	char input;
	int boomNum = 0;
	InitGame:;
	system("cls");
	cout << "------------------------------\n";
	cout << "|                            |\n";
	cout << "|      扫   雷   游   戏     |\n";
	cout << "|                            |\n";
	cout << "|                     "<<version<<" |\n";
	cout << "------------------------------\n\n";
	cout << "1.登录 2.注册\n";
	input = getch();
	if(input == '1'){
		cout << "请输入名称:";
		cin >> name; 
		fileIn(name);
	} else if(input == '2'){
		cout << "请输入你的名字:";
		cin >> name;
		fileOut(name);
		goto InitGame;
	} else{
		cout << "无效输入!!";
		Sleep(1000);
		system("cls");
		goto InitGame;
	}
	Sleep(3000);
	while(1){
		Game:;
		system("cls");
		cout << "主页面\n";
		cout << "------------------------------\n";
		cout << "Hi,"; Sleep(200); cout << "玩家'" << name << "',";
		Sleep(200); cout << "你好!\n"; Sleep(200);
		cout << "当前段位分:" << score << "    ";
		Sleep(200); dw(score); Sleep(200);
		setColor(7,0);
		cout << "------------------------------\n";
		Sleep(200); cout << "想干点什么?\n";
		Sleep(200);
		cout << "1.排位赛("<<season<<") 2.休闲(暂未开放) 3.导出存档 4.查看版本 5.退出游戏\n";
		input = getch();
		if(input == '1'){
			cout << "请选择难度\n"; Sleep(500);
			cout << "1.简单 2.普通 3.困难 4.大师 5.自定义\n:";
			cin >> input;
			system("cls");
			cout << "3秒钟后将开始游戏\n";
			cout << "3,"; Sleep(1000);
			cout << "2,"; Sleep(1000);
			cout << "1!"; Sleep(1000);
			if(input == '1') game(5);
			else if(input == '2') game(15);
			else if(input == '3') game(25);
			else if(input == '4') game(50);
			if(input == 5){
				cout << "\n请输入雷数:";
				cin >> boomNum;
				game(boomNum);
			}
		} else if(input == '2'){
			cout << "暂未开放!!!";
			Sleep(2000);
			system("cls");
			goto Game;
		} else if(input == '3'){
			fileOut(name);
			system("cls");
			goto Game;
		} else if(input == '4'){
			system("cls");
			cout << "游戏名称:扫雷游戏\n"; Sleep(200);
			cout << "游戏版本:" << version << endl; Sleep(200);
			cout << "更新日志:\n"; Sleep(200);
			cout << " v1.0.0  创建游戏\n"; Sleep(200);
			cout << " v1.0.3  修复地图越界bug,添加dfs自动翻开0\n"; Sleep(200);
			cout << " v1.0.5  设置颜色,防止看错符号\n"; Sleep(200);
			cout << " v1.1.0  添加主页面,登录系统,防止存档丢失\n"; Sleep(200);
			cout << " v1.1.3  添加段位及排位系统,增加游戏的趣味性\n"; Sleep(200);
			cout << "游戏logo(禁止盗用):\n"; Sleep(500);
			cout << "   0 1 2 3 4\n";
			cout << " 0 * ? 1 2 ?\n";
			cout << " 1 ? * * 1 ?\n";
			cout << " 2 1 * 1 ? 0\n";
			cout << " 3 4 1 3 * ?\n";
			cout << " 4 * * * ? 1\n";
			cout << "  扫雷游戏  \n";
			Sleep(3000);
		} else if(input == '5'){
			cout << "确定要退出游戏吗?(请确保游戏已保存) 1.Y 2.N\n";
			input = getch();
			if(input == '1'){
				fileOut(name);
				system("pause");
				exit(1);
			} else if(input == '2'){
				cout << "已取消\n";
				Sleep(3000);
				system("cls");
				goto Game;
			} else {
				cout << "输入无效!!!";
				system("cls");
				goto Game;
			} 
		} else {
			cout << "输入无效!!!";
			system("cls");
			goto Game;
		}
	}
}

(能不能别盗用logo,求求了!!!)

水完了。。。

啊呸!!!

完结撒花!!!!!!!!!!

如果未登录复制不了

别抄袭!!!

问个问题,请大佬教一教:

fscanf(fp,"%d",score)时发现积分读错了,可能是本人学艺不精用错了,请大佬评论改一下fileIn()和fileOut()谢谢!!!

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值