#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;
}
假.三国无双
最新推荐文章于 2024-01-13 19:08:29 发布