Я пытаюсь написать код для игры «Камень, Бумага, Ножницы, Ящерица, Спок» как часть лаборатории для моего класса. В других программах я с некоторым успехом использовал прототипы функций, но когда я делаю это здесь, это не работает. Компилятор читает void-функции, если я помещаю их выше main, но мне нужно, чтобы они были определены после. Я попытался инициализировать их следующим образом
#include <iostream> // basic i/o
#include <iomanip> // output formatting
#include <cmath> // math functions
#include <cstdlib> // rand() and srand()
#include <ctime> // system time
#include <string> // string handling
using namespace std;
void playerRock();
void playerPaper();
void playerScissors();
void playerLizard();
void playerSpock();
int main(){...
, что не вызывало у меня проблем в других программах, и я видел, как мой проф и мой учебник делают именно это, но мой компилятор не кажется распознать следующее как определения функций, и я не уверен, почему
int main(){...
}
void playerRock(void){
cout << "Player chooses Rock" << endl;
if(opponentChoice == 1){
cout << "Opponent chooses Paper" << endl;
cout << "Paper covers Rock!" << endl;
opponentScore++;
}
if(opponentChoice == 2){
cout << "Opponent chooses Scissors" << endl;
cout << "Rock smashes Scissors!" << endl;
playerScore++;
}
if(opponentChoice == 3){
cout << "Opponent chooses Lizard" << endl;
cout << "Rock smashes Lizard" << endl;
playerScore++;
}
else{
cout << "Opponent chooses Spock" << endl;
cout << "Spock vaporizes Rock!" << endl;
opponentScore++;
}
cout << "Opponent Score: " << opponentScore << endl;
cout << "Player Score: " << playerScore << endl;
return;
}
void playerPaper(void){
cout << "Player chooses Paper!" << endl;
if(opponentChoice == 0){
cout << "Opponent chooses Rock" << endl;
cout << "Paper covers Rock!" << endl;
playerScore++;
}
if(opponentChoice == 2){
cout << "Opponent chooses Scissors" << endl;
cout << "Scissors cuts Paper!" << endl;
opponentScore++;
}
if(opponentScore == 3){
cout << "Opponent chooses Lizard" << endl;
cout << "Lizard eats Paper!" << endl;
opponentScore++;
}
else{
cout << "Opponent chooses Spock" << endl;
cout << "Paper disproves Spock!" << endl;
playerScore++;
}
cout << "Opponent Score: " << opponentScore << endl;
cout << "Player Score: " << playerScore << endl;
return;
}
void playerScissors(void){
cout << "Player chooses Scissors" << endl;
if(opponentChoice == 0){
cout << "Opponent chooses Rock" << endl;
cout << "Rock smashes Scissors" << endl;
opponentScore++;
}
if(opponentChoice == 1){
cout << "Opponent chooses Paper" << endl;
cout << "Scissors cuts Paper!" << endl;
playerScore++;
}
if(opponentChoice == 3){
cout << "Opponent chooses Lizard" << endl;
cout << "Scissors decapitate Lizard!" << endl;
playerScore++;
}
else{
cout << "Opponent chooses Spock" << endl;
cout << "Spock smashes Scissors!" << endl;
opponentScore++;
}
cout << "Opponent Score: " << opponentScore << endl;
cout << "Player Score: " << playerScore << endl;
return;
}
void playerLizard(void){
cout << "Player chooses Lizard" << endl;
if(opponentChoice == 0){
cout << "Opponent chooses Rock" << endl;
cout << "Rock smashes Lizard" << endl;
opponentScore++;
}
if(opponentChoice == 1){
cout << "Opponent chooses Paper" << endl;
cout << "Lizard eats Paper!" << endl;
playerScore++;
}
if(opponentChoice == 2){
cout << "Opponent chooses Scissors" << endl;
cout << "Scissors decapitates Lizard" << endl;
opponentScore++;
}
else{
cout << "Opponent chooses Spock" << endl;
cout << "Lizard poisons Spock!" << endl;
playerScore++;
}
cout << "Opponent Score: " << opponentScore << endl;
cout << "Player Score: " << playerScore << endl;
return;
}
void playerSpock(void){
cout << "Player chooses Spock" << endl;
if(opponentChoice == 0){
cout << "Opponent chooses Rock" << endl;
cout << "Spock vaporizes Rock!" << endl;
playerScore++;
}
if(opponentChoice == 1){
cout << "Opponent chooses Paper" << endl;
cout << "Paper disproves Spock" << endl;
opponentScore++;
}
if(opponentChoice == 2){
cout << "Opponent chooses Scissors" << endl;
cout << "Spock breaks Scissors!" << endl;
playerScore++;
}
else{
cout << "Opponent chooses Lizard" << endl;
cout << "Lizard poisons Spock!" << endl;
opponentScore++;
}
cout << "Opponent Score: " << opponentScore << endl;
cout << "Player Score: " << playerScore << endl;
return;
}
Я думаю, я не понимаю, почему это будет работать в других программах, но не здесь?