还差几 发表于 2018-10-5 19:40:17

这个C语言程序为什么会这样?

本帖最后由 还差几 于 2018-10-5 20:05 编辑


程序思路:
两个exe文件为同一个文件。
开始让玩家选择角色(1/2),选择好后,就创建文档(玩家1.txt或玩家2.txt),玩家准备后,文档里打印‘Y’,则另一个玩家就可以知道另一个玩家的登录情况。
当双方都准备好后,游戏开始。
玩家1选择游玩局数,程序自己判定几局胜,玩家1输入的局数存入“局.txt”里,玩家2读取(详细方法见代码),问题就出在这里(有时出现上图情况,有时会读取失败,出现程序默认的局数(两个程序局数不一))。
如果无问题,则就双方出拳打印在自己的文档里(玩家1/2.txt),双方读取,判断输赢,如果一方达到胜利标准,则那方胜。
(后面过程一些请参照代码)


源代码在第二页
#include<stdio.h>
#include<string>

#define JU(ju) ju / 2 * 2

void Double(void);//双人模式函数
void DoubleBeight(int a);//双人模式开始函数

int ME;

int main(void)
{
      int mode=0/*用于判断用户要玩什么模式*/, k=0/*用于用户输入错误时,给用户不同的提示*/;

      printf("(=^ ^=)\n");
      printf("欢迎进入剪刀石头布,如有问题或意见,请向QQ:3142110052回复或向来源地回复\n警告输入后不要中途退出\n请你输入你要进入的模式(人机:输入0,双人:输入1):");
      for (int i = 0; i < 1; i++)
      {
                if (k < 11)
                {
                        scanf_s("%d", &mode);
                }
                if (mode == 0)
                {
                        printf("人机模式尚未开发……\n");
                }
                else
                {
                        if (mode == 1)
                        {
                              printf("欢迎游玩双人模式\n");
                              Double();
                        }
                        else
                        {
                              i--;
                              k++;
                              switch (k)
                              {
                              case 1:
                                        printf("你输入错误,请重新输入(人机:输入0,双人:输入1):");
                                        break;
                              case 2:
                                        printf("你输入错误,请认真确认再输入,请重新输入(人机:输入0,双人:输入1):");
                                        break;
                              case 10:
                                        printf("你下一次再输入错误,就将默认进入人机模式,请重新输入(人机:输入0,双人:输入1):");
                                        break;
                              case 11:
                                        mode = 0;
                                        break;
                              default:
                                        printf("你输入错误,你已输入错误%d次,再输入错误%d次就将默认进入人机模式!请重新输入(人机:输入0,双人:输入1):", k, (10 - k));
                                        break;
                              }
                        }
                }
      }

      printf("欢迎再来\n");
      printf("输入A结束");
      for (int i = 0; i < 1; i++)
      {
                if (getchar() == 'A')
                {
                        i++;
                }
                i--;
      }

      switch (ME)
      {
      case 1:
                remove("玩家1.txt");
                remove("局.txt");
                break;
      default:
                remove("玩家2.txt");
                break;
      }

      return 0;
}

void Double(void)
{
      errno_t err1, err2;//没事打的
      FILE *fp1, *fp2;//玩家1、2的文件指针
      char wj1, wj2;//用于判断玩家1、2是否准备
      int Game_player_one = 0, Game_player_two = 0/*判断玩家1、2是否有空位*/, a = 0/*用于刷新,详细请看 bao_1*/;
      int b = 0/*用于判断用户是否进入*/, c = 0/*-用于判断用户是退出游戏,还是要刷新*/, me = 0/*用于判断用户是哪个玩家*/;
      int wjwj = 0/*用于给用户选择玩家几*/, k = 0/*用于用户输入错误时,给用户不同的提示*/;
      int G1 = 0, G2 = 0;

s_1:
      if (err1 = fopen_s(&fp1, "玩家1.txt", "r") == 0)
      {
                printf("\n玩家1已进入");
                wj1 = fgetc(fp1);
                if (wj1 == 'Y')
                {
                        printf(",已准备。\n");
                        Game_player_one = 0;
                }
                else
                {
                        printf(",未准备。\n");
                        Game_player_one = 2;
                }
                fclose(fp1);
      }
      else
      {
                Game_player_one = 1;
                printf("玩家1可进入\n");
      }

      if (err2 = fopen_s(&fp2, "玩家2.txt", "r") == 0)
      {
                printf("玩家2已进入");
                wj2 = fgetc(fp2);
                if (wj2 == 'Y')
                {
                        printf(",已准备。\n\n");
                        Game_player_two = 0;
                }
                else
                {
                        printf(",未准备。\n\n");
                        Game_player_two = 2;
                }
                fclose(fp2);
      }
      else
      {
                Game_player_two = 1;
                printf("玩家2可进入\n");
      }

      if (b == 1)
      {
                if (Game_player_one == 0 && Game_player_two == 0)
                {
                        DoubleBeight(me);
                        c = 1;
                }
      }
      else
      {
                if (Game_player_one == 1 && Game_player_two == 1)
                {
                        printf("你要进入玩家(1或2),请输入(温馨提示:玩家1可以选择玩几局):");
                        for (int i = 0; i < 1; i++)
                        {
                              if (k <= 10)
                              {
                                        scanf_s("%d", &wjwj);
                              }
                              if (wjwj==1)
                              {
                                        if (err1 = fopen_s(&fp1, "玩家1.txt", "r") == 0)
                                        {
                                                G1 = 1;
                                                fclose(fp1);
                                        }
                                        if (err2 = fopen_s(&fp2, "玩家2.txt", "r") == 0)
                                        {
                                                G2 = 1;
                                                fclose(fp2);
                                        }
                                        if (G1 == 1 && G2 == 1)
                                        {
                                                printf("已满人,请退出\n");
                                                return;
                                        }
                                        if (G1 == 1 && G2 != 1)
                                        {
                                                printf("玩家1已有人进入,请进入玩家2\n");
                                                goto s_1;
                                        }
                                        else
                                        {
                                                printf("正在进入玩家1……\n");
                                                if (err1 = fopen_s(&fp1, "玩家1.txt", "w") == 0)
                                                {
                                                      printf("进入成功\n");
                                                      char A, Y;
                                                      for (int i = 0; i < 1; i++)
                                                      {
                                                                scanf_s("%c", &A, 1);
                                                                if (A == 'J')
                                                                {
                                                                        fputc('Y', fp1);
                                                                        if (err2 = fopen_s(&fp2, "玩家2.txt", "r") == 0)
                                                                        {
                                                                              G2 = 1;
                                                                              Y = fgetc(fp2);
                                                                              fclose(fp2);
                                                                        }
                                                                        if (G2 == 1)
                                                                        {
                                                                              if (Y == 'Y')
                                                                              {
                                                                                        me = 1;
                                                                                        ME = me;
                                                                                        b = 1;
                                                                                        fclose(fp1);
                                                                                        printf("游戏开始\n");
                                                                                        goto s_1;
                                                                              }
                                                                              else
                                                                              {
                                                                                        printf("玩家2已进入,请等待玩家2准备\n");
                                                                              }
                                                                        }
                                                                        else
                                                                        {
                                                                              printf("请你耐心等待玩家2进入\n");
                                                                        }
                                                                        me = 1;
                                                                        ME = me;
                                                                        b = 1;
                                                                        fclose(fp1);
                                                                }
                                                                else
                                                                {
                                                                        printf("输入J准备:");
                                                                        i--;
                                                                }
                                                      }
                                                }
                                                else
                                                {
                                                      printf("进入失败\n请重试\n");
                                                      goto s_1;
                                                }
                                        }
                              }
                              else
                              {
                                        if (wjwj==2)
                                        {
                                                if (err1 = fopen_s(&fp1, "玩家1.txt", "r") == 0)
                                                {
                                                      G1 = 1;
                                                      fclose(fp1);
                                                }
                                                if (err2 = fopen_s(&fp2, "玩家2.txt", "r") == 0)
                                                {
                                                      G2 = 1;
                                                      fclose(fp2);
                                                }
                                                if (G1 == 1 && G2 == 1)
                                                {
                                                      printf("已满人,请退出\n");
                                                      return;
                                                }
                                                if (G1 != 1 && G2 == 1)
                                                {
                                                      printf("玩家2已有人进入,请进入玩家1\n");
                                                      goto s_1;
                                                }
                                                else
                                                {
                                                      printf("正在进入玩家2……\n");
                                                      if (err2 = fopen_s(&fp2, "玩家2.txt", "w") == 0)
                                                      {
                                                                printf("进入成功\n");
                                                                char A, Y;
                                                                for (int i = 0; i < 1; i++)
                                                                {
                                                                        scanf_s("%c", &A, 1);
                                                                        if (A == 'J')
                                                                        {
                                                                              fputc('Y', fp2);
                                                                              if (err2 = fopen_s(&fp1, "玩家1.txt", "r") == 0)
                                                                              {
                                                                                        G1 = 1;
                                                                                        Y = fgetc(fp1);
                                                                                        fclose(fp1);
                                                                              }
                                                                              if (G1 == 1)
                                                                              {
                                                                                        if (Y == 'Y')
                                                                                        {
                                                                                                me = 2;
                                                                                                ME = me;
                                                                                                b = 1;
                                                                                                fclose(fp2);
                                                                                                printf("游戏开始\n");
                                                                                                goto s_1;
                                                                                        }
                                                                                        else
                                                                                        {
                                                                                                printf("玩家1已进入,请等待玩家1准备\n");
                                                                                        }
                                                                              }
                                                                              else
                                                                              {
                                                                                        printf("请你耐心等待玩家1进入\n");
                                                                              }
                                                                              me = 2;
                                                                              ME = me;
                                                                              b = 1;
                                                                              fclose(fp2);
                                                                        }
                                                                        else
                                                                        {
                                                                              printf("输入J准备:");
                                                                              i--;
                                                                        }
                                                                }
                                                      }
                                                      else
                                                      {
                                                                printf("进入失败\n请重试\n");
                                                                goto s_1;
                                                      }
                                                }
                                        }
                                        else
                                        {
                                                i--;
                                                k++;
                                                switch (k)
                                                {
                                                case 1:
                                                      printf("你输入错误,请重新输入(玩家1:输入1,玩家2:输入2):");
                                                      break;
                                                case 2:
                                                      printf("你输入错误,请认真确认再输入,请重新输入(玩家1:输入1,玩家2:输入2):");
                                                      break;
                                                case 10:
                                                      printf("你下一次再输入错误,就将默认进入玩家1,请重新输入(玩家1:输入1,玩家2:输入2):");
                                                      break;
                                                case 11:
                                                      wjwj = 1;
                                                      break;
                                                default:
                                                      printf("你输入错误,你已输入错误%d次,再输入错误%d次就将默认进入玩家1!请重新输入(玩家1:输入1,玩家2:输入2):", k, (10 - k));
                                                      break;
                                                }
                                        }
                              }
                        }
                }
                else
                {
                        if (Game_player_one == 1)//玩家1进入
                        {
                              if (err1 = fopen_s(&fp1, "玩家1.txt", "r") == 0)
                              {
                                        G1 = 1;
                                        fclose(fp1);
                              }
                              if (err2 = fopen_s(&fp2, "玩家2.txt", "r") == 0)
                              {
                                        G2 = 1;
                                        fclose(fp2);
                              }
                              if (G1 == 1 && G2 == 1)
                              {
                                        printf("已满人,请退出\n");
                                        return;
                              }
                              if (G1 == 1 && G2 != 1)
                              {
                                        printf("玩家1已有人进入,玩家2有空位,请进入玩家2\n");
                                        goto s_1;
                              }
                              else
                              {
                                        printf("正在进入玩家1……\n");
                                        if (err1 = fopen_s(&fp1, "玩家1.txt", "w") == 0)
                                        {
                                                printf("进入成功\n");
                                                char A, Y;
                                                for (int i = 0; i < 1; i++)
                                                {
                                                      scanf_s("%c", &A, 1);
                                                      if (A == 'J')
                                                      {
                                                                fputc('Y', fp1);
                                                                if (err2 = fopen_s(&fp2, "玩家2.txt", "r") == 0)
                                                                {
                                                                        G2 = 1;
                                                                        Y = fgetc(fp2);
                                                                        fclose(fp2);
                                                                }
                                                                if (G2 == 1)
                                                                {
                                                                        if (Y == 'Y')
                                                                        {
                                                                              me = 1;
                                                                              ME = me;
                                                                              b = 1;
                                                                              fclose(fp1);
                                                                              printf("游戏开始\n");
                                                                              goto s_1;
                                                                        }
                                                                        else
                                                                        {
                                                                              printf("玩家2已进入,请等待玩家2准备\n");
                                                                        }
                                                                }
                                                                else
                                                                {
                                                                        printf("请你耐心等待玩家2进入\n");
                                                                }
                                                                me = 1;
                                                                ME = me;
                                                                b = 1;
                                                                fclose(fp1);
                                                      }
                                                      else
                                                      {
                                                                printf("输入J准备:");
                                                                i--;
                                                      }
                                                }
                                        }
                                        else
                                        {
                                                printf("进入失败\n请重试\n");
                                                goto s_1;
                                        }
                              }
                        }
                        else
                        {
                              if (Game_player_two == 2)//玩家2进入
                              {
                                        if (err1 = fopen_s(&fp1, "玩家1.txt", "r") == 0)
                                        {
                                                G1 = 1;
                                                fclose(fp1);
                                        }
                                        if (err2 = fopen_s(&fp2, "玩家2.txt", "r") == 0)
                                        {
                                                G2 = 1;
                                                fclose(fp2);
                                        }
                                        if (G1 == 1 && G2 == 1)
                                        {
                                                printf("已满人,请退出\n");
                                                return;
                                        }
                                        if (G1 != 1 && G2 == 1)
                                        {
                                                printf("玩家2已有人进入,玩家1有空位,请进入玩家1\n");
                                                goto s_1;
                                        }
                                        else
                                        {
                                                printf("正在进入玩家2……\n");
                                                if (err2 = fopen_s(&fp2, "玩家2.txt", "w") == 0)
                                                {
                                                      printf("进入成功\n");
                                                      char A, Y;
                                                      for (int i = 0; i < 1; i++)
                                                      {
                                                                scanf_s("%c", &A, 1);
                                                                if (A == 'J')
                                                                {
                                                                        fputc('Y', fp1);
                                                                        if (err2 = fopen_s(&fp1, "玩家1.txt", "r") == 0)
                                                                        {
                                                                              G1 = 1;
                                                                              Y = fgetc(fp1);
                                                                              fclose(fp1);
                                                                        }
                                                                        if (G1 == 1)
                                                                        {
                                                                              if (Y == 'Y')
                                                                              {
                                                                                        me = 2;
                                                                                        ME = me;
                                                                                        b = 1;
                                                                                        fclose(fp2);
                                                                                        printf("游戏开始\n");
                                                                                        goto s_1;
                                                                              }
                                                                              else
                                                                              {
                                                                                        printf("玩家1已进入,请等待玩家1准备\n");
                                                                              }
                                                                        }
                                                                        else
                                                                        {
                                                                              printf("请你耐心等待玩家1进入\n");
                                                                        }
                                                                        me = 2;
                                                                        ME = me;
                                                                        b = 1;
                                                                        fclose(fp2);
                                                                }
                                                                else
                                                                {
                                                                        printf("输入J准备:");
                                                                        i--;
                                                                }
                                                      }
                                                }
                                                else
                                                {
                                                      printf("进入失败\n请重试\n");
                                                      goto s_1;
                                                }
                                        }
                              }
                              else
                              {
                                        goto s_1;
                              }
                        }
                }
      }

      if (c == 0)//刷新
      {
                //bao_1
                printf("刷新输入666,其他数字退出:");
                scanf_s("%d", &a);
                if (a == 666)
                {
                        goto s_1;
                }
      }
}

void DoubleBeight(int me)
{
      int mec, itc;//我与对方出的拳
      int mefraction, itfraction;
      errno_t err1, err2;//没事打的
      FILE *fp1, *fp2;//玩家1、2的文件指针
      int a = 0;//用于刷新
      int c = 2;//用于判断用户是否输入
      int k = 0;//用于用户输入错误时,给用户不同的提示
      int G1 = 0, G2 = 0;//判断对方是否在线
      int ju = 3/*局数*/, js = 2/*几局胜*/;
      char ch;//用于读取文件字符
      int histoy;//用于记录每盘的游玩记录

      if (me == 1)
      {
      s_1:
                //判断对方是否在线
                if (err2 = fopen_s(&fp2, "玩家2.txt", "r") == 0)
                {
                        G2 = 1;
                        fclose(fp2);
                }
                if (G2 != 1)
                {
                        printf("对方已掉线……");
                        printf("请退出重进……");
                        for (int i = 0; i < 1; i++)
                        {
                              printf("输入A退出");
                              if (getchar() == 'A')
                              {
                                        i++;
                              }
                              i--;
                        }
                }

                FILE *p;

                printf("请问您要玩几局?(最多99局)\n请输入:");
                for (int i = 0; i < 1; i++)
                {
                        scanf_s("%d", &ju);
                        if (ju > 99)
                        {
                              i--;
                              printf("不能超过99局,请重新输入:");
                        }
                }
                if (JU(ju) == ju)
                {
                        js = ju / 2;
                }
                else
                {
                        js = (ju / 2) + 1;
                }
                fopen_s(&p, "局.txt", "w");
                printf("%d局%d胜\n", ju, js);
                switch (ju/10)
                {
                case 1:
                        fputc('A', p);
                        fclose(p);
                        fopen_s(&p, "局.txt", "a+");
                        switch (ju-10)
                        {
                        case 1:
                              fputc('A', p);
                              fclose(p);
                              break;
                        case 2:
                              fputc('B', p);
                              fclose(p);
                              break;
                        case 3:
                              fputc('C', p);
                              fclose(p);
                              break;
                        case 4:
                              fputc('D', p);
                              fclose(p);
                              break;
                        case 5:
                              fputc('E', p);
                              fclose(p);
                              break;
                        case 6:
                              fputc('F', p);
                              fclose(p);
                              break;
                        case 7:
                              fputc('G', p);
                              fclose(p);
                              break;
                        case 8:
                              fputc('H', p);
                              fclose(p);
                              break;
                        case 9:
                              fputc('I', p);
                              fclose(p);
                              break;
                        default:
                              fputc('J', p);
                              fclose(p);
                              break;
                        }
                        break;
                case 2:
                        fputc('B', p);
                        fclose(p);
                        fopen_s(&p, "局.txt", "a+");
                        switch (ju - 20)
                        {
                        case 1:
                              fputc('A', p);
                              fclose(p);
                              break;
                        case 2:
                              fputc('B', p);
                              fclose(p);
                              break;
                        case 3:
                              fputc('C', p);
                              fclose(p);
                              break;
                        case 4:
                              fputc('D', p);
                              fclose(p);
                              break;
                        case 5:
                              fputc('E', p);
                              fclose(p);
                              break;
                        case 6:
                              fputc('F', p);
                              fclose(p);
                              break;
                        case 7:
                              fputc('G', p);
                              fclose(p);
                              break;
                        case 8:
                              fputc('H', p);
                              fclose(p);
                              break;
                        case 9:
                              fputc('I', p);
                              fclose(p);
                              break;
                        default:
                              fputc('J', p);
                              fclose(p);
                              break;
                        }
                        break;
                case 3:
                        fputc('C', p);
                        fclose(p);
                        fopen_s(&p, "局.txt", "a+");
                        switch (ju - 30)
                        {
                        case 1:
                              fputc('A', p);
                              fclose(p);
                              break;
                        case 2:
                              fputc('B', p);
                              fclose(p);
                              break;
                        case 3:
                              fputc('C', p);
                              fclose(p);
                              break;
                        case 4:
                              fputc('D', p);
                              fclose(p);
                              break;
                        case 5:
                              fputc('E', p);
                              fclose(p);
                              break;
                        case 6:
                              fputc('F', p);
                              fclose(p);
                              break;
                        case 7:
                              fputc('G', p);
                              fclose(p);
                              break;
                        case 8:
                              fputc('H', p);
                              fclose(p);
                              break;
                        case 9:
                              fputc('I', p);
                              fclose(p);
                              break;
                        default:
                              fputc('J', p);
                              fclose(p);
                              break;
                        }
                        break;
                case 4:
                        fputc('D', p);
                        fclose(p);
                        fopen_s(&p, "局.txt", "a+");
                        switch (ju - 40)
                        {
                        case 1:
                              fputc('A', p);
                              fclose(p);
                              break;
                        case 2:
                              fputc('B', p);
                              fclose(p);
                              break;
                        case 3:
                              fputc('C', p);
                              fclose(p);
                              break;
                        case 4:
                              fputc('D', p);
                              fclose(p);
                              break;
                        case 5:
                              fputc('E', p);
                              fclose(p);
                              break;
                        case 6:
                              fputc('F', p);
                              fclose(p);
                              break;
                        case 7:
                              fputc('G', p);
                              fclose(p);
                              break;
                        case 8:
                              fputc('H', p);
                              fclose(p);
                              break;
                        case 9:
                              fputc('I', p);
                              fclose(p);
                              break;
                        default:
                              fputc('J', p);
                              fclose(p);
                              break;
                        }
                        break;
                case 5:
                        fputc('E', p);
                        fclose(p);
                        fopen_s(&p, "局.txt", "a+");
                        switch (ju - 50)
                        {
                        case 1:
                              fputc('A', p);
                              fclose(p);
                              break;
                        case 2:
                              fputc('B', p);
                              fclose(p);
                              break;
                        case 3:
                              fputc('C', p);
                              fclose(p);
                              break;
                        case 4:
                              fputc('D', p);
                              fclose(p);
                              break;
                        case 5:
                              fputc('E', p);
                              fclose(p);
                              break;
                        case 6:
                              fputc('F', p);
                              fclose(p);
                              break;
                        case 7:
                              fputc('G', p);
                              fclose(p);
                              break;
                        case 8:
                              fputc('H', p);
                              fclose(p);
                              break;
                        case 9:
                              fputc('I', p);
                              fclose(p);
                              break;
                        default:
                              fputc('J', p);
                              fclose(p);
                              break;
                        }
                        break;
                case 6:
                        fputc('F', p);
                        fclose(p);
                        fopen_s(&p, "局.txt", "a+");
                        switch (ju - 60)
                        {
                        case 1:
                              fputc('A', p);
                              fclose(p);
                              break;
                        case 2:
                              fputc('B', p);
                              fclose(p);
                              break;
                        case 3:
                              fputc('C', p);
                              fclose(p);
                              break;
                        case 4:
                              fputc('D', p);
                              fclose(p);
                              break;
                        case 5:
                              fputc('E', p);
                              fclose(p);
                              break;
                        case 6:
                              fputc('F', p);
                              fclose(p);
                              break;
                        case 7:
                              fputc('G', p);
                              fclose(p);
                              break;
                        case 8:
                              fputc('H', p);
                              fclose(p);
                              break;
                        case 9:
                              fputc('I', p);
                              fclose(p);
                              break;
                        default:
                              fputc('J', p);
                              fclose(p);
                              break;
                        }
                        break;
                case 7:
                        fputc('G', p);
                        fclose(p);
                        fopen_s(&p, "局.txt", "a+");
                        switch (ju - 70)
                        {
                        case 1:
                              fputc('A', p);
                              fclose(p);
                              break;
                        case 2:
                              fputc('B', p);
                              fclose(p);
                              break;
                        case 3:
                              fputc('C', p);
                              fclose(p);
                              break;
                        case 4:
                              fputc('D', p);
                              fclose(p);
                              break;
                        case 5:
                              fputc('E', p);
                              fclose(p);
                              break;
                        case 6:
                              fputc('F', p);
                              fclose(p);
                              break;
                        case 7:
                              fputc('G', p);
                              fclose(p);
                              break;
                        case 8:
                              fputc('H', p);
                              fclose(p);
                              break;
                        case 9:
                              fputc('I', p);
                              fclose(p);
                              break;
                        default:
                              fputc('J', p);
                              fclose(p);
                              break;
                        }
                        break;
                case 8:
                        fputc('H', p);
                        fclose(p);
                        fopen_s(&p, "局.txt", "a+");
                        switch (ju - 80)
                        {
                        case 1:
                              fputc('A', p);
                              fclose(p);
                              break;
                        case 2:
                              fputc('B', p);
                              fclose(p);
                              break;
                        case 3:
                              fputc('C', p);
                              fclose(p);
                              break;
                        case 4:
                              fputc('D', p);
                              fclose(p);
                              break;
                        case 5:
                              fputc('E', p);
                              fclose(p);
                              break;
                        case 6:
                              fputc('F', p);
                              fclose(p);
                              break;
                        case 7:
                              fputc('G', p);
                              fclose(p);
                              break;
                        case 8:
                              fputc('H', p);
                              fclose(p);
                              break;
                        case 9:
                              fputc('I', p);
                              fclose(p);
                              break;
                        default:
                              fputc('J', p);
                              fclose(p);
                              break;
                        }
                        break;
                case 9:
                        fputc('I', p);
                        fclose(p);
                        fopen_s(&p, "局.txt", "a+");
                        switch (ju - 90)
                        {
                        case 1:
                              fputc('A', p);
                              fclose(p);
                              break;
                        case 2:
                              fputc('B', p);
                              fclose(p);
                              break;
                        case 3:
                              fputc('C', p);
                              fclose(p);
                              break;
                        case 4:
                              fputc('D', p);
                              fclose(p);
                              break;
                        case 5:
                              fputc('E', p);
                              fclose(p);
                              break;
                        case 6:
                              fputc('F', p);
                              fclose(p);
                              break;
                        case 7:
                              fputc('G', p);
                              fclose(p);
                              break;
                        case 8:
                              fputc('H', p);
                              fclose(p);
                              break;
                        case 9:
                              fputc('I', p);
                              fclose(p);
                              break;
                        default:
                              fputc('J', p);
                              fclose(p);
                              break;
                        }
                        break;
                default:
                        fputc('J', p);
                        fclose(p);
                        fopen_s(&p, "局.txt", "a+");
                        switch (ju - 0)
                        {
                        case 1:
                              fputc('A', p);
                              fclose(p);
                              break;
                        case 2:
                              fputc('B', p);
                              fclose(p);
                              break;
                        case 3:
                              fputc('C', p);
                              fclose(p);
                              break;
                        case 4:
                              fputc('D', p);
                              fclose(p);
                              break;
                        case 5:
                              fputc('E', p);
                              fclose(p);
                              break;
                        case 6:
                              fputc('F', p);
                              fclose(p);
                              break;
                        case 7:
                              fputc('G', p);
                              fclose(p);
                              break;
                        case 8:
                              fputc('H', p);
                              fclose(p);
                              break;
                        case 9:
                              fputc('I', p);
                              fclose(p);
                              break;
                        default:
                              fputc('J', p);
                              fclose(p);
                              break;
                        }
                        break;
                }
                for (int i = 0; i < ju; i++)
                {
                        printf("你请出拳(0:石头 1:布 2:剪刀 12*9*6-54+456446465*3131*0+4646*888=?:开挂):");
                        for (int j = 0; j < 1; j++)
                        {
                              if (k < 11)
                              {
                                        scanf_s("%d", &mec);
                              }
                              switch (mec)
                              {
                              case 0:
                                        fopen_s(&fp1, "玩家1.txt", "r+");
                                        fputc('A', fp1);
                                        fclose(fp1);
                                        histoy = 0;
                                        break;
                              case 1:
                                        fopen_s(&fp1, "玩家1.txt", "r+");
                                        fputc('B', fp1);
                                        fclose(fp1);
                                        histoy = 1;
                                        break;
                              case 2:
                                        fopen_s(&fp1, "玩家1.txt", "r+");
                                        fputc('C', fp1);
                                        fclose(fp1);
                                        histoy = 2;
                                        break;
                              case 4126242:
                                        printf("开挂是错误的选择,你已被退出程序\n");
                                        getchar();
                                        exit(1);
                                        break;
                              case 1281742605:
                                        printf("挂正在开发中\n");
                                        j--;
                                        break;
                              default:
                                        k++;
                                        j--;
                                        switch (k)
                                        {
                                        case 1:
                                                printf("你输入错误,请重新输入(0:石头 1:布 2:剪刀 12*9*6-54+456446465*3131*0+4646*888=?:开挂):");
                                                break;
                                        case 2:
                                                printf("你输入错误,请认真确认再输入,请重新输入(0:石头 1:布 2:剪刀 12*9*6-54+456446465*3131*0+4646*888=?:开挂):");
                                                break;
                                        case 10:
                                                printf("你下一次再输入错误,就将默认默认出石头,请重新输入(0:石头 1:布 2:剪刀 12*9*6-54+456446465*3131*0+4646*888=?:开挂):");
                                                break;
                                        case 11:
                                                mec = 0;
                                                break;
                                        default:
                                                printf("你输入错误,你已输入错误%d次,再输入错误%d次就将默认出石头!请重新输入(0:石头 1:布 2:剪刀 12*9*6-54+456446465*3131*0+4646*888=?:开挂):", k, (10 - k));
                                                break;
                                        }
                                        break;
                              }
                        }

                        //判断对方是否在线
                        if (err2 = fopen_s(&fp2, "玩家2.txt", "r") == 0)
                        {
                              G2 = 1;
                              fclose(fp2);
                        }
                        if (G2 != 1)
                        {
                              printf("对方已掉线……");
                              printf("请退出重进……");
                              for (int i = 0; i < 1; i++)
                              {
                                        printf("输入A退出");
                                        if (getchar() == 'A')
                                        {
                                                i++;
                                        }
                                        i--;
                              }
                        }

                        fopen_s(&fp2, "玩家2.txt", "r");
                        ch = fgetc(fp2);
                        if (ch != 'Y')
                        {
                              switch (ch)
                              {
                              case 'A':
                                        itc = 0;
                                        histoy = itc;
                                        printf("对方已出拳,正在判断胜负……\n");
                                        break;
                              case 'B':
                                        itc = 1;
                                        histoy = itc;
                                        printf(" 对方已出拳,正在判断胜负……\n");
                                        break;
                              default:
                                        itc = 2;
                                        histoy = itc;
                                        printf(" 对方已出拳, 正在判断胜负……\n");
                                        break;
                              }
                              switch (mec)//判断胜负
                              {
                              case 0://玩家1输入石头
                                        switch (itc)
                                        {
                                        case 0://玩家2输入石头
                                                printf("对方出石头,平局,这局不算,继续\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                i--;
                                                break;
                                        case 1://玩家2输入布
                                                itfraction++;
                                                printf("对方出布,对方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                histoy = 2;
                                                break;
                                        default://玩家2输入剪刀
                                                mefraction++;
                                                printf("对方出剪刀,我方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                histoy = 1;
                                                break;
                                        }
                                        break;
                              case 1://玩家1输入布
                                        switch (itc)
                                        {
                                        case 0://玩家2输入石头
                                                mefraction++;
                                                printf("对方出石头,我方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                histoy = 1;
                                                break;
                                        case 1://玩家2输入布
                                                printf("对方出布,平局,这局不算,继续\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                i--;
                                                break;
                                        default://玩家2输入剪刀
                                                itfraction++;
                                                printf("对方出剪刀,对方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                histoy = 2;
                                                break;
                                        }
                                        break;
                              default://玩家1输入剪刀
                                        switch (itc)
                                        {
                                        case 0://玩家2输入石头
                                                itfraction++;
                                                printf("对方出石头,对方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                break;
                                                histoy = 2;
                                        case 1://玩家2输入布
                                                mefraction++;
                                                printf("对方出布,我方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                histoy = 1;
                                                break;
                                        default://玩家2输入剪刀
                                                printf("对方出剪刀,平局,这局不算,继续\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                i--;
                                                break;
                                        }
                                        break;
                              }
                              if (mefraction == js)
                              {
                                        i = ju;
                                        printf("我方胜利局数已达到%d局,我方胜利", js);
                              }
                              if (itfraction == js)
                              {
                                        i = ju;
                                        printf("对方胜利局数已达到%d局,对方胜利", js);
                              }
                              if (mefraction == js && i == js)
                              {
                                        printf("你竟然全胜\n");
                              }
                              if (itfraction == js && i == js)
                              {
                                        printf("对方竟然全胜\n");
                              }
                              if (mefraction == js || itfraction == js)
                              {
                                        printf("是否查看游戏记录(是/0 否(退出游戏)/其他):");
                                        int app;
                                        scanf_s("%d", &app);
                                        if (app == 0)
                                        {
                                                for (int p = 0; p < 99; p++)
                                                {
                                                      if (histoy)
                                                      {
                                                                p = 99;
                                                      }
                                                      else
                                                      {
                                                                printf("第%d局:", p + 1);
                                                                switch (histoy)
                                                                {
                                                                case 0:
                                                                        printf("玩家1出石头,");
                                                                        break;
                                                                case 1:
                                                                        printf("玩家1出布,");
                                                                        break;
                                                                default:
                                                                        printf("玩家1出剪刀,");
                                                                        break;
                                                                }
                                                                switch (histoy)
                                                                {
                                                                case 0:
                                                                        printf("玩家2出石头,");
                                                                        break;
                                                                case 1:
                                                                        printf("玩家2出布,");
                                                                        break;
                                                                default:
                                                                        printf("玩家2出剪刀,");
                                                                        break;
                                                                }
                                                                switch (histoy)
                                                                {
                                                                case 1:
                                                                        printf("玩家1胜\n");
                                                                        break;
                                                                default:
                                                                        printf("玩家2胜\n");
                                                                        break;
                                                                }
                                                      }
                                                }
                                                printf("玩家1胜%d局,玩家2胜%d局\n", mefraction, itfraction);
                                        }
                              }
                        }
                        else
                        {
                              printf("请等待对方出拳……\n");
                              c = 0;
                        }
                        if (c == 0)//刷新
                        {
                              printf("刷新输入666,其他数字退出:");
                              scanf_s("%d", &a);
                              if (a == 666)
                              {
                                        c = 5;
                                        a = 2;
                                        goto s_1;
                              }
                        }
                }
      }
      else
      {
      s_2:
                //判断对方是否在线
                if (err1 = fopen_s(&fp1, "玩家1.txt", "r") == 0)
                {
                        G1 = 1;
                        fclose(fp1);
                }
                if (G1 != 1)
                {
                        printf("对方已掉线……");
                        printf("请退出重进……");
                        for (int i = 0; i < 1; i++)
                        {
                              printf("输入A退出");
                              if (getchar() == 'A')
                              {
                                        i++;
                              }
                              i--;
                        }
                }

      s_3:
                FILE *q;
                char Ju;
                if (fopen_s(&q, "局.txt", "r") != 0)
                {
                        printf("玩家1还未决定几局几胜,请稍等……\n");
                        for (int i = 0; i < 1; i++)
                        {
                              int y;
                              printf("输入1刷新:");
                              scanf_s("%d", &y);
                              if (y == 1)
                              {
                                        fclose(q);
                                        gotos_3;
                              }
                              else
                              {
                                        i--;
                              }
                        }
                }
                else
                {
                        for (int i = 0; i < 2; i++)
                        {
                              fgets(Ju, 3, stdin);
                              fclose(q);
                        }
                        switch (Ju)
                        {
                        case 'A':
                              ju = ju + 10;
                              switch (Ju)
                              {
                              case 'A':
                                        ju = ju + 1;
                                        break;
                              case 'B':
                                        ju = ju + 2;
                                        break;
                              case 'C':
                                        ju = ju + 3;
                                        break;
                              case 'D':
                                        ju = ju + 4;
                                        break;
                              case 'E':
                                        ju = ju + 5;
                                        break;
                              case 'F':
                                        ju = ju + 6;
                                        break;
                              case 'G':
                                        ju = ju + 7;
                                        break;
                              case 'H':
                                        ju = ju + 8;
                                        break;
                              case 'I':
                                        ju = ju + 9;
                                        break;
                              default:
                                        break;
                              }
                              break;
                        case 'B':
                              ju = ju + 20;
                              switch (Ju)
                              {
                              case 'A':
                                        ju = ju + 1;
                                        break;
                              case 'B':
                                        ju = ju + 2;
                                        break;
                              case 'C':
                                        ju = ju + 3;
                                        break;
                              case 'D':
                                        ju = ju + 4;
                                        break;
                              case 'E':
                                        ju = ju + 5;
                                        break;
                              case 'F':
                                        ju = ju + 6;
                                        break;
                              case 'G':
                                        ju = ju + 7;
                                        break;
                              case 'H':
                                        ju = ju + 8;
                                        break;
                              case 'I':
                                        ju = ju + 9;
                                        break;
                              default:
                                        break;
                              }
                              break;
                        case 'C':
                              ju = ju + 30;
                              switch (Ju)
                              {
                              case 'A':
                                        ju = ju + 1;
                                        break;
                              case 'B':
                                        ju = ju + 2;
                                        break;
                              case 'C':
                                        ju = ju + 3;
                                        break;
                              case 'D':
                                        ju = ju + 4;
                                        break;
                              case 'E':
                                        ju = ju + 5;
                                        break;
                              case 'F':
                                        ju = ju + 6;
                                        break;
                              case 'G':
                                        ju = ju + 7;
                                        break;
                              case 'H':
                                        ju = ju + 8;
                                        break;
                              case 'I':
                                        ju = ju + 9;
                                        break;
                              default:
                                        break;
                              }
                              break;
                        case 'D':
                              ju = ju + 40;
                              switch (Ju)
                              {
                              case 'A':
                                        ju = ju + 1;
                                        break;
                              case 'B':
                                        ju = ju + 2;
                                        break;
                              case 'C':
                                        ju = ju + 3;
                                        break;
                              case 'D':
                                        ju = ju + 4;
                                        break;
                              case 'E':
                                        ju = ju + 5;
                                        break;
                              case 'F':
                                        ju = ju + 6;
                                        break;
                              case 'G':
                                        ju = ju + 7;
                                        break;
                              case 'H':
                                        ju = ju + 8;
                                        break;
                              case 'I':
                                        ju = ju + 9;
                                        break;
                              default:
                                        break;
                              }
                              break;
                        case 'E':
                              ju = ju + 50;
                              switch (Ju)
                              {
                              case 'A':
                                        ju = ju + 1;
                                        break;
                              case 'B':
                                        ju = ju + 2;
                                        break;
                              case 'C':
                                        ju = ju + 3;
                                        break;
                              case 'D':
                                        ju = ju + 4;
                                        break;
                              case 'E':
                                        ju = ju + 5;
                                        break;
                              case 'F':
                                        ju = ju + 6;
                                        break;
                              case 'G':
                                        ju = ju + 7;
                                        break;
                              case 'H':
                                        ju = ju + 8;
                                        break;
                              case 'I':
                                        ju = ju + 9;
                                        break;
                              default:
                                        break;
                              }
                              break;
                        case 'F':
                              ju = ju + 60;
                              switch (Ju)
                              {
                              case 'A':
                                        ju = ju + 1;
                                        break;
                              case 'B':
                                        ju = ju + 2;
                                        break;
                              case 'C':
                                        ju = ju + 3;
                                        break;
                              case 'D':
                                        ju = ju + 4;
                                        break;
                              case 'E':
                                        ju = ju + 5;
                                        break;
                              case 'F':
                                        ju = ju + 6;
                                        break;
                              case 'G':
                                        ju = ju + 7;
                                        break;
                              case 'H':
                                        ju = ju + 8;
                                        break;
                              case 'I':
                                        ju = ju + 9;
                                        break;
                              default:
                                        break;
                              }
                              break;
                        case 'G':
                              ju = ju + 70;
                              switch (Ju)
                              {
                              case 'A':
                                        ju = ju + 1;
                                        break;
                              case 'B':
                                        ju = ju + 2;
                                        break;
                              case 'C':
                                        ju = ju + 3;
                                        break;
                              case 'D':
                                        ju = ju + 4;
                                        break;
                              case 'E':
                                        ju = ju + 5;
                                        break;
                              case 'F':
                                        ju = ju + 6;
                                        break;
                              case 'G':
                                        ju = ju + 7;
                                        break;
                              case 'H':
                                        ju = ju + 8;
                                        break;
                              case 'I':
                                        ju = ju + 9;
                                        break;
                              default:
                                        break;
                              }
                              break;
                        case 'H':
                              ju = ju + 80;
                              switch (Ju)
                              {
                              case 'A':
                                        ju = ju + 1;
                                        break;
                              case 'B':
                                        ju = ju + 2;
                                        break;
                              case 'C':
                                        ju = ju + 3;
                                        break;
                              case 'D':
                                        ju = ju + 4;
                                        break;
                              case 'E':
                                        ju = ju + 5;
                                        break;
                              case 'F':
                                        ju = ju + 6;
                                        break;
                              case 'G':
                                        ju = ju + 7;
                                        break;
                              case 'H':
                                        ju = ju + 8;
                                        break;
                              case 'I':
                                        ju = ju + 9;
                                        break;
                              default:
                                        break;
                              }
                              break;
                        case 'I':
                              ju = ju + 90;
                              switch (Ju)
                              {
                              case 'A':
                                        ju = ju + 1;
                                        break;
                              case 'B':
                                        ju = ju + 2;
                                        break;
                              case 'C':
                                        ju = ju + 3;
                                        break;
                              case 'D':
                                        ju = ju + 4;
                                        break;
                              case 'E':
                                        ju = ju + 5;
                                        break;
                              case 'F':
                                        ju = ju + 6;
                                        break;
                              case 'G':
                                        ju = ju + 7;
                                        break;
                              case 'H':
                                        ju = ju + 8;
                                        break;
                              case 'I':
                                        ju = ju + 9;
                                        break;
                              default:
                                        ju = ju + 0;
                                        break;
                              }
                              break;
                        default:
                              switch (Ju)
                              {
                              case 'A':
                                        ju = ju + 1;
                                        break;
                              case 'B':
                                        ju = ju + 2;
                                        break;
                              case 'C':
                                        ju = ju + 3;
                                        break;
                              case 'D':
                                        ju = ju + 4;
                                        break;
                              case 'E':
                                        ju = ju + 5;
                                        break;
                              case 'F':
                                        ju = ju + 6;
                                        break;
                              case 'G':
                                        ju = ju + 7;
                                        break;
                              case 'H':
                                        ju = ju + 8;
                                        break;
                              case 'I':
                                        ju = ju + 9;
                                        break;
                              default:
                                        ju = ju + 0;
                                        break;
                              }
                              break;
                        }
                }
                if (JU(ju) == ju)
                {
                        js = ju / 2;
                }
                else
                {
                        js = (ju / 2) + 1;
                }
                printf("玩家1决定%d局%d胜\n", ju, js);

                for (int i = 0; i < ju; i++)
                {
                        printf("你请出拳(0:石头 1:布 2:剪刀 12*9*6-54+456446465*3131*0+4646*888=?:开挂):");
                        for (int j = 0; j < 1; j++)
                        {
                              if (k < 11)
                              {
                                        scanf_s("%d", &mec);
                              }
                              switch (mec)
                              {
                              case 0:
                                        fopen_s(&fp2, "玩家2.txt", "r+");
                                        fputc('A', fp2);
                                        fclose(fp2);
                                        histoy = 0;
                                        break;
                              case 1:
                                        fopen_s(&fp2, "玩家2.txt", "r+");
                                        fputc('B', fp2);
                                        fclose(fp2);
                                        histoy = 1;
                                        break;
                              case 2:
                                        fopen_s(&fp2, "玩家2.txt", "r+");
                                        fputc('C', fp2);
                                        fclose(fp2);
                                        histoy = 2;
                                        break;
                              case 4126242:
                                        printf("开挂是错误的选择,你已被退出程序\n");
                                        getchar();
                                        exit(1);
                                        break;
                              case 1281742605:
                                        printf("挂正在开发中\n");
                                        j--;
                                        break;
                              default:
                                        k++;
                                        j--;
                                        switch (k)
                                        {
                                        case 1:
                                                printf("你输入错误,请重新输入(0:石头 1:布 2:剪刀 12*9*6-54+456446465*3131*0+4646*888=?:开挂):");
                                                break;
                                        case 2:
                                                printf("你输入错误,请认真确认再输入,请重新输入(0:石头 1:布 2:剪刀 12*9*6-54+456446465*3131*0+4646*888=?:开挂):");
                                                break;
                                        case 10:
                                                printf("你下一次再输入错误,就将默认默认出石头,请重新输入(0:石头 1:布 2:剪刀 12*9*6-54+456446465*3131*0+4646*888=?:开挂):");
                                                break;
                                        case 11:
                                                mec = 0;
                                                break;
                                        default:
                                                printf("你输入错误,你已输入错误%d次,再输入错误%d次就将默认出石头!请重新输入(0:石头 1:布 2:剪刀 12*9*6-54+456446465*3131*0+4646*888=?:开挂):", k, (10 - k));
                                                break;
                                        }
                                        break;
                              }
                        }

                        //判断对方是否在线
                        if (err1 = fopen_s(&fp1, "玩家1.txt", "r") == 0)
                        {
                              G1 = 1;
                              fclose(fp1);
                        }
                        if (G1 != 1)
                        {
                              printf("对方已掉线……");
                              printf("请退出重进……");
                              for (int i = 0; i < 1; i++)
                              {
                                        printf("输入A退出");
                                        if (getchar() == 'A')
                                        {
                                                i++;
                                        }
                                        i--;
                              }
                        }

                        fopen_s(&fp1, "玩家1.txt", "r");
                        ch = fgetc(fp1);
                        if (ch != 'Y')
                        {
                              switch (ch)
                              {
                              case 'A':
                                        itc = 0;
                                        histoy = itc;
                                        printf("对方已出拳,正在判断胜负……\n");
                                        break;
                              case 'B':
                                        itc = 1;
                                        histoy = itc;
                                        printf(" 对方已出拳,正在判断胜负……\n");
                                        break;
                              default:
                                        itc = 2;
                                        histoy = itc;
                                        printf(" 对方已出拳, 正在判断胜负……\n");
                                        break;
                              }
                              switch (mec)//判断胜负
                              {
                              case 0://玩家2输入石头
                                        switch (itc)
                                        {
                                        case 0://玩家1输入石头
                                                printf("对方出石头,平局,这局不算,继续\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                i--;
                                                break;
                                        case 1://玩家1输入布
                                                itfraction++;
                                                printf("对方出布,对方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                histoy = 1;
                                                break;
                                        default://玩家1输入剪刀
                                                mefraction++;
                                                printf("对方出剪刀,我方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                histoy = 2;
                                                break;
                                        }
                                        break;
                              case 1://玩家2输入布
                                        switch (itc)
                                        {
                                        case 0://玩家1输入石头
                                                mefraction++;
                                                printf("对方出石头,我方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                histoy = 2;
                                                break;
                                        case 1://玩家1输入布
                                                printf("对方出布,平局,这局不算,继续\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                i--;
                                                break;
                                        default://玩家1输入剪刀
                                                itfraction++;
                                                printf("对方出剪刀,对方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                histoy = 1;
                                                break;
                                        }
                                        break;
                              default://玩家2输入剪刀
                                        switch (itc)
                                        {
                                        case 0://玩家1输入石头
                                                itfraction++;
                                                printf("对方出石头,对方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                break;
                                                histoy = 1;
                                        case 1://玩家1输入布
                                                mefraction++;
                                                printf("对方出布,我方胜\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                histoy = 2;
                                                break;
                                        default://玩家1输入剪刀
                                                printf("对方出剪刀,平局,这局不算,继续\n");
                                                printf("我方胜%d局,对方胜%d局,再接再厉\n", mefraction, itfraction);
                                                i--;
                                                break;
                                        }
                                        break;
                              }
                              if (mefraction == js)
                              {
                                        i = ju;
                                        printf("我方胜利局数已达到%d局,我方胜利", js);
                              }
                              if (itfraction == js)
                              {
                                        i = ju;
                                        printf("对方胜利局数已达到%d局,对方胜利", js);
                              }
                              if (mefraction == js && i == js)
                              {
                                        printf("你竟然全胜\n");
                              }
                              if (itfraction == js && i == js)
                              {
                                        printf("对方竟然全胜\n");
                              }
                              if (mefraction == js || itfraction == js)
                              {
                                        printf("是否查看游戏记录(是/0 否(退出游戏)/其他):");
                                        int app;
                                        scanf_s("%d", &app);
                                        if (app == 0)
                                        {
                                                for (int p = 0; p < 99; p++)
                                                {
                                                      printf("\\**********************/");
                                                      if (histoy)
                                                      {
                                                                p = 99;
                                                      }
                                                      else
                                                      {
                                                                printf("\\*第%d局:", p + 1);
                                                                switch (histoy)
                                                                {
                                                                case 0:
                                                                        printf("玩家1出石头,");
                                                                        break;
                                                                case 1:
                                                                        printf("玩家1出布 ,");
                                                                        break;
                                                                default:
                                                                        printf("玩家1出剪刀,");
                                                                        break;
                                                                }
                                                                switch (histoy)
                                                                {
                                                                case 0:
                                                                        printf("玩家2出石头,");
                                                                        break;
                                                                case 1:
                                                                        printf("玩家2出布 ,");
                                                                        break;
                                                                default:
                                                                        printf("玩家2出剪刀,");
                                                                        break;
                                                                }
                                                                switch (histoy)
                                                                {
                                                                case 1:
                                                                        printf("玩家1胜*/\n");
                                                                        break;
                                                                default:
                                                                        printf("玩家2胜*/\n");
                                                                        break;
                                                                }
                                                      }
                                                }
                                                printf("玩家1胜%d局,玩家2胜%d局\n", itfraction, mefraction);
                                        }
                              }
                        }
                        else
                        {
                              printf("请等待对方出拳……\n");
                              c = 0;
                        }
                        if (c == 0)//刷新
                        {
                              printf("刷新输入666,其他数字退出:");
                              scanf_s("%d", &a);
                              if (a == 666)
                              {
                                        c = 5;
                                        a = 2;
                                        goto s_2;
                              }
                        }
                }
      }
}



紫霞圣人 发表于 2018-10-5 19:40:18

咳咳,我看了下你的代码,2000多行把我给吓着了。。。。
我不懂你的思路,所以不好调试。而其代码真的太长了
实现这个小游戏其实不需要那么多代码的,你的代码过于复杂,你可以试试把他控制在200~~500行以内
逻辑紊乱,而且用了好几个goto函数,在c语言和c++中是强烈不推荐使用的因为会破坏逻辑结构,内存被打乱等。。
如果是读入出现错误的话,你看看是不是 读写的方式写错了 比如 W+ 或者R+弄错之类的。
你先点击.EXE输入1玩家选了局数后,在编译器中打开2玩家输入,在代码段的读取局数文本哪里下一个断点,一步一步的跟着调试。。那步出错就是哪步有问题(调试一般编译器是F5或者F7 )

紫霞圣人 发表于 2018-10-5 19:53:37

有源码吗,
你下断点调试啊,相同报错,可能是由多种原因造成的
代码多的时候,一定要多调试,调试一般都能解决问题的

还差几 发表于 2018-10-5 20:07:51

紫霞圣人 发表于 2018-10-5 19:53
有源码吗,
你下断点调试啊,相同报错,可能是由多种原因造成的
代码多的时候,一定要多调试,调试一般都 ...

我这是两个程序(一样的程序)在运行,该如何调试。
现在更新了,代码在第二页

还差几 发表于 2018-10-6 14:22:48

紫霞圣人 发表于 2018-10-5 21:08
咳咳,我看了下你的代码,2000多行把我给吓着了。。。。
我不懂你的思路,所以不好调试。而其代码真的太长 ...

好的,我调试修剪下代码
页: [1]
查看完整版本: 这个C语言程序为什么会这样?