c++程序设计有错误,求大神帮忙改一下
#defineGNU_SOURCE#include<iostream>#include<stdio.h>#include<stdlib.h>#include<string...
#define GNU_SOURCE
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string>
#include<cstring>
#include<cstdlib>
using namespace std;
class CYJL //类,完成功能,以下所有命名均采用帕斯卡或驼峰命名法
{
private:
int Score,People;
string Name;
public:
CYJL(unsigned int a);
int Game();
~CYJL()
{cout<<"game over"<<endl<<"your score:"<<Score<<endl;}
};
int main(int argc,int** argv)
{
system("color 0b");//调整颜色,调用系统命令
int setPeople;
cout<<"输入人数"<<endl;
cin>>setPeople;
CYJL CYJLObject(setPeople);//构造函数显示调用
return 0;
}
CYJL::CYJL(unsigned int a)
{
cout<<"输入你的名字"<<endl;
cin>>Name;
cout<<"玩家数量:"<<a<<endl<<"按任意键开始,输入e退出"<<endl;
People=a;
if(cin.get()=='e')
cin.get();//去除\n对程序的影响
else
Game();
}
int CYJL::Game()
{
int LenThis,LenLast;
char ChengYuAtLastTurn[50],ChengYuAtThisTurn[50];
//请务必使用utf-8,否则程序会出大问题毕竟中文是很麻烦的,对于unicode(utf-8),一个汉字占三个char
cout<<"请出第一题"<<endl;
cin.getline(ChengYuAtLastTurn,50,'\n');
for(int Person=1;;Person++)
{
int a;
if(Person==a+1)
Person=1;//当person的值超过总人数时,将person调整到第一个人
LenLast=strlen(ChengYuAtLastTurn);//计算长度
cout<<"请回答,按exit结束"<<endl;
cin.getline(ChengYuAtThisTurn,50,'\n');
if(strcmp(ChengYuAtThisTurn,"exit"))
return 0;
LenThis=strlen(ChengYuAtThisTurn);//计算长度以便进行比较
for(int i=1;i<=3;i++)
{
if(ChengYuAtThisTurn[LenThis-i]==ChengYuAtLastTurn[LenLast-i])
continue;
else
{cout<<"错误"<<endl;
return 0;
}
}
cout<<"正确!"<<endl;
Score+=10;
strcpy(ChengYuAtLastTurn,ChengYuAtThisTurn);//把这回合的成语作为题目
}
} 展开
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string>
#include<cstring>
#include<cstdlib>
using namespace std;
class CYJL //类,完成功能,以下所有命名均采用帕斯卡或驼峰命名法
{
private:
int Score,People;
string Name;
public:
CYJL(unsigned int a);
int Game();
~CYJL()
{cout<<"game over"<<endl<<"your score:"<<Score<<endl;}
};
int main(int argc,int** argv)
{
system("color 0b");//调整颜色,调用系统命令
int setPeople;
cout<<"输入人数"<<endl;
cin>>setPeople;
CYJL CYJLObject(setPeople);//构造函数显示调用
return 0;
}
CYJL::CYJL(unsigned int a)
{
cout<<"输入你的名字"<<endl;
cin>>Name;
cout<<"玩家数量:"<<a<<endl<<"按任意键开始,输入e退出"<<endl;
People=a;
if(cin.get()=='e')
cin.get();//去除\n对程序的影响
else
Game();
}
int CYJL::Game()
{
int LenThis,LenLast;
char ChengYuAtLastTurn[50],ChengYuAtThisTurn[50];
//请务必使用utf-8,否则程序会出大问题毕竟中文是很麻烦的,对于unicode(utf-8),一个汉字占三个char
cout<<"请出第一题"<<endl;
cin.getline(ChengYuAtLastTurn,50,'\n');
for(int Person=1;;Person++)
{
int a;
if(Person==a+1)
Person=1;//当person的值超过总人数时,将person调整到第一个人
LenLast=strlen(ChengYuAtLastTurn);//计算长度
cout<<"请回答,按exit结束"<<endl;
cin.getline(ChengYuAtThisTurn,50,'\n');
if(strcmp(ChengYuAtThisTurn,"exit"))
return 0;
LenThis=strlen(ChengYuAtThisTurn);//计算长度以便进行比较
for(int i=1;i<=3;i++)
{
if(ChengYuAtThisTurn[LenThis-i]==ChengYuAtLastTurn[LenLast-i])
continue;
else
{cout<<"错误"<<endl;
return 0;
}
}
cout<<"正确!"<<endl;
Score+=10;
strcpy(ChengYuAtLastTurn,ChengYuAtThisTurn);//把这回合的成语作为题目
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询