用C语言写一个登录系统,账号为自建文本中的账号,密码为自建文本中的密码
时间: 2024-03-14 08:47:15 浏览: 19
好的,我可以为您提供一个基本的登录系统的实现思路,代码如下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_ACCOUNT_LEN 20
#define MAX_PASSWORD_LEN 20
#define MAX_LINE_LEN 100
int login(void);
int main(void)
{
int result = login();
if (result == 0)
{
printf("登录成功!\n");
}
else if (result == 1)
{
printf("账号不存在!\n");
}
else if (result == 2)
{
printf("密码错误!\n");
}
return 0;
}
int login(void)
{
char account[MAX_ACCOUNT_LEN];
char password[MAX_PASSWORD_LEN];
char line[MAX_LINE_LEN];
int found = 0;
FILE *fp;
printf("请输入账号:");
scanf("%s", account);
printf("请输入密码:");
scanf("%s", password);
fp = fopen("user.txt", "r");
if (fp == NULL)
{
printf("文件打开失败!\n");
return -1;
}
while (fgets(line, MAX_LINE_LEN, fp) != NULL)
{
char *p = strtok(line, " ");
if (strcmp(p, account) == 0)
{
found = 1;
p = strtok(NULL, " ");
if (strcmp(p, password) == 0)
{
fclose(fp);
return 0;
}
else
{
fclose(fp);
return 2;
}
}
}
fclose(fp);
if (found == 0)
{
return 1;
}
return -1;
}
```
这个登录系统的实现大致思路如下:
1. 从用户输入的账号和密码,与自建文本中的账号和密码进行比对;
2. 如果账号和密码都正确,则返回登录成功;
3. 如果账号错误,则返回账号不存在;
4. 如果密码错误,则返回密码错误;
5. 如果打开文件失败,则返回 -1。
需要注意的是,在上面的代码中,假设用户的账号和密码都是保存在一个名为"user.txt"的文本文件中,每行格式为"账号 密码",以空格分隔。如果您的文本文件格式不同,需要根据实际情况进行修改。