好的,我可以帮你编写一个简单的程序来实现这个功能。首先,我们需要定义两个结构体:一个存储管理员信息的结构体,另一个存储超级管理员信息的结构体。#include <stdio.h>#include <string.h>#define MAX_ADMIN 10typedef struct { char username[20]; char password[20];} Admin;typedef struct { char username[20]; char password[20];} SuperAdmin;
接下来,我们需要实现以下功能:
- 添加新的管理员
- 删除现有的管理员
- 验证管理员身份
我们可以通过一个数组来存储管理员的信息,并通过循环来进行添加和删除的操作。现在我来给你写一个示例:int main() { Admin admins[MAX_ADMIN]; SuperAdmin superAdmin; // 初始化超级管理员账号 strcpy(superAdmin.username, "superadmin"); strcpy(superAdmin.password, "123456"); int numAdmins = 0; // 管理员数量 int i; // 循环变量 // 添加新的管理员 for (i = 0; i < MAX_ADMIN; i++) { printf("请输入管理员%d的用户名:", i+1); scanf("%s", admins[i].username); printf("请输入管理员%d的密码:", i+1); scanf("%s", admins[i].password); numAdmins++; } // 删除现有的管理员 char deleteUsername[20]; printf("请输入要删除的管理员的用户名:"); scanf("%s", deleteUsername); for (i = 0; i < MAX_ADMIN; i++) { if (strcmp(admins[i].username, deleteUsername) == 0) { // 将该管理员后面的管理员依次向前移动一个位置 for (int j = i; j < numAdmins - 1; j++) { admins[j] = admins[j+1]; } numAdmins--; printf("删除成功!\n"); break; } } // 验证管理员身份 char inputUsername[20], inputPassword[20]; printf("请输入用户名:"); scanf("%s", inputUsername); printf("请输入密码:"); scanf("%s", inputPassword); // 首先检查是否为超级管理员 if (strcmp(inputUsername, superAdmin.username) == 0 && strcmp(inputPassword, superAdmin.password) == 0) { printf("欢迎,超级管理员!\n"); } else { // 检查是否为普通管理员 int isAdmin = 0; // 表示是否为管理员的标志位 for (i = 0; i < numAdmins; i++) { if (strcmp(inputUsername, admins[i].username) == 0 && strcmp(inputPassword, admins[i].password) == 0) { isAdmin = 1; break; } } if (isAdmin) { printf("欢迎,管理员!\n"); } else { printf("用户名或密码错误!\n"); } } return 0;}
以上是一个简单的示例,实现了添加、删除和验证管理员身份的功能。请注意,在实际应用中,你可能需要更加完善的错误处理和安全机制,以及存储管理员信息的方式。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。 |