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

📄 man.cpp

📁 VC程序论坛
💻 CPP
📖 第 1 页 / 共 3 页
字号:
#include<iostream.h>
#include<string.h>
#include<fstream.h>
#include<iomanip.h>
#include "man.h"
struct huiyuan
{
   char xingming[15];  char xingbie[5]; char mima[20];
    char shuoming[100];  char wenti[100];  char daan[100];
	char email[20];
	int dengji;  int jifen;
};                                        ///定义结构体作为存储媒介///
struct huiyuan hy; 

/////man 类的实现//////////////////

int man::yanzhengxm(char *xm)           ///////////验证名字是否存在//////////
{   int k;
	ifstream inf;
	inf.open("e:\\实习报告\\会员区域\\普通会员.txt",ios::in);
	if(!inf)     cout<<"找不到文件,请确认文件是否正确!!!!!\n";   
	while(inf>>hy.xingming>>hy.xingbie>>hy.mima>>hy.shuoming>>hy.email>>hy.dengji>>hy.jifen>>hy.wenti>>hy.daan)
	{
		if(!strcmp(xm,hy.xingming))
		{   k=2;
         return 1;
		}
	}
	inf.close();
	return 0;
}

int man::yanzhengmima(char *mm)      ///////////////////验证密码是否合法/////////
{
	
	int i,k;
	if(strlen(mm)<6)
	{ cout<<"你输入的密码的太短了,必须大于等于6个字符。\n";
	   return 0;
	}
	if(strlen(mm)>20)
	{cout<<"你输入的密码的太长了,必须大于等于6个字符。\n";
	 return 0;
	}

	for(i=0;i<strlen(mm);i++)
	{	if((mm[i]>=48&&mm[i]<=57)||(mm[i]>=65&&mm[i]<=90)||(mm[i]>=97&&mm[i]<=122))
			k=1;
	
	}
	if(k!=1)
	{cout<<"你输入的密码不符合标准,请输入6—20个数字或字母";
	 return 0;
	}
}

int man::yanzhengemail(char *em)               /////验证Email是否合法////////////
{
	char a[20];
	int i,j=0,k,p;
	for(i=0;i<strlen(em);i++)
		if(em[i]=='@')
		{ k=i;  p=4;}
  if(p==4)
  {
       for(i=k;i<strlen(em);i++)
	   {a[j]=em[i] ; j++; }
          a[j]='\0';
       if(strcmp(a,"@126.com")&&strcmp(a,"@163.com")&&strcmp(a,"@sian.com")&&strcmp(a,"@yahho.com"))
	   { cout<<"你的Email不是合法的,请正确输入!!\n";return 1; }
	   else return 0;
  }
  else
  {
  cout<<"你的Email不是合法的,请正确输入!!\n";
  return 1;
  }
}



void man::shuchudj(int dj)    ////输出等级//////////
{
	char a[10],b[10],c[10],d[10],e[10],f[10],g[10],h[10],i[10],j[15];
	strcpy(a,"初级钻石"); strcpy(b,"中级钻石"); strcpy(c,"高级钻石");
	strcpy(d,"初级翡翠"); strcpy(e,"中级翡翠"); strcpy(f,"高级翡翠");
	strcpy(g,"初级明珠"); strcpy(h,"中级明珠"); strcpy(i,"高级明珠");
	strcpy(j,"等级终结者");
	switch(dj)
	{
	case 1: cout<<a; break;
	case 2: cout<<b; break;
	case 3: cout<<c; break;
	case 4: cout<<d;break;
	case 5: cout<<e; break;
	case 6: cout<<f; break;
	case 7: cout<<g; break;
	case 8: cout<<h; break;
	case 9: cout<<i; break;
	case 10: cout<<j; break;
	}
}

int man::dengjizhh(int dj,int jf)   /////////////////等级与积分转化///////////
{
	int m;
	int k=5;
     m=(dj+1)*(dj+1);
	while(jf>=m)
	{
		dj++;
		 m=((dj+1)*k);
	}
	return dj;
}

void man::wjcopy(char iwj[],char owj[])        ////////文件整理除去“####”和复制文件名字/////
{
	fstream fi,fo; 
	fi.open(iwj,ios::in);
    fo.open(owj,ios::out);
    if(!fi||!fo)
		cout<<"找不到文件,请确认文件是否正确!!!!!\n"; 
	while(fi>>hy.xingming>>hy.xingbie>>hy.mima>>hy.shuoming>>hy.email>>hy.dengji>>hy.jifen>>hy.wenti>>hy.daan)
	{  
		if(strcmp(hy.xingming,"####"))
		{     
		        fo<<setiosflags(ios::left)
		        <<setw(15)<<hy.xingming
			    <<setw(5)<<hy.xingbie
			    <<setw(25)<<hy.mima
			    <<setw(100)<<hy.shuoming
			    <<setw(20)<<hy.email
			    <<setw(5)<<hy.dengji
			    <<setw(5)<<hy.jifen
			   <<setw(100)<<hy.wenti<<setw(100)<<hy.daan<<endl;
	    }
		
	}
	fi.close(); fo.close();
}


void man::del(char *xm)                    /////////////////删除会员//////////
{
   fstream f,fi,fo;  int p,w,v=1;
   f.open("e:\\实习报告\\会员区域\\普通会员.txt",ios::out|ios::in);
    if(!f)
		cout<<"找不到文件,请确认文件是否正确!!!!!\n"; 
		while(f>>hy.xingming>>hy.xingbie>>hy.mima>>hy.shuoming>>hy.email>>hy.dengji>>hy.jifen>>hy.wenti>>hy.daan)
		{
			
			if(!strcmp(xm,hy.xingming))
		   { 
				w=4;
			  strcpy(hy.xingming,"####");
               if(v==1) f.seekp(0);
			   else { f.seekp(p);  f<<endl;}
			   f<<setiosflags(ios::left)
		        <<setw(15)<<hy.xingming
			    <<setw(5)<<hy.xingbie
			    <<setw(25)<<hy.mima
			    <<setw(100)<<hy.shuoming
			    <<setw(20)<<hy.email
			    <<setw(5)<<hy.dengji
			    <<setw(5)<<hy.jifen
			   <<setw(100)<<hy.wenti<<setw(100)<<hy.daan<<endl;
			  break;
		   }
			v++;
           p=f.tellg();
		}
		f.close();
		if(w!=4)
			cout<<"没有找到这个会员,确认你名字是否正确!!\n";
		else
		{
	    wjcopy("e:\\实习报告\\会员区域\\普通会员.txt","e:\\实习报告\\会员区域\\普通会员备用.txt") ;
         wjcopy("e:\\实习报告\\会员区域\\普通会员备用.txt","e:\\实习报告\\会员区域\\普通会员.txt") ;
		}

}

void man::zengjiajf(char *xm,int jf)           ////////增加积分////////
{
	fstream f; int v=1;
	f.open("e:\\实习报告\\会员区域\\普通会员.txt",ios::app|ios::in);
    if(!f)
		cout<<"找不到文件,请确认文件是否正确!!!!!\n"; 
	while(f>>hy.xingming>>hy.xingbie>>hy.mima>>hy.shuoming>>hy.email>>hy.dengji>>hy.jifen>>hy.wenti>>hy.daan)
	{
         
		if(!strcmp(xm,hy.xingming))
		{ 
              hy.jifen+=jf;
              hy.dengji=dengjizhh(hy.dengji,hy.jifen);
		    // if(v==1) f.seekp(0);
			// else { f.seekp(p);  f<<endl;}
               f<<setiosflags(ios::left)
		        <<setw(15)<<hy.xingming
			    <<setw(5)<<hy.xingbie
			    <<setw(25)<<hy.mima
			    <<setw(100)<<hy.shuoming
			    <<setw(20)<<hy.email
			    <<setw(5)<<hy.dengji
			    <<setw(5)<<hy.jifen
			   <<setw(100)<<hy.wenti<<setw(100)<<hy.daan<<endl;
		        cout<<hy.xingming<<",你是积分增加了"<<jf<<"分。\n";
				del(xm);
				break;
		} 
	//	v++;
	//	p=f.tellg();
	}
	f.close();
}


void man::shenqing()                            /////////申请会员////////////
{
	char a[20],b[20];
   int i,k;
	ofstream outf;
	cout<<"            &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n"
        <<"            &&                                             &&\n"
	    <<"            &&          欢迎成为逍遥驻地的合法成员         &&\n"
		<<"            &&                                             &&\n"
		<<"            &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n";
	cout<<"       以下内容必须填写\n";
	cout<<"       请填写你要申请的名字:  ";
	cin>>xingming;  
    while(yanzhengxm(xingming))
 	{	cout<<"此会员名字已经存在,请换一个,谢谢! ! 1\n";  
	    cout<<"请重新输入:";
        cin>>xingming;
	}
   cout<<"恭喜你! ! ! 这个名字还没有被占用。\n"; 	
	cout<<"请填写你的性别(男/女):";
	cin>>xingbie;
	while(strcmp(xingbie,"男")&&strcmp(xingbie,"女"))
	{   cout<<"您必须输入“男”或“女”。请重新输入:\n";
	    cin>>xingbie;
	}
    	cout<<"请输入密码(6—20个数字或字母不区分大小写):\n";
	   cin>>a;
	   for(i=0;i<strlen(a);i++)
		   if(a[i]>=65&&a[i]<=90)
			   a[i]+=32;
	   while(!yanzhengmima(a))
	   {	cout<<"请重新输入:\n";
	       cin>>a;
        for(i=0;i<strlen(a);i++)
		   if(a[i]>=65&&a[i]<=90)
			   a[i]+=32;
	   }
    	cout<<"请再输入一次:\n";
	    cin>>b;
       for(i=0;i<strlen(b);i++)
		   if(b[i]>=65&&b[i]<=90)
			   b[i]+=32;
	  
    while(strcmp(a,b))
	{   cout<<"您两次输入的密码不一致,请重新输入:\n";
		cout<<"请输入密码(6—20个数字或字母):\n";
	    cin>>a;
      for(i=0;i<strlen(a);i++)
		   if(a[i]>=65&&a[i]<=90)
			   a[i]+=32;
		 while(!yanzhengmima(a))
		 {	cout<<"密请重新输入:\n";
	       cin>>a;
           for(i=0;i<strlen(a);i++)
		    if(a[i]>=65&&a[i]<=90)
			   a[i]+=32;
		 }
    	  cout<<"请再输入一次:\n";
	     cin>>b;
        for(i=0;i<strlen(b);i++)
		   if(b[i]>=65&&b[i]<=90)
			   b[i]+=32;
	}
	strcpy(mima,a);
	cout<<"请写你的个人说明(不能大于50个汉字并且中间不能有空格间隔):\n";
	   cin>>shuoming;
	  while(strlen(shuoming)>100)
	  {
		  cout<<"你写的个人说明大于50个汉字,请重新输入:\n";
		  cin>>shuoming;
	  }
	  cout<<"请写上您的email:\n";
	   cin>>email;
      while(yanzhengemail(email))
	  {
          cout<<"请写上您的email:\n";
	        cin>>email;
	  }
	outf.open("e:\\实习报告\\会员区域\\普通会员.txt",ios::app);
	  k=9;
    if(!outf)
	{ cout<<"找不到文件,请确认文件是否正确!!!!!\n";  k=2; }
       strcpy(hy.xingming,xingming);strcpy(hy.xingbie,xingbie); 
	    strcpy(hy.mima,mima); 	 strcpy(hy.shuoming,shuoming);  strcpy(hy.email,email);
		strcpy(hy.wenti,"问题"); strcpy(hy.daan,"答案");
	     hy.dengji=1;	 hy.jifen=3; 
       
    	if(k==9)
	   { outf<<setiosflags(ios::left)
		    <<setw(15)<<hy.xingming
			<<setw(5)<<hy.xingbie
			<<setw(25)<<hy.mima
			<<setw(100)<<hy.shuoming
			<<setw(20)<<hy.email
			<<setw(5)<<hy.dengji
			<<setw(5)<<hy.jifen
			<<setw(100)<<hy.wenti<<setw(100)<<hy.daan<<endl; 
	       k=4;
		}
		if(k==4)
	      cout<<"恭喜你们申请成功!!!!\n";
		else cout<<"对不起,没有申请成功。\n";
}
////////////////////////////////////////////////////

void man::mimabaohu()                //////////填写密码保护资料/////////
{
		fstream f; int w;
	char d1[100],d2[100],wt[100],mm[20];
	cout<<"输入你的会员名字:\n";
	cin>>xingming;
	if(yanzhengxm(xingming)==0) 
	{
		cout<<"你输入的名字不正确。\n";
		return;
	}
	cout<<"请输入你的密码:\n";
	cin>>mm;
f.open("e:\\实习报告\\会员区域\\普通会员.txt",ios::in);
   if(!f)
   { cout<<"找不到文件,请确认文件是否正确!!!!!\n"; return;}
 while(f>>hy.xingming>>hy.xingbie>>hy.mima>>hy.shuoming>>hy.email>>hy.dengji>>hy.jifen>>hy.wenti>>hy.daan)
  {
   if(!strcmp(mm,hy.mima)&&!strcmp(xingming,hy.xingming))
   {     w=4;
	cout<<"欢迎使用密码保护功能系统,这样可以增强你的网络安全。\n";
    cout<<"请写入您取回密码时的问题:\n";
	cin>>wt;
	cout<<"请写出您的问题的答案(限制在50个汉字以内何以输入字母/数字):\n";
    cin>>d1;
	cout<<"请再输入一次:\n";
	cin>>d2;
	while(strcmp(d1,d2))
	{
		cout<<"你两次输入的问题的答案不一致请重新输入:\n";
         cout<<"请写入您去回密码是的问题:\n";
     	cin>>wt;
    	cout<<"请写出您的问题的答案(限制在50个汉字以内何以输入字母/数字):\n";
        cin>>d1;
    	cout<<"请再输入一次:\n";
    	cin>>d2;
	}
	strcpy(wenti,wt);
	strcpy(daan,d1);
	cout<<wt<<"   "<<d1<<endl;
   }
  }
  f.close();
   if(w!=4)
	  { cout<<"你输入的密码不正确!请重新申请!\n"; return;}
	f.open("e:\\实习报告\\会员区域\\普通会员.txt",ios::app|ios::in);
    if(!f)
		cout<<"找不到文件,请确认文件是否正确!!!!!\n"; 
	while(f>>hy.xingming>>hy.xingbie>>hy.mima>>hy.shuoming>>hy.email>>hy.dengji>>hy.jifen>>hy.wenti>>hy.daan)
	{
         
		if(!strcmp(xingming,hy.xingming))
		{  strcpy(hy.wenti,wenti);
		   strcpy(hy.daan,daan);

               f<<setiosflags(ios::left)
		        <<setw(15)<<hy.xingming
			    <<setw(5)<<hy.xingbie
			    <<setw(25)<<hy.mima
			    <<setw(100)<<hy.shuoming
			    <<setw(20)<<hy.email
			    <<setw(5)<<hy.dengji
			    <<setw(5)<<hy.jifen

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -