基于C语言的密码登录
密码登录.c
此处下载源文件
没啥技术含量
差不多能用
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<windows.h>
#include<time.h>
void color(int x);
int password(int admin);
void resetpasswd();
int adminpasswd();
int main(){
int flag,flag2,admin;
admin=adminpasswd();
start:
flag=password(admin);
if(flag){
for(;;){
system("cls");
//此for中写菜单和调用功能函数
}
}else{
color(9);
printf("程序将在3秒后退出\n");
color(4);
printf("若不想退出请按任意键.......\n");
time_t time1,time2;
time(&time1);
while(1){
time(&time2);
if((time2-time1)>3)
return ;
if(kbhit()){
getch();
goto start;}
}}
printf("感谢您的使用!");
return 4399;
}
//设置字体颜色具体颜色参数可百度
void color(int x){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),x);
}
//判断密码是否正确
//第一次进入显示设置密码
//设置密码后使用密码登录
//忘记密码使用管理员密码更改登录密码
int password(int admin){
int passwd,passwd2,flag,choice;
FILE *fp;
start2:
if((fp=fopen("passwd.txt","r"))==NULL){
fclose(fp);
color(4);
printf("第一次打开程序请设置您的密码!\n");
color(4);
printf("请输入密码: ");
scanf("%d",&passwd);
if((fp=fopen("passwd.txt","w"))==NULL)
printf("设置密码异常!");
fprintf(fp,"%d",passwd);
fclose(fp);
goto start2;
}else{
fp=fopen("passwd.txt","r");
fscanf(fp,"%d",&passwd);
fclose(fp);
color(15);
printf("请输入登录密码:");
scanf("%d",&passwd2);
color(4);
if(passwd==passwd2){
printf("密码正确!\n");
return 1;
}
else{
printf("密码错误!\n");
color(15);
printf("是否需要重设密码?\n");
printf("1.重设密码\n");
printf("2.退出程序\n");
scanf("%d",&choice);
if(choice==1){
printf("若忘记管理员密码可修改adminpasswd.txt文件修改密码\n");
printf("请输入管理员密码以更改登录密码!\n");
scanf("%d",&passwd2);
if(passwd2==admin){
printf("管理员密码正确!\n");
resetpasswd();
color(4);
printf("密码修改成功!\n");
goto start2;
}else{
printf("管理员密码错误!\n");
return 0;
}
}else{
return 0;
}}}}
//更改登录密码
void resetpasswd(){
int passwd;
FILE *fp;
color(15);
printf("请输入新的登录密码!\n");
scanf("%d",&passwd);
fp=fopen("passwd.txt","w");
fprintf(fp,"%d",passwd);
fclose(fp);
}
//第一次进入设置默认管理员密码
//加载管理员密码
int adminpasswd(){
FILE *fp;
int passwd;
if((fp=fopen("adminpasswd.txt","r"))==NULL){
fclose(fp);
printf("无管理员密码!\n");
printf("设置为默认管理员密码!\n");
fp=fopen("adminpasswd.txt","w");
fprintf(fp,"%d",666666);//此处为管理员密码
fclose(fp);
}
else{
fp=fopen("adminpasswd.txt","r");
fscanf(fp,"%d",&passwd);
fclose(fp);}
return passwd;
}
code by HG
作者:HG