程序设计:假设有三个用户,用户名分别是a,b,c,密码分别是111, 222, 333请编写一个程序,首先输入用户名,如果用户名错误请输出用户不存在,程序结束,如果用户正确,提示输入对应密码,密码正确输出欢迎,密码错误,输出密码错误
#include "stdio.h"
#include "string.h"
struct users{
char name[10];
int password;
} user[3]={
{"a",111},
{"b",222},
{"c",333}
};
int main(){
char ch[10];
int i;
int pass;
gets(ch);
for(i=0;i<3;i++){
if(strcmp(user[i].name,ch)==0){
printf("请输入密码");
scanf("%d",&pass);
if(user[i].password==pass){
printf("欢迎%s\n",ch);
}else{
printf("密码错误\n",ch);
}
break;
}
}
if(i==3){
printf("用户%s不存在",ch);
}
}
typedef struct _user
{
char name[20];
char pass[20];
}user;
void main()
{
user users[3];
int i=0;
for(i=0;i<3;i++)
scanf("%s %s",users[i].name,users[i].pass);
//
char name[20];
scanf("%s",name);
int j = -1;
for(i=0;i<3;i++)
if(strcmp(users[i].name,name) == 0)
{
j=i;
break;
}
if(j == -1)
printf("输入的用户不存在\n");
else
{
printf("请输入密码:");
char pass[20];
scanf("%s",pass);
if(strcmp(users[j].pass,pass) == 0)
printf("欢迎!");
else
printf("密码错误");
}
}
用两重判断就可以了啊,你难点在哪呢?
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632