写一个登录的C++代码
时间: 2023-08-31 18:35:48 浏览: 578
C++模拟ATM取款源代码
4星 · 用户满意度95%
### 回答1:
这是一个简单的登录程序的 C 代码示例:
```
#include <stdio.h>
#include <string.h>
#define MAX_USERNAME_LEN 20
#define MAX_PASSWORD_LEN 20
int main(void) {
char username[MAX_USERNAME_LEN + 1]; // 用户名
char password[MAX_PASSWORD_LEN + 1]; // 密码
char correct_username[MAX_USERNAME_LEN + 1] = "admin"; // 正确的用户名
char correct_password[MAX_PASSWORD_LEN + 1] = "123456"; // 正确的密码
printf("请输入用户名:");
scanf("%s", username);
printf("请输入密码:");
scanf("%s", password);
// 检查用户名和密码是否正确
if (strcmp(username, correct_username) == 0 && strcmp(password, correct_password) == 0) {
printf("登录成功!\n");
} else {
printf("用户名或密码错误,登录失败!\n");
}
return 0;
}
```
这是一个简单的用户名/密码登录程序,它提示用户输入用户名和密码,然后使用 `strcmp` 函数来检查用户输入的用户名和密码是否与正确的用户名和密码匹配。如果匹配,则输出 "登录成功";否则,输出 "用户名或密码错误,登录失败"。
请注意,这只是一个简单的示例,实际的登录程序应该使用更加安全的密码存储方式,例如使用哈希函数或加盐哈希函数。
### 回答2:
下面是一个简单的C代码示例,用于实现一个基本的登录系统。
```c
#include <stdio.h>
#include <string.h>
// 定义一个结构体用于存储用户信息
struct User {
char username[20];
char password[20];
};
int main() {
// 定义两个用户,用于演示
struct User user1 = { "user1", "password1" };
struct User user2 = { "user2", "password2" };
// 提示用户输入用户名和密码
char inputUsername[20];
char inputPassword[20];
printf("请输入用户名:");
scanf("%s", inputUsername);
printf("请输入密码:");
scanf("%s", inputPassword);
// 检查输入的用户名和密码是否匹配任何一个已知用户
int isAuthenticated = 0;
if (strcmp(inputUsername, user1.username) == 0 && strcmp(inputPassword, user1.password) == 0) {
isAuthenticated = 1;
} else if (strcmp(inputUsername, user2.username) == 0 && strcmp(inputPassword, user2.password) == 0) {
isAuthenticated = 1;
}
// 根据验证结果输出相应信息
if (isAuthenticated) {
printf("登录成功!\n");
} else {
printf("用户名或密码错误!\n");
}
return 0;
}
```
这个示例代码中使用了一个结构体`User`来存储用户信息,用户名和密码分别以字符串的形式存储在结构体的成员变量中。然后,用户会被提示输入用户名和密码,并与预定义的两个用户进行匹配。若输入的用户名和密码与任何一个用户匹配成功,则输出"登录成功",否则输出"用户名或密码错误"。请注意,这只是一个简单的示例,实际登录系统可能需要更复杂的逻辑和更安全的实现。
### 回答3:
#include <stdio.h>
#include <stdbool.h>
// 定义一个结构体存储用户信息
typedef struct {
char username[20];
char password[20];
} User;
// 假设已经存储了两个用户
User users[2] = {
{"admin", "password123"},
{"guest", "guest123"}
};
// 登录功能
bool login() {
char username[20];
char password[20];
printf("请输入用户名:");
scanf("%s", username);
printf("请输入密码:");
scanf("%s", password);
for (int i = 0; i < sizeof(users) / sizeof(users[0]); i++) {
// 验证用户名和密码是否一致
if (strcmp(username, users[i].username) == 0 && strcmp(password, users[i].password) == 0) {
printf("登录成功!\n");
return true;
}
}
printf("用户名或密码错误,请重新登录!\n");
return false;
}
int main() {
bool isLoggedIn = false;
int maxAttempts = 3; // 最大尝试登录次数
while (!isLoggedIn && maxAttempts > 0) {
isLoggedIn = login();
maxAttempts--;
}
if (!isLoggedIn) {
printf("登录失败,退出程序!\n");
}
return 0;
}
阅读全文