typedefstruct{charuser[20];charcode[20];}USER;voidwrite()/*用户信息写入*/{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);}voidzhuce(){chartemp[20],txt[100],cha;inti=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')returnzhuce();elsereturndenglu();}}voidwrite(){if(fwrite(&pe,sizeof(User),1,fp)!=1){printf(\n\t\t写入文件错误);exit(0);//写入错误则退出程序}}voiddenglu(){charu[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();}elsereturndenglu();}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);returnmain();}}}while(temp[0]=='2');readfile();getch();caozuo();}