64,646
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
using namespace std;
#include"user.h"
#include<shlobj.h>
#include<string.h>
#include<fstream>
char panduan5(int);
void panduan6();
void jiaoyan1();
void inputPwd1();
fstream f;
User gm1,gm2,gm3,gm4;
void gm()
{
MessageBox(0,"您正试图修改账户密码!"," 温馨提示",0);
system("cls");//清屏
printf("请输入需要修改密码的账户的ID:");
for(int i=0;i<17;)
{
gm1.Id[i]=getch();
if(i==15&&gm1.Id[i]==13)
{
gm1.Id[15]='\0';
goto A;
}
if(isdigit(gm1.Id[i]))
{
printf("%c",gm1.Id[i]);
i++;
}
}
if(i==17)
{
panduan5(i);
printf("%c", gm1.Id[i]);
gm1.Id[18]='\0';
}
panduan6();//只允许输入回车键
A: jiaoyan1();
}
//---------------------------------------------------------------------------
char panduan5 (int i)
{
gm1.Id[i]=getch();
if(gm1.Id[17]=='x' || isdigit(gm1.Id[17]))
{
return (gm1.Id[i]);
}
else
{
panduan5(i);
}
}
//------------------------------------------------------------------------------------
void panduan6 ()
{
char s;
s=getch();
if(s==13) { }
else
{
panduan6();
}
}
//---------------------------------------------------------------------------
void jiaoyan1()
{
//进行唯一性校验
f.open("E:\\a.txt",ios::in);
while(!f.eof())
{
f.read((char*)&gm2,sizeof(User));
if(!strcmp(gm1.Id,gm2.Id))
{
MessageBox(0,"对不起,这个帐户不存在,请重新输入!"," 警告",0);
f.close();
gm();
}
inputPwd1();
}
}
void inputPwd1()
{
system("cls");
printf("请输入六位原密码:");
for( int i=0;i<6;i++)
{
gm1.Password[i]=getch();
printf("*");
}
gm1.Password[6]='\0';
printf("\n");
system("pause");
printf("请输入新密码:");
for(int j=0;j<6;j++)
{
gm3.Password[j]=getch();
gm3.Password[6]='\0';
printf("*");
}
system("cls");
printf("请确认输入的新密码:");
for(j=0;j<6;j++)
{
gm4.Password[j]=getch();
gm4.Password[6]='\0';
printf("*");
}
if(strcmp(gm3.Password,gm4.Password)==0)
{
MessageBox(0,"密码修改成功!","温馨提示",0);
f.write((char*)&gm2,sizeof(User));
f.close();
}
else
{
MessageBox(0,"两次输入的密码不一致,请重新输入!","警告!",0);
inputPwd1();
}
}
f.open("E:\\a.txt",ios::in);
while(!f.eof())
{
f.read((char*)&gm2,sizeof(User)); //我觉得不是应该是sizeof(User)+1么还需要取到'\0'
if(!strcmp(gm1.Id,gm2.Id))
{
MessageBox(0,"对不起,这个帐户不存在,请重新输入!"," 警告",0);
f.close();
gm();
}