[求助]如何改进以下程序?
在输入信息时输错了,如何清除错误的输入???/*
输入用户名和密码 登陆(密码或用户名出错超过3次,退出系统)
Right={201728,"FklqdGI74999defg"}
*/
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#define Num 9
#define Len 16
char RightUserName[]={"20172834"};
char RightPassword[16]="ChinaDF41666abcd";
char EnterPassword[Len]={0};
char *GetPasswd(void)
{
char d='\0';
int k= 0;
while ((d=getch()) != 13 && k<Len)
{
EnterPassword[k] = d;
putchar('*');
k++;
}
return(EnterPassword);
}
void main()
{
int i=0;
int j=0;
int count=0;
char c='\0';
char EnterName[Num]={0};
char *dispstr = NULL;
for(i=0;i<=15;i++)
{
RightPassword[i]=RightPassword[i]+3;
}
for(i=0;i<3;)
{
printf("请输入用户名:\r\n");
scanf("%8s",EnterName);
printf("请输入密码:\r\n");
dispstr = GetPasswd();
printf("\r\n");
if(strcmp(EnterName,RightUserName)!=0
||strcmp(EnterPassword,RightPassword)!=0)
{
i++;
count++;
if(count>=3)
{
printf("输入出错已经3次,请一天后重试!");
system("pause");
break;
}
else
printf("用户名或密码出错!请重新输入:\r\n");
}
else
{
printf("登陆成功!");
system("pause");
break;
}
}
}