用C语言编写1. 系统欢迎首页信息提示、登录功能。 (1)欢迎首页(系统名称、版本,以及系统设计者等相关信息),提供登录验证功 能,账户和密码验证成功则进入各自身份对应的功能模块。 (2)用户(管理员、教师、学生)账号和密码。基于高校师生员工数据管理的特 殊性,不允许师生用户自由注册,仅由管理员分配账号(教师:6 位工号;学 生:12 位学号)和初始密码,然后该账户可以根据自己初始密码更改新密码; (3)设置新用户账号和密码,管理员专有功能。
时间: 2024-02-21 17:01:04 浏览: 20
好的,下面是一个简单的C语言代码示例,实现了系统欢迎首页信息提示、登录功能:
```c
#include <stdio.h>
#include <string.h>
// 定义用户类型枚举
enum UserType {
ADMIN,
TEACHER,
STUDENT
};
// 定义用户结构体
struct User {
char id[13];
char password[20];
enum UserType type;
};
// 假设已存在的用户数据
struct User users[] = {
{"000001", "admin123", ADMIN},
{"100001", "teacher123", TEACHER},
{"200001", "student123", STUDENT}
};
int userCount = 3;
// 登录函数,返回用户结构体指针,或者NULL表示登录失败
struct User* login() {
char id[13];
char password[20];
printf("请输入账号:");
scanf("%s", id);
printf("请输入密码:");
scanf("%s", password);
for (int i = 0; i < userCount; i++) {
if (strcmp(users[i].id, id) == 0 && strcmp(users[i].password, password) == 0) {
return &users[i];
}
}
return NULL;
}
int main() {
printf("欢迎使用高校数据管理系统!\n");
struct User* user = NULL;
while (user == NULL) {
user = login();
if (user == NULL) {
printf("账号或密码错误,请重新输入。\n");
}
}
switch (user->type) {
case ADMIN:
printf("欢迎管理员 %s 登录系统!\n", user->id);
// TODO: 管理员功能模块
break;
case TEACHER:
printf("欢迎教师 %s 登录系统!\n", user->id);
// TODO: 教师功能模块
break;
case STUDENT:
printf("欢迎学生 %s 登录系统!\n", user->id);
// TODO: 学生功能模块
break;
}
return 0;
}
```
这个代码中,通过定义一个`User`结构体来表示用户,包括账号、密码和用户类型。然后定义了一个`login()`函数来实现登录验证,输入账号和密码后,遍历已有的用户数据,匹配成功则返回用户结构体指针。在`main()`函数中,先输出欢迎信息,然后循环调用`login()`函数,直到登录成功。最后根据用户类型输出对应的欢迎信息,并进入不同的功能模块。