gpt4 book ai didi

C++:cout 语句使我的程序失控?

转载 作者:行者123 更新时间:2023-11-28 00:41:47 25 4
gpt4 key购买 nike

#include <iostream>
#include <string>
#include <random>
#include <Windows.h>
using namespace std;


int playerHP = 20;
int enemyHP = 20;
int playerAtk =(rand()%4 + 5); //Find a random number between 5 and 8
int playerDef = (rand()%4 + 5);
int playerAgi = (rand()%4 + 5);
int enemyAtk = (rand()%4 + 4); //Find a random number between 5 and 7
int enemyDef = (rand()%4 + 4);
int enemyAgi = (rand()%4 + 4);
cout<<"---------------"<< endl; // what in the sam hill is going on
cout<<"FIGHTER STATS"<< endl;
cout<<"----------------"<<endl;
cout<<"Player Stats:"<<endl;
cout<<"HP "<<playerHP<<endl;
cout<<"ATK "<<playerAtk<<endl;
cout<<"DEF "<<playerDef<<endl;
cout<<"AGI "<<playerAgi<<endl;
cout<<"ENEMY STATS:"<<endl;
cout<< "HP "<<enemyHP<<endl;
cout<<"ATK "<<enemyAtk<<endl;
cout<<"DEF "<<enemyDef<<endl;
cout<<"AGI "<<enemyAgi<<endl;

我似乎无法理解为什么我的 cout 语句会在我的程序中产生如此多的错误。这显然不是我的全部计划,但我想让事情简短而有趣。我收到错误 C2143:syntax eerror : missing ';'在“<<”之前,C4430:假定缺少类型说明符-int,以及 C2086“int cout”:几乎所有 cout 语句的重新定义,我无法弄清楚原因。感谢您提供的所有帮助,请尽可能简化,这是我的第一个 C++ 程序。

最佳答案

假设您已经准确发布了您要编译的代码,像这样的语句

cout<<"---------------"<< endl;

需要在函数内部。

前面几行不会导致错误,因为在任何函数之外声明具有全局范围的变量都是有效的。不过,这样做并不是很好的做法,如果变量只是单个函数需要的话,您当然不应该将它们设为全局变量。

尝试将所有代码移动到 main 函数中。即

int main()
{
int playerHP = 20;
int enemyHP = 20;
int playerAtk =(rand()%4 + 5);
// rest of your code goes here
}

编译并运行代码后,您会发现随机数总是初始化为相同的值。在调用 rand 之前,您需要调用 srand,选择一个在运行之间变化的值。如果您不介意它每秒仅更改一次,则当前时间是一个很容易选择的种子

int main()
{
int playerHP = 20;
int enemyHP = 20;
srand(time(NULL));
int playerAtk =(rand()%4 + 5);

关于C++:cout 语句使我的程序失控?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18537360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com