密码验证功能
假设有3个用户,用户名分别为a, b,c。密码分别为111,222,333。请编写一个程序,首先输入用户名,如果用户名错误请输出"用户不存在!",程序结束。如果用户名正确,提示输入对应密码,密码正确输出"欢迎!",密码错误输出"密码错误!”。密码有3次输入机会,输入全错输出"密码错误!”程序提示:1、定义数组赋初值:用户名a,b,c;密码111,222,333;分别存入字符数组ch和整型数组ma中。
char ch[3] ={ "a’, ‘b’, ‘c’};
int ma[3]={111,222,333};2.验证用户名:屏幕提示输入用户名,接收键盘输入字符放入字符变品id。用循环依次比较id和ch[i]。i=O;i<3;i++。如果无相等则用户不存在。如果相等则根据当前i的值验证对应密码。3、验证密码:屏幕提示输入密码,接收键盘输入数值放入整型变示ps。对比ps和ma[i]的值。如果相等则密码正确,如果不相等则密码错误。
代码:
#include<stdio.h>
char ch[3] = {'a','b','c'};
int ma[3] = {111,222,333};
int main(){
printf("请输入用户名:");
char id;
scanf("%c",&id);
int flag = -1;
for(int i=0;i<3;i++){
if(id==ch[i]){
flag = i;
break;
}
if(i==2){
printf("\n用户名不存在!");
return 0;
}
}
printf("\n请输入密码:(共有三次机会):");
int ps;
int count = 0;
while(count<3){
scanf("%d",&ps);
int stand = -1;
for(int i=0;i<3;i++){
if(ps==ma[i]){
stand = i;
break;
}
}
if(stand==-1 || stand!=flag){
printf("\n密码错误请重新输入!");
count++;
continue;
}
else{
printf("\n欢迎!");
return 0;
}
}
printf("\n三次机会已经用完,密码错误!");
return 0;
}