写一个门禁系统的c语言代码,要求有管理员与住户身份
时间: 2024-11-09 13:28:31 浏览: 20
在C语言中编写一个简单的门禁系统涉及到用户管理(管理员和住户)和权限验证功能。这里是一个基础的控制台程序示例,并不是完整的门禁系统,但可以提供一个框架:
```c
#include <stdio.h>
#include <stdbool.h>
// 定义用户结构体
typedef struct {
char name[50];
bool is_admin;
} User;
// 用户列表,假设只有一个管理员
User users[] = {
{"admin", true},
// 添加更多住户...
};
// 检查用户身份并返回访问权限
bool check_access(User *user) {
if (strcmp(user->name, "admin") == 0 && user->is_admin) {
return true; // 管理员有权无限制进入
} else {
printf("请输入密码:");
scanf("%s", user->name); // 获取住户密码输入,此处仅用于演示,实际应用需加密处理
// 实际门禁系统会验证密码
// 返回true表示允许进入,false表示禁止
return strcmp(user->name, "password"); // 假设住户密码为"password"
}
}
int main() {
int choice;
while (true) {
printf("\n选择操作:\n1. 登录\n2. 注销\n3. 退出程序\n");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("请输入您的姓名:");
scanf("%s", users[1].name); // 我们在这里只考虑住户,管理员无需登录
if (!check_access(&users[1])) {
printf("访问权限不足,无法进入。\n");
} else {
printf("欢迎,%s!您已获准入内。\n", users[1].name);
}
break;
case 2:
// 登出逻辑...这里简单略过
break;
case 3:
exit(0); // 退出程序
break;
default:
printf("无效选择,请重新尝试。\n");
}
}
return 0;
}
```
阅读全文