第1个回答 2013-10-25
#include <stdio.h>
#include <string.h>
int main()
{
char username[15],pwd[15];
printf("\n 请输入用户名: " );
gets(username);
int i=0;
while(i<3)
{
printf("\n 请输入密码: ");
gets(pwd);
if((strcmp(username,"John")==0) &&
(strcmp(pwd,"123456")==0))
{
printf("\n 您已成功登录 \n ");
break;
}
else
{
printf("\n 用户名和/或密码无效 \n ");
i++;
}
}
}
第2个回答 2013-10-25
#include <stdio.h>
#include <string.h>
int main()
{
char username[15],pwd[15];
int i = 0;
printf("\n 请输入用户名: " );
gets(username);
printf("\n 请输入密码: ");
while(++i <= 3)
{
gets(pwd);
if((strcmp(username,"John")==0) &&
(strcmp(pwd,"123456")==0))
{
printf("\n 您已成功登录 \n ");
break;
}
else
printf("\n 用户名和/或密码无效 \n ");
if (i<3)
{
printf("\n 请重新输入密码,你还有%d次机会\n ",3-i);
}
else
{
printf("\n 三次输入密码错误 请联系管理员\n ");
}
}
}本回答被提问者采纳
第3个回答 2013-10-25
#include <stdio.h>
#include <string.h>
int main()
{
char username[15],pwd[15];
int i;
for(i=0;i<3;i++){
printf("\n 请输入用户名: " );
gets(username);
printf("\n 请输入密码: ");
gets(pwd);
if((strcmp(username,"John")==0) &&
(strcmp(pwd,"123456")==0))
{ printf("\n 您已成功登录 \n ");break;}
else
printf("\n 用户名和/或密码无效 \n ");
}
if(i>=3){
printf("\n输入三次密码错误 请联系管理员 \n ");
}
}
第4个回答 2013-10-25
#include <stdio.h>
#include <string.h>
int main()
{
if (isLoginOK()) /* doWork() */;
return 0;
}
int isLoginOK()
{
char username[15],pwd[15];
int n = 3;
while (n-- > 0)
{
printf("\n 请输入用户名: " );
gets(username);
printf("\n 请输入密码: ");
gets(pwd);
if((strcmp(username,"John")==0) &&
(strcmp(pwd,"123456")==0))
{ printf("\n 您已成功登录 \n "); return 1; }
else
printf("\n 用户名和/或密码无效 \n ");
}
printf("三次密码错误 请联系管理员\n");
return 0;
}
第5个回答 2013-10-25
增加一个for循环,
for (int i=0;i<3;++i )
{
char username[15],pwd[15];
printf("\n 请输入用户名: " );
gets(username);
printf("\n 请输入密码: ");
gets(pwd);
if((strcmp(username,"John")==0) && (strcmp(pwd,"123456")==0))
{
printf("\n 您已成功登录 \n ");
break; ////////跳出for循环
}
else
{
printf("\n 用户名和/或密码无效 \n ");
if (2==i) ////////0、1、2三次
printf("\n 请联系管理员! \n ");
}
}