C++ Text Based RPG code HELP!
Jun 29, 2014 at 8:30am UTC
Hello Everyone! This is my first post on this forums. I would really like someone to tell me what the hell is wrong. This is just a starting TEXT RPG game
and it compiled and ran before perfectly fine but now it show's an Int Function error on the
underlined code down below. I'm positive it's correct because it did compile before. Is this some error?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
int age;
string gender;
string Continue;
string sex;
char userName[100];
cout <<" Please select a Username: " ;
cin >>userName;
cout <<"Welcome: " <<userName<<endl;
cout << "" << endl;
cout << "Welcome\n" << endl;
cout << userName;
cout << ", Welcome to Lands of Magnolia!\n" << endl;
cout << "..." << endl;
cout << " " << endl;
cout << "What is your character's age?\n" << endl;
cin >> age;
cout << "..." << endl;
cout << " " << endl;
cout << "What is your character's gender?:\n" << endl;
cin >> gender;
cout << "..." << endl;
cout << "" << endl;
cout << "Enter 'Continue' to continue. Then you can choose a class!\n" << endl;
cin >> Continue;
cout << "..." << endl;
cout << "Welcome to the Lands of Magnolia! First, you must choose a class!\n" << endl;
cout << "(1)\n" << endl;
cout << "The Warrior:\n" << endl;
cout << "Attack: 60" << endl;
cout << "Defence: 50" << endl;
cout << "Magic: 10" << endl;
cout << "Speed: 30" << endl;
cout << "Starting Weapon: Longsword." << endl;
cout << "..." << endl;
cout << "(2)\n" << endl;
cout << "The Wizard:\n" << endl;
cout << "Attack: 20" << endl;
cout << "Defence: 30" << endl;
cout << "Magic: 80" << endl;
cout << "Speed: 20" << endl;
cout << "Starting Weapon: Oak Staff." << endl;
cout << "..." << endl;
cout << "(3)\n" << endl;
cout << "The Knight:\n" << endl;
cout << "Attack: 50" << endl;
cout << "Defence: 70" << endl;
cout << "Magic: 20" << endl;
cout << "Speed: 10" << endl;
cout << "Starting Weapon: Battleaxe." << endl;
cout << "..." << endl;
cout << "(4)\n" << endl;
cout << "The Assassin:\n" << endl;
cout << "Attack: 40" << endl;
cout << "Defence: 20" << endl;
cout << "Magic: 10" << endl;
cout << "Speed: 80" << endl;
cout << "Starting Weapon: Wicked Dirk." << endl;
cout << "..." << endl;
cout << "(5)\n" << endl;
cout << "The Wanderer" << endl;
cout << "Attack: 40" << endl;
cout << "Defence: 40" << endl;
cout << "Magic: 35" << endl;
cout << "Speed: 35" << endl;
cout << "Starting Weapon: Wooden Stick." << endl;
cout << "-----" << endl;
int selection;
cout << "Please Enter the Number (eg. 1, 2) not the name of the class to select\n " << endl;
cin >> selection;
if (selection == 1);
cout << "You chose the Warrior class!\n" << endl;
cout << "..." << endl;
cout << "" << endl;
else if (selection == 2)
cout << "You chose the Wizard class!\n" << endl;
cout << "..." << endl;
cout << "" << endl;
else if (selection == 3)
cout << "You chose the Knight class!\n" << endl;
cout << "..." << endl;
cout << "" << endl;
else if (selection == 4)
cout << "You chose the Assassin class!\n" << endl;
cout << "..." << endl;
cout << "" << endl;
else if (selection == 5)
cout << "You chose the Wanderer class!\n" << endl;
cout << "..." << endl;
cout << "" << endl;
cout << "-----" << endl;
string Ok;
cout << " Please enter the letter 'Ok' to continue.\n" << endl;
cin >> Ok;
cin.get();
return 0;
}
Last edited on Jun 29, 2014 at 8:31am UTC
Jun 29, 2014 at 8:37am UTC
Only the statement after
if (condition) is part of the if statement.
On line 92 you have a semicolon right after so the semicolon creates an empty statement (a statement that doesn't do anything) so none of the lines that follows will be part of the if statement.
If you remove the semicolon from line 92 then the following statement is on line 93. If you want all the lines 93-95 to be part of the if statement you will have to create a compound statement by using { and }.
1 2 3 4 5 6
if (selection == 1)
{
cout << "You chose the Warrior class!\n" << endl;
cout << "..." << endl;
cout << "" << endl;
}
Jun 29, 2014 at 8:38am UTC
Hi @Wulfinite,
try deleting the semicolon at
the end of this line (92)
if (selection == 1); //<<<
Jun 29, 2014 at 12:15pm UTC
Thanks guys :) I removed the semicolon at the end of line 92 and added the braces. It now works perfectly. Thank you again.
Topic archived. No new replies allowed.