假.三国无双

#include<iostream>      
#include<algorithm>    
#include<string>       
#include<cstring>      
#include<iomanip>
#include <stdio.h>      
#include <stdlib.h>    
#include <time.h>      
using namespace std;
struct renwu
{   int xh;
	string xm;
	int nl;
	int tl;
	int zl;
	int wl;
}wj[1000];

void ck(renwu wj[],int k)
{   int a;a=(k+1)/10;
    int b;b=(k+1)%10;
    if(b>0)a=a+1;
    int c;
    system("cls");
	cout<<"目前已有"<<k+1<<"名武将,共"<<a<<"页"<<endl; 
	cout<<"请输入您想查看的页数:"<<endl<<"若想结束查看,请输入-1"<<endl; 
	while(1)
	{
	
	cin>>c;
	if(c>a||c<-1||c==0){cout<<"无此页,请重新输入:";continue;}
	else if(c==-1)break;
	else {
	for(int i=(c-1)*10;i<c*10;i++)
	{
	if(i>k)break;
    if(i%10==0){system("cls");cout<<"*********第"<<c<<"页**********"<<endl;cout<<"序号 姓名 年龄 体力 智力 武力"<<endl;}
    cout<<wj[i].xh<<"   ";
	cout<<wj[i].xm<<"   ";
	cout<<wj[i].nl<<"   ";
    cout<<wj[i].tl<<"  ";
    cout<<wj[i].zl<<"  ";
    cout<<wj[i].wl<<endl;
	}
	cout<<"请输入您想查看的页数"<<endl<<"若想结束查看,请输入-1"<<endl; 
          }    
    }
}

bool px_xm1(renwu a,renwu b)
{   
     return a.xm<b.xm;
} 
bool px_xm2(renwu a,renwu b)
{   
     return a.xm>b.xm;
}

bool px_zl1(renwu a,renwu b)
{   
     return a.zl<b.zl;
} 
bool px_zl2(renwu a,renwu b)
{   
     return a.zl>b.zl;
} 
 
bool px_wl1(renwu a,renwu b)
{   
     return a.wl<b.wl;
} 
bool px_wl2(renwu a,renwu b)
{   
     return a.wl>b.wl;
} 

bool px_nl1(renwu a,renwu b)
{   
     return a.nl<b.nl;
}  
bool px_nl2(renwu a,renwu b)
{   
     return a.nl>b.nl;
} 

bool px_tl1(renwu a,renwu b)
{    
     return a.tl<b.tl;
} 
bool px_tl2(renwu a,renwu b)
{   
     return a.tl>b.tl;
} 
void px(renwu wj[],int k)
{       while(1)
        {int x=0;
        cout<<"您希望对何属性排序:"<<endl;
	    cout<<"可输入xm(姓名) nl(年龄) tl(体力) zl( 智力) wl(武力)"<<endl;
        string b;cin>>b;  
    	cout<<"您希望升序还是降序:"<<endl;
	    cout<<"升序请输入1 降序请输入2"<<endl;  
        char c;cin>>c;
        if(c!='1'&&c!='2'){cout<<"您的操作不对哟,请重新输入"<<endl; x=1;}
	    else if(b=="xm")
	    {if(c=='1')sort(wj,wj+k,px_xm1);else sort(wj,wj+k,px_xm2);}
	    else if(b=="nl")
	    {if(c=='1')sort(wj,wj+k,px_nl1);else sort(wj,wj+k,px_nl2);}
	    else if(b=="tl") 
	    {if(c=='1')sort(wj,wj+k,px_tl1);else sort(wj,wj+k,px_tl2);}
	    else if(b=="zl") 
	    {if(c=='1')sort(wj,wj+k,px_zl1);else sort(wj,wj+k,px_zl2);}
	    else if(b=="wl") 
	    {if(c=='1')sort(wj,wj+k,px_wl1);else sort(wj,wj+k,px_wl2);}
    	else {cout<<"您的操作不对哟,请重新输入"<<endl;x=1;}
    	if(x==0)break;
        }
        for(int i=0;i<k;i++)
        {
        	wj[i].xh=i+1;
        }
		ck(wj,k);}   

int cr(renwu wj[],int k)
{
	int a;
	cout<<"请输入要添加的武将数量"<<endl;
	cin>>a;
	cout<<"姓名 年龄 体力 智力 武力"<<endl; 
	for(int i=k+1;i<k+a+1;i++)
	{
	cin>>wj[i].xm;
	cin>>wj[i].nl;
    cin>>wj[i].tl;
    cin>>wj[i].zl;
    cin>>wj[i].wl;
	wj[i].xh=i+1;	
	} 
	cout<<"武将添加成功"<<endl<<"输入-1退出"; 
	 k=k+a;
	 int n;
	 while(1) 
	 {
	 cin>>n;
	 if(n==-1)break;
	 else cout<<"阿西吧,输入-1退出,-1!"<<endl; 
     }
	 return k;
}

int sc(renwu wj[],int k)
{
	int a;
	cout<<"请输入要删除的武将的序号"<<endl;
	cin>>a;
	for(int i=a-1;i<k;i++)
	{
	wj[i].xm=wj[i+1].xm;
	wj[i].nl=wj[i+1].nl;
    wj[i].tl=wj[i+1].tl;
    wj[i].zl=wj[i+1].zl;
    wj[i].wl=wj[i+1].wl;
	wj[i].xh=i+1;	
	} 
	cout<<"武将删除成功"<<endl<<"输入-1退出"; 
	 k=k-1;
	 int n;
	 while(1) 
	 {
	 cin>>n;
	 if(n==-1)break;
	 else cout<<"阿西吧,输入-1退出,-1!"<<endl; 
     }
	 return k;
}
void chz(renwu wj[],int k)
{
	cout<<"您希望通过哪一途径找到想要的武将?"<<endl;
	cout<<"可输入xm(姓名) nl(年龄) tl(体力) zl( 智力) wl(武力)"<<endl;
	string b;cin>>b; 
	if(b=="xm")
	{   cout<<"请输入您的期望值:"<<endl; 
		string c;cin>>c;
		int j=0;
		for(int i=0;i<k;i++)
		{
			if(wj[i].xm==c)
	{
	cout<<wj[i].xh<<" ";	
	cout<<wj[i].xm<<" ";
	cout<<wj[i].nl<<" ";
    cout<<wj[i].tl<<" ";
    cout<<wj[i].zl<<" ";
    cout<<wj[i].wl<<endl;
    j=j+1;
	}
	        else continue;
	       
		}
		if(j==0)cout<<"对不起,没找到您想要的武将,您可以通过'自定义武将'提升添加您喜欢的武将呦"<<endl; 
	}
	else if(b=="nl")
	{   cout<<"请输入您的期望值:"<<endl;
	    int c;cin>>c; 
	    int j=0;
		for(int i=0;i<k;i++)
		{
			if(wj[i].nl==c)
	{
	cout<<wj[i].xh<<" ";	
	cout<<wj[i].xm<<" ";
	cout<<wj[i].nl<<" ";
    cout<<wj[i].tl<<" ";
    cout<<wj[i].zl<<" ";
    cout<<wj[i].wl<<endl;
    j=j+1;
	}
	        else continue;
	       
		}
		if(j==0)cout<<"对不起,没找到您想要的武将,您可以通过'自定义武将'提升添加您喜欢的武将呦"<<endl; 
	} 
	else if(b=="tl") 
	{   cout<<"请输入您的期望值:"<<endl;
	    int c;cin>>c; 
	    int j=0;
		for(int i=0;i<k;i++)
		{
			if(wj[i].tl==c)
	{
	cout<<wj[i].xh<<" ";	
	cout<<wj[i].xm<<" ";
	cout<<wj[i].nl<<" ";
    cout<<wj[i].tl<<" ";
    cout<<wj[i].zl<<" ";
    cout<<wj[i].wl<<endl;
    j=j+1;
	}
	        else continue;
	       
		}
		if(j==0)cout<<"对不起,没找到您想要的武将,您可以通过'自定义武将'提升添加您喜欢的武将呦"<<endl; 
	} 
	else if(b=="zl") 
	{   cout<<"请输入您的期望值:"<<endl; 
	    int c;cin>>c; 
	    int j=0;
		for(int i=0;i<k;i++)
		{
			if(wj[i].zl==c)
	{
	cout<<wj[i].xh<<" ";
	cout<<wj[i].xm<<" ";
	cout<<wj[i].nl<<" ";
    cout<<wj[i].tl<<" ";
    cout<<wj[i].zl<<" ";
    cout<<wj[i].wl<<endl;
    j=j+1;
	}
	        else continue;
	       
		}
		if(j==0)cout<<"对不起,没找到您想要的武将,您可以通过'自定义武将'提升添加您喜欢的武将呦"<<endl; 
	} 
	else if(b=="wl") 
	{   cout<<"请输入您的期望值:"<<endl;
	    int c;cin>>c; 
	    int j=0;
		for(int i=0;i<k;i++)
		{
			if(wj[i].wl==c)
	{
	cout<<wj[i].xh<<" ";
	cout<<wj[i].xm<<" ";
	cout<<wj[i].nl<<" ";
    cout<<wj[i].tl<<" ";
    cout<<wj[i].zl<<" ";
    cout<<wj[i].wl<<endl;
    j=j+1;
	}
	        else continue;
	       
		}
		if(j==0)cout<<"对不起,没找到您想要的武将,您可以通过'自定义武将'提升添加您喜欢的武将呦"<<endl; 
	} 
    else cout<<"您的操作不对ao"<<endl;   //查找 
    cout<<"输入-1退出"<<endl;
	 int n;
	 while(1) 
	 {
	 cin>>n;
	 if(n==-1)break;
	 else cout<<"阿西吧,输入-1退出,-1!"<<endl; 
     } 
}

void mhcz(renwu wj[],int k)
{
	cout<<"您希望通过哪一途径找到想要的武将?"<<endl;
	cout<<"可输入 nl(年龄) tl(体力) zl( 智力) wl(武力)"<<endl;
	string b;cin>>b; 
    if(b=="nl")
	{   cout<<"请输入您的期望范围:"<<endl;
	    int c,d; 
	    while(1)
	    {
	    	cin>>c>>d;
	    	if(c>d)cout<<"对不起,请先输入较小的数据"<<endl<<"请重新输入:"<<endl;
			else break; 
	    }
	    int j=0;
		for(int i=0;i<k;i++)
		{
			if(wj[i].nl>=c&&wj[i].nl<=d)
	{
	cout<<wj[i].xh<<" ";
	cout<<wj[i].xm<<" ";
	cout<<wj[i].nl<<" ";
    cout<<wj[i].tl<<" ";
    cout<<wj[i].zl<<" ";
    cout<<wj[i].wl<<endl;
    j=j+1;
	}
	        else continue;
	       
		}
		if(j==0)cout<<"对不起,没找到您想要的武将,您可以通过'自定义武将'提升添加您喜欢的武将呦"<<endl; 
	} 
	else if(b=="tl") 
	{   cout<<"请输入您的期望范围:"<<endl;
	    int c,d; 
	    while(1)
	    {
	    	cin>>c>>d;
	    	if(c>d)cout<<"对不起,请先输入较小的数据"<<endl<<"请重新输入:"<<endl;
			else break; 
	    }
	    int j=0;
		for(int i=0;i<k;i++)
		{
			if(wj[i].tl>=c&&wj[i].tl<=d)
	{
	cout<<wj[i].xh<<" ";	
	cout<<wj[i].xm<<" ";
	cout<<wj[i].nl<<" ";
    cout<<wj[i].tl<<" ";
    cout<<wj[i].zl<<" ";
    cout<<wj[i].wl<<endl;
    j=j+1;
	}
	        else continue;
	       
		}
		if(j==0)cout<<"对不起,没找到您想要的武将,您可以通过'自定义武将'提升添加您喜欢的武将呦"<<endl; 
	} 
	else if(b=="zl") 
	{   cout<<"请输入您的期望范围:"<<endl;
	    int c,d; 
	    while(1)
	    {
	    	cin>>c>>d;
	    	if(c>d)cout<<"对不起,请先输入较小的数据"<<endl<<"请重新输入:"<<endl;
			else break; 
	    }
	    int j=0;
		for(int i=0;i<k;i++)
		{
			if(wj[i].zl>=c&&wj[i].zl<=d)
	{
	cout<<wj[i].xh<<" ";	
	cout<<wj[i].xm<<" ";
	cout<<wj[i].nl<<" ";
    cout<<wj[i].tl<<" ";
    cout<<wj[i].zl<<" ";
    cout<<wj[i].wl<<endl;
    j=j+1;
	}
	        else continue;
	       
		}
		if(j==0)cout<<"对不起,没找到您想要的武将,您可以通过'自定义武将'提升添加您喜欢的武将呦"<<endl; 
	} 
	else if(b=="wl") 
	{   cout<<"请输入您的期望范围:"<<endl;
	    int c,d; 
	    while(1)
	    {
	    	cin>>c>>d;
	    	if(c>d)cout<<"对不起,请先输入较小的数据"<<endl<<"请重新输入:"<<endl;
			else break; 
	    }
	    int j=0;
		for(int i=0;i<k;i++)
		{
			if(wj[i].wl>=c&&wj[i].wl<=d)
	{
	cout<<wj[i].xh<<" ";	
	cout<<wj[i].xm<<" ";
	cout<<wj[i].nl<<" ";
    cout<<wj[i].tl<<" ";
    cout<<wj[i].zl<<" ";
    cout<<wj[i].wl<<endl;
    j=j+1;
	}
	        else continue;
	       
		}
		if(j==0)cout<<"对不起,没找到您想要的武将,您可以通过'自定义武将'提升添加您喜欢的武将呦"<<endl; 
	} 
    else cout<<"您的操作不对ao"<<endl;   //查找 
    cout<<"输入-1退出"<<endl;
	int n;
	 while(1) 
	 { 
	 cin>>n;
	 if(n==-1)break;
	 else cout<<"阿西吧,输入-1退出,-1!"<<endl; 
     } 
}

int main()
{   int k=0;
    cout<<"欢迎来到三国武将系统"<<endl;
    cout<<"武将各属性声明:"<<endl; 
    cout<<"姓名为三个字母"<<endl;
	cout<<"年龄为15-95"<<endl;
	cout<<"智力为100-200"<<endl;
	cout<<"体力为10-100"<<endl;
	cout<<"武力为50-100"<<endl;
    cout<<"自动初始化108位武将请输入1"<<endl<<"手动键入武将请输入2并以#结束"<<endl;
    while(1)
{   string g;cin>>g;
    if(g=="1")
    {
    srand(time(NULL));//通过时间函数设置随机数种子,使得每次运行结果随机。
    for(int i=0;i<108;i++)
	{  int flag;string tm; 
	for(int j=0;j<3;j++) 
    {
		flag = rand()%2;
		switch(flag)
		{
		case 0:
			tm=(rand()%26 +'a');
			wj[i].xm=wj[i].xm+tm;
			break;
		case 1:
			tm=(rand()%26 + 'A');
			wj[i].xm= wj[i].xm+tm;
			break;
		}
    }
    wj[i].xh=i+1;
	wj[i].nl=rand()%80+15;
	wj[i].zl=rand()%100+100;
	wj[i].tl=rand()%90+10;
	wj[i].wl=rand()%50+50;	
	} 
    k=107;break;}
    
    else if(g=="2")
    {
    for(int i=0;;i++)
	{   wj[i].xh=i+1;
		cin>>wj[i].xm;
		if(wj[i].xm=="#")break;
		cin>>wj[i].nl>>wj[i].tl>>wj[i].zl>>wj[i].wl;
		k=i;
	}	
    break;	
    }
    
    else cout<<"输入有误,请重新输入:"<<endl; 
}
    while(1)     //进行操作  
    {   system("cls");
	    cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl;//上边框
        cout<<"本系统提供如下功能:"<<endl; 
        cout<<"查看现有武将请输入ck"<<endl;
        cout<<"排序武将请输入px"<<endl;
        cout<<"插入武将请输入cr"<<endl;
        cout<<"删除武将请输入sc"<<endl;
        cout<<"查找武将请输入chz"<<endl; 
        cout<<"模糊查找请输入mhcz"<<endl;
        cout<<"退出系统请输入tc"<<endl;
        cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl;//下边框
    	cout<<"请输入您的操作:";
    	string cz;
    	cin>>cz;
    	if(cz=="tc"){cout<<"感谢使用";break;} 
		else if(cz=="ck"){ck(wj,k);continue;}
		else if(cz=="px"){px(wj,k);continue;}
		else if(cz=="cr"){k=cr(wj,k);continue;}
		else if(cz=="sc"){k=sc(wj,k);continue;}
		else if(cz=="chz"){chz(wj,k);continue;}
		else if(cz=="mhcz"){mhcz(wj,k);continue;}
        else {cout<<"对不起,暂不支持本操作"<<endl;continue;}
	}
	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值