}
voidLogin()//当前用户信息函数
{
charszName[20];
cout<<"请输入您的姓名:
";
cin.getline(szName,20);
ifstreaminfile;
Useruser1;
infile.open("user.dat",ios:
:
binary|ios:
:
in);
if(!
infile)
{
cout<<"没有原始记录文件,您是第一个用户!
\n";
strcpy(user.szName,szName);
user.nTest++;
return;
}
infile.read((char*)&user1,sizeof(User));
while(!
infile.eof())
{
if(strcmp(user1.szName,szName)==0)
{
user=user1;
user.nTime++;
cout<<"欢迎您再次使用复数计算器!
";
userprint();
cin.get();
infile.close();
return;
}
infile.read((char*)&user1,sizeof(User));
}
cout<<"欢迎您再次使用复数计算器!
";
strcpy(user.szName,szName);
user.nTime++;
infile.close();
return;
}
voidSaveFile()//用户资料保存函数
{
userprint();
fstreamfile;
Useruser1;
file.open("user.dat",ios:
:
binary|ios:
:
in|ios:
:
out);
if(!
file)
{
cout<<"文件打开错误,不能进行更新!
\n";
return;
}
file.seekp(0,ios:
:
beg);
while(!
file.eof())
{
file.read((char*)&user1,sizeof(User));
if(strcmp(user1.szName,user.szName)==0)
{
file.seekp(-(sizeof(User)),ios:
:
cur);
file.write((char*)&user,sizeof(User));
file.close();
return;
}
}
file.close();
fstreamoutfile;
outfile.open("user.dat",ios:
:
binary|ios:
:
app);
outfile.write((char*)&user,sizeof(User));
outfile.close();
return;
}
}
usingnamespaceNameCComplex;
intmain(void)//主函数开始
{
srand(time(NULL));//初始化随机数“种子”语句
Login();//当前用户信息函数
charstrChoise[20];//定义字符串名
do
{
system("cls");
cout<<"\t这是一个简单的复数计算器程序,可以实现以下功能,请按对应的按键(1-7)\n\n\n";
cout<<"\t=========================MENU===========================\n";
cout<<"\t1:
多复数加法,以0结束\n";
cout<<"\t2:
多复数减法,以0结束\n";
cout<<"\t3:
测试100以内的复数加减乘法运算,1次测试10道题\n";
cout<<"\t4:
多复数乘法,以0结束\n";
cout<<"\t5:
复数自加\n:
";
cout<<"\t6:
复数自减\n:
";
cout<<"\t7:
复数比较\n:
";
cout<<"\t0:
退出程序\n\n:
";
cout<<"\t请您选择:
";
cin>>strChoise;
if(strcmp(strChoise,"1")==0)//用户选1则调用Add()函数
Add();
elseif(strcmp(strChoise,"2")==0)//用户选2则调用Sub()函数
Sub();
elseif(strcmp(strChoise,"3")==0)//用户选3则调用Test()函数
Test();
elseif(strcmp(strChoise,"4")==0)//用户选4则调用Add()函数
Mul();
elseif(strcmp(strChoise,"5")==0)//用户选5调用Add1()函数
Add1();
elseif(strcmp(strChoise,"6")==0)//用户选6则调用Sub1()函数
Sub1();
elseif(strcmp(strChoise,"7")==0)//用户选7则调用Compare()函数
compare();
elseif(strcmp(strChoise,"0")==0)//用户选0则结束调用函数
{
cout<<"\n\n\t欢迎下次继续使用复数计算器!
\n\n";
break;
}
else
{
cout<<"\n\t输入错误,请按任意键继续!
\n";
cin.get();
cin.get();
}
}
while((strcmp(strChoise,"0")));
SaveFile();//调用用户资料保存函