C语言模拟一个简单的学生成绩管理系统,在“D:\keyword.txt”文件中存储初始密码(例如:123abc),主函数开始就打开文件并读取密码存放在一个字符数组中,定义一个子函数TestKeyword( )实现输入密码的功能,用户最
时间: 2024-03-15 22:44:14 浏览: 46
终有三次机会输入密码,如果密码输入正确,返回1,否则返回0。以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_TRY 3
#define PASSWORD_FILE "D:\\keyword.txt"
#define PASSWORD_LENGTH 20
int TestKeyword(char password[]);
int main()
{
char password[PASSWORD_LENGTH];
int result;
// 打开文件并读取密码
FILE *fp = fopen(PASSWORD_FILE, "r");
if (fp == NULL)
{
printf("Error opening password file.\n");
return 1;
}
fgets(password, PASSWORD_LENGTH, fp);
fclose(fp);
password[strlen(password) - 1] = '\0'; // 去掉读入的换行符
// 输入密码
result = TestKeyword(password);
if (result == 1)
{
printf("Password correct.\n");
}
else
{
printf("Password incorrect.\n");
}
return 0;
}
int TestKeyword(char password[])
{
char input[PASSWORD_LENGTH];
int i, try_count = MAX_TRY;
while (try_count > 0)
{
printf("Please enter password (%d chance%s left): ", try_count, try_count > 1 ? "s" : "");
fgets(input, PASSWORD_LENGTH, stdin);
input[strlen(input) - 1] = '\0'; // 去掉读入的换行符
if (strcmp(password, input) == 0)
{
return 1;
}
else
{
try_count--;
}
}
return 0;
}
```
该程序首先打开文件并读取密码,然后调用TestKeyword函数输入密码,最多允许输入三次。如果输入正确,返回1,否则返回0。
阅读全文