?
代码如下:?
#include<stdio.h>
int main() {
char ch[3] = {'a', 'b', 'c'};
int ma[3] = {111, 222, 333};
char id;
int val = 0, k = 0, pos = 0, m = 0;
puts("请输入用户名:");//这里等价于printf("请输入用户名\n")
for (int i = 0; i < 3; i++) {
scanf("%c", &id);//输入用户名
getchar();//注意这里要吸收空格
for (int j = 0; j < 3; j++) {
if (id == ch[j]) {
val = 1;
m=j;//这里设置一个变量用来储存用户名
break;
}
}
if (val == 1) {
break;
}//这个条件是输入正确直接跳出循环
if (val == 0) {
puts("输入错误,请重新输入:");
k++;
}
if (k > 2) {
puts("用户名不存在");
break;
}//这里来输出3次以上的结果
}
int ps = 0;
puts("请输入密码:");
if (val == 1) {//这里判断是用户名已存在
for (int i = 0; i < 3; i++) {
scanf("%d", &ps);//输入密码
if (ps == ma[m]) {//照应上面的m=j,来判断该用户名下的密码
puts("欢迎!");
val = 2;//改变val的值
}
if(val==2) break;//同用户名一样跳出循环
if (val == 1) {
puts("输入错误,请重新输入:");
pos++;
}
if (pos > 2) {
puts("密码错误");
break;
}
}
}
return 0;
}
|