📄 普通成员管理.cpp
字号:
//普通成员管理
#include"League.h"
void CommonMember::EditCMember()
{
//用以存储文件名
char FileName[30];
int choice2,ch2,ch3;
int n=0,n1=1;
CommonMember Common;
char key[40];
cout<<"请输入储存普通成员资料的文件名(可中文)\n(请输入一个型如“普通成员”的文件名,\n若重复文件名(如:已有的“普通成员”)则会进入普通成员编辑菜单)\n请输入:";
cin>>FileName;
top:
fstream f(FileName,ios::binary|ios::in|ios::out);
if(!f)
{cerr<<"文件不能打开"<<endl;
return;}
//指针移到文件末尾
f.seekp(0,ios::end);
long posEnd=f.tellp();
cout<<"+++++++++++++++++++++++++++++++++\n"
<<"你可以进行以下的操作:\n"
<<"1、输入新成员的资料\n"
<<"2、修改指定成员资料\n"
<<"3、浏览所有成员资料\n"
<<"4、查看个别成员资料\n"
<<"5、返 回\n"
<<"+++++++++++++++++++++++++++++++\n"
<<"请选择:";
cin>>choice2;
switch(choice2)
{
case 1:f.seekp(0,ios::end);//输入新成员的资料
cout<<"请输入成员姓名:";
cin>>Common.name;
cout<<"性别(m/f):";
cin>>Common.sex;
cout<<"年龄:";
cin>>Common.age;
cout<<"QQ:";
cin>>Common.QQ;
cout<<"入会日期(例如:20051013):";
cin>>Common.joinday;
f.write((char *) & Common,sizeof(CommonMember));
break;
case 2:n1=1;//修改指定成员资料
f.seekp(0,ios::beg);
if(f.tellp()!=posEnd)
{
cout<<"++++++++++++++++++++++++++++++"<<endl;
cout<<"已输入的成员有:\n";
do
{f.read((char *)& Common,sizeof(CommonMember));
cout<<n1<<"、"<<"姓名:"<<Common.name<<"\n";
n1++;}
while(f.tellp()!=posEnd);
cout<<"++++++++++++++++++++++++++++++"<<endl;
}
else
{cout<<"还没有输入任何成员!\n";break;}
f.seekp(0,ios::beg);
cout<<"请输入成员的姓名:";
cin>>key;
do
{f.read((char *)& Common,sizeof(CommonMember));}
while((strcmp(Common.name,key))&&f.tellp()!=posEnd);
if(strcmp(Common.name,key)) {cout<<"该成员不在记录!\n";break;}
if(!strcmp(Common.name,key))
{f.seekp(-int(sizeof(CommonMember)),ios::cur);
cout<<"++++++++++++++++++++++++++++++++++++++++++++++\n"
<<"你可以使用以下的修改方式:\n"
<<"1、修改该成员的全部资料\n"
<<"2、修改该成员部分资料:\n"
<<"++++++++++++++++++++++++++++++++++++++++++++++\n"
<<"==>请选择:";
cin>>ch2;
switch(ch2)
{case 1:cout<<"请输入新数值:\n";
cout<<"修改后的成员姓名:";
cin>>Common.name;
cout<<"性别(m/f):";
cin>>Common.sex;
cout<<"年龄:";
cin>>Common.age;
cout<<"QQ:";
cin>>Common.QQ;
cout<<"入会日期:";
cin>>Common.joinday;
cout<<"修改成功!\n";
f.write((char *)& Common,sizeof(CommonMember));
break;
case 2:{
cout<<" 1、姓名 2、性别 3、年龄 4、QQ 5、入会日期 6、返回\n"
<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
<<"请选择:";
cin>>ch3;
switch(ch3){
case 1:cout<<"请输入修改后的数值:\n"
<<"姓名:";
cin>>Common.name;
cout<<"修改成功!\n";
f.write((char *)& Common,sizeof(CommonMember));
goto end1;
case 2:cout<<"请输入修改后的数值:\n";
cout<<"性别(m/f):";
cin>>Common.age;
cout<<"修改成功!\n";
f.write((char *)& Common,sizeof(CommonMember));
goto end1;
case 3:cout<<"请输入修改后的数值:\n";
cout<<"年龄:";
cin>>Common.age;
cout<<"修改成功!\n";
f.write((char *)& Common,sizeof(CommonMember));
goto end1;
case 4:cout<<"请输入修改后的数值:\n";
cout<<"QQ:";
cin>>Common.QQ;
cout<<"修改成功!\n";
f.write((char *)& Common,sizeof(CommonMember));
goto end1;
case 5:cout<<"请输入修改后的数值:\n";
cout<<"入会日期:";
cin>>Common.joinday;
cout<<"修改成功!\n";
f.write((char *)& Common,sizeof(CommonMember));
goto end1;
case 6:goto end1;
default:cout<<"选择错误!\n";goto end1;
}
default:cout<<"选择错误!\n";goto end1;}
}
end1:break;
case 3:f.seekp(0,ios::beg);//浏览所有成员资料
if(f.tellg()!=posEnd)
{do
{f.read((char *)& Common,sizeof(CommonMember));
cout<<"姓名:"<<Common.name<<"\t性别:"<<Common.sex<<"\t年龄:"<<Common.age<<"\tQQ:"
<<Common.QQ<<"\t入会日期:"<<Common.joinday<<"\n";}
while(f.tellg()!=posEnd);}
else
{cout<<"还没有任何成员资料!\n";}
break;
case 4:n1=1;//查看个别成员资料
f.seekp(0,ios::beg);
if(f.tellp()!=posEnd)
{
cout<<"+++++++++++++++++++++++++++++++++++++++"<<endl;
cout<<"已输入的成员有:\n";
do
{f.read((char *)& Common,sizeof(CommonMember));
cout<<n1<<"、"<<"姓名:"<<Common.name<<"\n";
n1++;}
while(f.tellp()!=posEnd);
cout<<"+++++++++++++++++++++++++++++++++++++++"<<endl;
}
else
{cout<<"还没有输入任何成员!\n";break;}
f.seekp(0,ios::beg);
cout<<"请输入要查看的成员姓名:";
cin>>key;
do
{f.read((char *)& Common,sizeof(CommonMember));}
while((strcmp(Common.name,key))&&f.tellp()!=posEnd);
if(!strcmp(Common.name,key))
cout<<"姓名:"<<Common.name<<"\t性别:"<<Common.sex<<"\t年龄:"<<Common.age<<"\tQQ:"
<<Common.QQ<<"\t入会日期:"<<Common.joinday<<"\n";break;}
else
{cout<<"输入的名字出错!\n";}
break;
case 5:f.close();return;
default:cout<<"选择错误!";break;
}
goto top;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -