c语言登陆系统增删改插
时间: 2023-12-14 09:05:08 浏览: 20
这是一个比较大的项目,需要进行详细的设计和实现。下面是一个简单的登陆系统增删改插的示例,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_USERS 100 // 最多支持的用户数
#define MAX_NAME_LEN 20 // 用户名最大长度
// 用户结构体
typedef struct {
char name[MAX_NAME_LEN]; // 用户名
char pwd[MAX_NAME_LEN]; // 密码
} User;
int user_count = 0; // 用户数量
User users[MAX_USERS]; // 用户数组
// 查找用户,返回用户在数组中的下标
int find_user(const char *name) {
int i;
for (i = 0; i < user_count; i++) {
if (strcmp(users[i].name, name) == 0) {
return i;
}
}
return -1;
}
// 添加用户
void add_user() {
if (user_count >= MAX_USERS) {
printf("用户数量已达到上限!\n");
return;
}
User user;
printf("请输入用户名:");
scanf("%s", user.name);
if (find_user(user.name) != -1) {
printf("用户名已存在!\n");
return;
}
printf("请输入密码:");
scanf("%s", user.pwd);
users[user_count] = user;
user_count++;
printf("添加成功!\n");
}
// 删除用户
void del_user() {
char name[MAX_NAME_LEN];
printf("请输入要删除的用户名:");
scanf("%s", name);
int idx = find_user(name);
if (idx == -1) {
printf("用户不存在!\n");
return;
}
// 从数组中删除用户
for (int i = idx; i < user_count - 1; i++) {
users[i] = users[i + 1];
}
user_count--;
printf("删除成功!\n");
}
// 修改密码
void modify_pwd() {
char name[MAX_NAME_LEN];
printf("请输入要修改密码的用户名:");
scanf("%s", name);
int idx = find_user(name);
if (idx == -1) {
printf("用户不存在!\n");
return;
}
printf("请输入新密码:");
scanf("%s", users[idx].pwd);
printf("密码修改成功!\n");
}
// 显示所有用户信息
void show_users() {
printf("用户名\t密码\n");
for (int i = 0; i < user_count; i++) {
printf("%s\t%s\n", users[i].name, users[i].pwd);
}
}
int main() {
while (1) {
printf("\n1. 添加用户\n");
printf("2. 删除用户\n");
printf("3. 修改密码\n");
printf("4. 显示所有用户\n");
printf("5. 退出\n");
printf("请选择操作:");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
add_user();
break;
case 2:
del_user();
break;
case 3:
modify_pwd();
break;
case 4:
show_users();
break;
case 5:
return 0;
default:
printf("无效的选择!\n");
}
}
return 0;
}
```
以上代码实现了一个简单的登陆系统,包括添加用户、删除用户、修改密码和显示所有用户信息等功能。可以根据实际需求进行修改和扩展。