c++ 小程序问题 求大侠帮忙看看

2025-02-25 10:09:57
推荐回答(2个)
回答1:

错误1 if(flag=='n'||flag=='N')
错误2 do{}while;你少了个}
以下是改过的代码,但是你的welcome函数定义有问题,要你自己去改。
#include
#include
#include
#include
#include

using namespace std;
int num1,num2,sum,count;
class Game
{
private:
int total;
public:
Game(int K){total=K;}
void welcome();
void add();
void end();
int GetRand(int end);
};

void Game::welcome()
{
int i;
char flag;
system("cls");
cout<<"\n\n\n\n\n\t\tloading";
for(i=0;i!=10;++i)
{
Sleep(100);
cout<<".";
}

do
{
system("cls");
cout<<"\n\n\n\n\n"< cout<<"\n\t\t************************"< cout<<"\n ADD GAME "< cout<<"\n PRESS 'Y' TO PLAY "< cout<<"\n PRESS 'N' TO EXIT "< cout<<"\n\t\t************************"< cin>>flag;
if(flag=='y'||flag=='Y')
{
add();
break;
}
else if(flag=='n'||flag=='N')
{
end();
}
else
{
cout<<"error"< getchar();
getchar();
}}while(1);
};

int GetRand(int end)
{
srand(unsigned(time(NULL)));
return (end-0)*rand()/(RAND_MAX + 1.0);
}

void Game::add()
{
system("cls");
int answer;
int count;
for(count=10;;count=count*5+20)
{
num1=GetRand(count);
num2=GetRand(count);
sum=num1+num2;
cout< cin>>answer;
if(answer==sum)
{
cout<<"\n\n\n\n\n"< cout<<"\t\t\tCongratulation"< total=total+1;
cout< continue;
}
else
{
cout<<"\n\n\n\n\n"< cout<<"\t\t\tMaybe Next Time"< end();
}
}
}

void Game::end()
{
system("cls");
cout<<"\n\n\n\n\n"< cout<<"\t\t\tThanks"< exit(0);
}

void main()
{
system("cls");
Game AddGame(0);
AddGame.welcome();
}

回答2:

else if(flag==n|flag==N)

你确定要 按位与,做位运算?而不是逻辑运算?