C语言中的密码写入和修改的代码求修改
#include<stdio.h>#include<Stdlib.h>
#include<string.h>
void password()
{
FILE*fp;
int i,j;
//char password[7]="123456";
char password[7];
char pass[7];
fp=fopen("e:/w.txt","rb");
//fwrite(password,sizeof(password),7,fp);fclose(fp);
printf("\t&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
printf("\n\n\t\t欢迎使用学生成绩管理系统\n\n\n");
printf("\t&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
for(i=0;i<3;i++)
{
fread(password,1,7,fp);
printf("\n\t\t\t请输入密码(6位):");
for(j=0;j<6;j++)
{
flushall();
pass[j]=getch();
printf("*");
}
pass[6]='\0';
getch();
if(strcmp(password,pass)==0)
break;
else
printf("\n\n\t\t\t密码输入错误,请从新输入!!\n\n");
}
if(i==3)
{
printf("\n\n\t\t\t对不起输入超过三次,系统将自动退出!!!\n\n");
exist(1);
}
}
//修改密码
void x_pass()
{
int j;
FILE*fp;
char pass1[7],pass2[7];
system("cls");
printf("\t\t\t请输入修改后的密码(6位):\n");
do
{
for(j=0;j<6;j++)
{
flushall();
pass1[j]=getch();
printf("*");
}
pass1[6]='\0';
getch();
printf("\t\t\t\n\n再输一遍(6位):");
for(j=0;j<6;j++)
{
flushall();
pass2[j]=getch();
printf("*");
}
pass2[6]='\0';
getch();
if(!strcmp(pass1,pass2))
{
printf("密码修改成功!!!\n\n");
break;
}
else printf("两次输入密码不一样,请重新输入\n\n");
}while(1)
fp=fopen("e://w.txt","wb");
fwrite(pass1,1,7,fp);
fclose(fp);
}