⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 普通成员管理.cpp

📁 无
💻 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 + -