蒟蒻求救
  • 板块灌水区
  • 楼主oflsy
  • 当前回复35
  • 已保存回复35
  • 发布时间2020/8/19 12:15
  • 上次更新2023/11/6 19:56:53
查看原帖
蒟蒻求救
240069
oflsy楼主2020/8/19 12:15

下面是我正在做的游戏的登录模块(密码还没判定,代码在最下面),但发现了一个问题:当我密码输错的时候,应该是要清屏并重新输入账号和密码,但是却变成了这个样子:

Please enter the account number Please enter the password

就是它直接跳过了输入账号的地方。

大佬能帮我解决这个问题吗?

codecode

void signin()
{
	int userAccountNumber;
	char userPassword[20];
	int tot;
	char key;
	int ifmAccountNumber=0;
	char ifmPassword[20];
	bool judge=false;
	while(!judge)
	{
		system("cls");
		printf("Please enter the account number\n");
		userAccountNumber=0;
		printf("%d\n",userAccountNumber);
		scanf("%d",&userAccountNumber);
		printf("Please enter the password\n");
		tot=0;
		do
		{
			key=getch();
			if(key!='\n'&&key!='\r')
			{
				printf(".");
				userPassword[tot]=key;
				tot++;
			}
		}while(key!='\n'&&key!='\r');
	//	printf("%d\n",userAccountNumber);
	//	for(int i=0;i<tot;i++) printf("%c",userPassword[i]);
		tot=1;
		judge=false;
		freopen("osmsAccountNumber.ifm","r",stdin);
		while(scanf("%d",&ifmAccountNumber)&&ifmAccountNumber!=-1)
		{
			if(ifmAccountNumber==userAccountNumber)
			{
				judge=true;
				break;
			}
			tot++;
		}
		fclose(stdin);
		if(!judge)
		{
			printf("\n【System】Account Number is wrong!");
			Sleep(1000);
		}
		else
		{
			
		}
	}
}
2020/8/19 12:15
加载中...