#include <stdio.h> int main() { int y[10]={111,222,333,444}; int m[10]={11,22,33,44}; int wy[10]; int wm[10]; printf("请输入用户名:"); scanf("%d",&wy[]); printf("请输入密码:"); scanf("%d",&wm[]); if(wy[]==y[] && wm[]==m[]) { if { (wy[]==111 && wm[]==11) printf("输入正确,欢迎登录设计师系统\n"); } else if { (wy[]==222 && wm[]==22) printf("输入正确,欢迎登录财务系统\n"); } else if { (wy[]==333 && wm[]==33) printf("输入正确,欢迎登录采购系统\n"); } else if { (wy[]==444 && wm[]==44) printf("输入正确,欢迎登录生产系统\n"); } } else { printf("你输入的用户名或密码错误!"); } return 0; }
时间: 2024-04-11 19:28:32 浏览: 6
这是一个简单的用户登录系统,根据输入的用户名和密码判断用户身份。如果输入的用户名和密码与预设的用户名和密码匹配,则根据不同的用户名和密码组合输出相应的登录信息。如果输入的用户名和密码不匹配,则输出错误信息。
这段代码存在一些问题:
1. 在输入用户名和密码时,应该将数据存储到数组的元素中,而不是数组本身。所以应该使用`&wy[i]`和`&wm[i]`来获取输入的值。
2. 在条件判断语句中,`if`和`else if`后面需要跟上判断条件,而不是直接放置判断语句。
3. 在条件判断语句中,应该使用`==`来比较两个值是否相等,而不是使用赋值运算符`=`。
4. 在条件判断语句中,应该使用逻辑运算符`&&`来同时判断两个条件是否成立。
下面是修正后的代码:
```c
#include <stdio.h>
int main()
{
int y[10] = {111, 222, 333, 444};
int m[10] = {11, 22, 33, 44};
int wy[10];
int wm[10];
printf("请输入用户名:");
scanf("%d", &wy[0]);
printf("请输入密码:");
scanf("%d", &wm[0]);
if (wy[0] == y[0] && wm[0] == m[0])
{
if (wy[0] == 111 && wm[0] == 11)
printf("输入正确,欢迎登录设计师系统\n");
else if (wy[0] == 222 && wm[0] == 22)
printf("输入正确,欢迎登录财务系统\n");
else if (wy[0] == 333 && wm[0] == 33)
printf("输入正确,欢迎登录采购系统\n");
else if (wy[0] == 444 && wm[0] == 44)
printf("输入正确,欢迎登录生产系统\n");
}
else
{
printf("你输入的用户名或密码错误!\n");
}
return 0;
}
```
修正后的代码中,我将输入的用户名和密码存储到`wy[0]`和`wm[0]`中进行比较,并修改了条件判断语句的格式。同时,在输出登录信息的地方,我只保留了第一个预设用户名和密码的判断,你可以根据需要继续添加其他预设用户名和密码的判断。