账号终于能够找回来了!

由于博客账号被盗,几个月来登录被拒绝,几经周折,终于能够重新登录!望各位技术好友继续给予关注!
非常好的问题,让我想起了我的编程学习时光。以下是一个简单的账号密码登录、注册、修改功能的C语言实现代码: #include <stdio.h> #include <string.h> //定义常量以及结构体 #define MAX_USERS 100 #define MAX_USERNAME_LENGTH 20 #define MAX_PASSWORD_LENGTH 20 struct User { char username[MAX_USERNAME_LENGTH]; char password[MAX_PASSWORD_LENGTH]; }; int numberOfUsers = 0; struct User users[MAX_USERS]; //声明函数 void login(); void registerAccount(); void changePassword(); void printMenu(); int doesUserExist(char *username); //主函数 int main() { printMenu(); return 0; } //打印菜单 void printMenu() { printf("1. 登录\n"); printf("2. 注册\n"); printf("3. 修改密码\n"); printf("4. 退出\n"); int choice; printf("请输入选项: "); scanf("%d", &choice); switch(choice) { case 1: login(); break; case 2: registerAccount(); break; case 3: changePassword(); break; case 4: printf("感谢使用,再见!\n"); break; default: printf("无效选项,请重新输入!\n"); printMenu(); break; } } //登录函数 void login() { char username[MAX_USERNAME_LENGTH]; char password[MAX_PASSWORD_LENGTH]; printf("请输入用户名: "); scanf("%s", username); printf("请输入密码: "); scanf("%s", password); int userIndex = doesUserExist(username); if(userIndex != -1 && strcmp(users[userIndex].password, password) == 0) { printf("欢迎回来,%s!\n", username); } else { printf("用户名或密码错误,请重试!\n"); login(); } } //注册函数 void registerAccount() { if(numberOfUsers == MAX_USERS) { printf("用户数量已达上限,请联系系统管理员!\n"); return; } char username[MAX_USERNAME_LENGTH]; char password[MAX_PASSWORD_LENGTH]; printf("请输入用户名: "); scanf("%s", username); int userIndex = doesUserExist(username); if(userIndex != -1) { printf("该用户已存在,请尝试其他账号!\n"); registerAccount(); return; } printf("请输入密码: "); scanf("%s", password); struct User newUser; strcpy(newUser.username, username); strcpy(newUser.password, password); users[numberOfUsers] = newUser; numberOfUsers++; printf("注册成功,欢迎加入,%s!\n", username); } //修改密码函数 void changePassword() { char username[MAX_USERNAME_LENGTH]; char oldPassword[MAX_PASSWORD_LENGTH]; char newPassword[MAX_PASSWORD_LENGTH]; printf("请输入用户名: "); scanf("%s", username); printf("请输入原密码: "); scanf("%s", oldPassword); int userIndex = doesUserExist(username); if(userIndex != -1 && strcmp(users[userIndex].password, oldPassword) == 0) { printf("请输入新密码: "); scanf("%s", newPassword); strcpy(users[userIndex].password, newPassword); printf("密码修改成功!\n"); } else { printf("用户名或密码错误,请重试!\n"); changePassword(); } } //判断用户是否存在 int doesUserExist(char *username) { for(int i = 0; i < numberOfUsers; i++) { if(strcmp(users[i].username, username) == 0) { return i; } } return -1; } ``` 希望这个简单的示例能够帮助您解决问题。请注意,此代码示例仅用于学习和演示目的。对于实际的生产环境,请务必考虑更多的安全性和稳定性措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值