麻烦哪位高手给加个 游戏记录选项啊 现在没分了 是在不好意思啊 很急啊
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#define TIME 3
#define N 3
int ws;
int num[N];
int initmsg()
{
int a;
printf("\n┎───────────┓");
printf("\n│ 请输入您的选择 │");
printf("\n│ 1: 开始 │");
printf("\n│ 2: 游戏说明 │");
printf("\n│ 3: 退出 │");
printf("\n┗───────────┛");
printf("\n 你的选择:");
scanf("%d",&a);
return a;
}
void gamemsg()
{
printf("1.输入要记忆的数字 位数\n");
printf("2.输入完成后 会出现3个 相应位数的数字\n");
printf("3.这3个数字 再1秒钟后消失\n");
printf("4.输入 文字 和符号时 提示程序错误\n");
printf("5.输入刚才出现 过的 3个数字\n");
printf("6.3次输入的 机会,数字输入正确则继续游戏,3次机会全错 则提示游戏是否继续\n");
printf("7.输入Q或者q时 程序结束\n");
printf("按任一建继续");
getch();
}
void clear()
{
while(getchar() != '\n');
}
int weishu()
{
int mark;
char c;
while(1)
{
regetmark: mark= initmsg();
switch(mark)
{
case 1: goto start;
case 2: gamemsg(); system("cls");;goto regetmark;
case 3: exit(0);
}
start:printf("请输入位数(结束Q/q):");
if(scanf("%d", &ws))
{
if(ws >= 1 && ws <= 5)
break;
}
else if((c = getchar()) == 'q' || c == 'Q')
return 0;
else
printf("输入错误!请重试.\n");
clear();
}
clear();
return 1;
}
int play()
{
int i, a, b, n;
int in[N];
switch(ws)
{
case 1:a = 0, b = 10;break;
case 2:a = 10, b = 90;break;
case 3:a = 100, b =900;break;
case 4:a = 1000, b = 9000;break;
case 5:a = 10000, b = 90000;break;
}
n = 0;
for(i = 0; i < N; ++i)
n += printf("%d ", num[i] = rand()%b+a);
clock_t now = clock();
while((clock() - now) / CLOCKS_PER_SEC < TIME);
i = n;
while(i--)
putchar('\b');
printf("%*c", n, ' ');
i = n;
while(i--)
putchar('\b');
b = 3;
while(b)
{
printf("请输入:");
for(i = 0; i < N && scanf("%d", &in[i]); ++i);
if(i < N)
{
printf("输入有误!请重试.\n");
clear();
continue;
}
if(b > 0)
{
for(i = 0; i < N; ++i)
if(in[i] != num[i])
{
if(b > 1)
printf("输入错误, 你还有%d次机会:\n", b-1);
break;
}
if(i == N)
return 1;
}
b--;
}
return 0;
}
int main()
{
srand(time(0));
while(weishu())
{
if(!play())
{
clear();
printf("3次机会已用完, 是否重来?(y继续):");
if(getchar() != 'y') break;
else
clear();
}
else
printf("恭喜你!记忆正确.\n");
}
printf("Bye!");
return 0;
}