哪位大佬能帮我解决旧胜率数据和新数据之间的冲突
重新打开后更新不了,还得手删qwq
#include<bits/stdc++.h>
#include <iostream>
#include <string>
#include <windows.h>
#include <conio.h>
#include <fstream>
#include <ctime>
#include <time.h>
#include <stdio.h>
using namespace std;
int p1,p2;
int jzqall,jzqp1win,jzqp2win,jzqpj;
char cp[3],yx[20]={" !@#$%^&*?"};
char a[5][5]={" 123","1 ","2 ","3 "};
void zhujiemian();
void baocun();
bool win(char cwj){
for(int i=1;i<=3;i++){
if((a[i][1]==a[i][2]&&a[i][3]==a[i][1]&&a[i][1]!=' ')||(a[1][i]==a[2][i]&&a[3][i]==a[1][i]&&a[1][i]!=' '))return 1;
}
if((a[1][1]==a[2][2]&&a[3][3]==a[1][1]&&a[1][1]!=' ')||(a[3][1]==a[2][2]&&a[1][3]==a[3][1]&&a[2][2]!=' '))return 1;
return 0;
}
void jzqcin(int c){
printf("第%d步\n",c);
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
printf("%c ",a[i][j]);
}
printf("\n");
}
int wj=c%2;
if(!wj)wj=2;
char cwj=cp[wj];
printf("p%d玩家落子\n",wj);
printf("请输入要下的坐标\n");
int x,y;
while(1){
scanf("%d%d",&x,&y);
if(a[x][y]!=' '||x>3||y>3){
printf("你不能进行此操作!\n");
printf("请输入要下的坐标\n");
}else{
a[x][y]=cwj;
break;
}
}
system("cls");
if(win(cwj)){
printf("p%d玩家胜利!\n",wj);
if(wj==1)jzqp1win++;
else jzqp2win++;
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
a[i][j]=' ';
}
}
Sleep(1000);
baocun();
zhujiemian();
return;
}
if(c==9){
printf("平局!\n");
jzqpj++;
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
a[i][j]=' ';
}
}
Sleep(1000);
baocun();
zhujiemian();
return;
}
jzqcin(c+1);
}
void startj(int c){
system("cls");
printf("请p1玩家选择你的英雄\n");
printf("! @ # $ % ^ & * ?\n");
printf("1 2 3 4 5 6 7 8 9\n");
printf("(输入序号)\n");
while(1){
scanf("%d",&p1);
if(p1>9)printf("无此英雄!请重新选择\n");
else break;
}
system("cls");
cp[1]=yx[p1];
printf("请p2玩家选择你的英雄\n");
printf("! @ # $ % ^ & * ?\n");
printf("1 2 3 4 5 6 7 8 9\n");
printf("(输入序号)\n");
while(1){
scanf("%d",&p2);
if(p2>9)printf("无此英雄!请重新选择\n");
else break;
}
system("cls");
cp[2]=yx[p2];
printf("启动!\n");
jzqall++;
if(c==1)jzqcin(1);
system("cls");
}
void shezhi(){
system("cls");
printf("设置面板\n");
printf("井字棋总局数:%d\n",jzqall);
printf("p1玩家胜场:%d局\n",jzqp1win);
printf("p2玩家胜场:%d局\n",jzqp2win);
printf("平局:%d局\n",jzqpj);
printf("1.退出\n");
int c;
while(scanf("%d",&c)){
if(c==1){
zhujiemian();
break;
}
}
}
void baocun(){
ofstream outfile("dataqi.txt", ios::binary | ios::app | ios::in | ios::out);
outfile<<jzqall<<" "<<jzqp1win<<" "<<jzqp2win<<" "<<jzqpj<<endl;
outfile.close();
}
void zhujiemian(){
system("cls");
printf("1.井字棋 2.五子棋 3.设置 4.退出游戏\n");
int c;
scanf("%d",&c);
if(c==1){
startj(c);
}else if(c==3){
shezhi();
}else if(c==2){
printf("暂未开放!\n");
Sleep(1000);
zhujiemian();
}else{
return;
}
}
int main(){
ifstream fin("dataqi.txt");
fin>>jzqall>>jzqp1win>>jzqp2win>>jzqpj;
zhujiemian();
printf("感谢游玩!");
return 0;
}