c语言注册登陆用文件,c语言实现注册登陆功能(两个模块)

typedef struct

{

char user[20];

char code[20];

}USER;

void write() /*用户信息写入*/

{

if((fp=fopen(pe.user,"w"))==NULL)

{

printf("\n\t\t文件打开失败");

}

if(fwrite(&pe,sizeof(USER),1,fp)!=1)

{

printf("\n\t\t写入文件错误");

}

fclose(fp);

}

void zhuce()

{

char temp[20],txt[100],cha;

int i=0;

do

{

printf("\t\t\t\t用户注册");

printf("\n\t\t1.直接注册 2.阅读用户手册");

cha=getch();

if(cha==2)

{

if((fp=fopen("使用说明.txt","r"))==NULL)

{

printf("\n\t\t打开失败");

exit(0);

}

fread(txt,2,20,fp);

printf("\n\t\t%s",txt);

/*txt=fgets(txt,100,fp);

printf("%s",txt);*/

}

printf("\n\t\t按任意键继续");

getch();

system("cls");

printf("\t\t\t\t用户注册");

printf("\n\t\t用户名:");

scanf("%s",pe.user);

printf("\n\t\t密 码:");

scanf("%s",pe.code);

printf("\n\t\t确认密码:");

scanf("%s",temp);

if(strcmp(pe.code,temp)!=0)

printf("\n\t\t两次密码不一致,请重新输入");

}while(strcmp(pe.code,temp)!=0);

fp=fopen(pe.user,"r");

if(fp==NULL)

{

fp=fopen(pe.user,"w");

if(fp==NULL)

{

printf("\n\t注册失败\n");

exit(0);

}

else {

system("cls");

printf("\n\t注册成功");

write();

judge = false;

denglu();

}

}

else

{

printf("\n\t该用户名已存在");

fclose(fp);

printf("\n\t继续注册?(Y/N)");

if(getch()==Y) return zhuce();

else return denglu();

}

}

void write(){

if(fwrite(&pe,sizeof(User),1,fp)!=1)

{

printf("\n\t\t写入文件错误"); exit(0); //写入错误则退出程序

}

}

void denglu()

{

char u[20],c[20],temp[20];

printf("\n\t\t\t\t用户登录");

printf("\n\t\t用户名:");

scanf("%s",u);

fp=fopen(u,"r+");

temp[0]=0;

if(fp==NULL)

{

printf("\n\t\t用户不存在,请注册");

printf("\n\t\t1.注册 2.重新登陆");

temp[0]=getch();

if(temp[0]==1)

{

system("cls");

zhuce();

}

else return denglu();

}

do

{

if(judge=true) fread(&pe,sizeof(USER),1,fp);

printf("\t\t密 码:");

scanf("%s",c);

if(strcmp(pe.code,c)!=0)

{

printf("\n\t\t密码错误(1.退出 2.重新输入)");

temp[0]=getch();

printf("\n");

if(temp[0]==1)

{

fclose(fp);

return main();

}

}

}while(temp[0]==2);

readfile();

getch();

caozuo();

}

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值