资源描述:
《C语言 登录系统代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#includetypedefstruct{charname[100];charpw[100];}uifo;#defineUSER_FILE"data.bin"#defineDEFAULT_NAME"guest"#defineDEFAULT_PW"123"voidwrite_data(uifo*info){unsignedcharlen;FILE*fp;fp=fopen(USER_FILE,"wb");if(fp==NULL){printf("cannotopenfile
2、");return;}len=strlen(info->name);fwrite(&len,1,1,fp);fwrite(info->name,1,len,fp);len=strlen(info->pw);fwrite(&len,1,1,fp);fwrite(info->pw,1,len,fp);fclose(fp);}voidread_data(uifo*info){FILE*fp;unsignedcharlen;fp=fopen(USER_FILE,"rb");if(fp==NULL){strcpy(info->na
3、me,DEFAULT_NAME);strcpy(info->pw,DEFAULT_PW);write_data(info);}else{memset(info,0,sizeof*info);fread(&len,1,1,fp);fread(info->name,1,len,fp);fread(&len,1,1,fp);fread(info->pw,1,len,fp);fclose(fp);}}intmain(){uifoinfo;charpw[100]={0},pw_confirm[100]={0};intwt=0;mems
4、et(&info,0,sizeofinfo);read_data(&info);printf("welcome!pleaselogin");while(1){printf("pleaseinputyourusername");scanf("%s",pw);if(strcmp(pw,info.name)!=0){printf("nosuchusername");continue;}printf("pleaseinputyourpassword");scanf("%s",pw);if(strcmp(pw,info
5、.pw)!=0)printf("passworderror");elsebreak;wt++;if(wt>=3){printf("3timespassworderror,exit!");return-1;}}while(1){inti;printf("input1tochangeyourpasswordinput0toexit");scanf("%d",&i);if(i==0)break;if(i==1){while(1){printf("pleaseinputyouroriginalpassword")
6、;scanf("%s",pw);if(strcmp(pw,info.pw)!=0){printf("originalpasswordisnotcorrect");continue;}printf("pleaseinputyournewpassword");scanf("%s",pw);printf("pleaseconfirmyournewpassword");scanf("%s",pw_confirm);if(strcmp(pw,pw_confirm)!=0){intj;printf("thenewpasswo
7、rdsarenotsameintwotimesinput!");while(1){printf("input1tochangepasswordagaininput2tobacktolaststepinput0toexit");scanf("%d",&j);if(j==0)return-2;if(j==1
8、
9、j==2)break;printf("unknowninput");}if(j==2)break;continue;}strcpy(info.pw,pw);write_data(&info);break
10、;}}elseprintf("unknowninput,shouldbe0/1");}printf("Bye!");return0;}