Little problem I'm running in to [Learning C++]

C-Death

I love you
Reaction score
45
Hello everyone. I've just recently began learning C++.
Now, my problem is when I compile and run my code (using Dev C++)
Code:
#include <iostream>
using namespace std;
int main()
{
    cout <<"Greetings adventurer, press enter to continue. . .\n";
    cin.get();
    int name;
    cout <<"Enter the name of your hero. . . ";
    cin >> name;
    cout <<"So, young " << name; 
    cout <<"you are entering a dangerous world indeed.\n";
    cin.get();
}
int level()
{
    cout <<"So, tell me adventurer, what village are you from?\n";
    int villagefrom;
    cin >> villagefrom;
    cout <<"You're from" << villagefrom;
    cout <<"Can't say as I've ever been there\n";
    cin.get();
}

Everything after
"cout <<"Enter the name of your hero. . . ";
Just flashes and the program ends. I'm sure it's something stupid :(

Thanks for any help and happy holidays
 

azareus

And you know it.
Reaction score
63
You are trying to pass characters into an integer variable. C++ does not like you doing that :p
What you should do is put it into a string variable.

What is the purpose of having the level function?
 

C-Death

I love you
Reaction score
45
Honestly, I'm just playing around with code. I've got a book about it, but I'm the type of person who if I don't do it successfully my self I don't remember.
 

Moridin

Snow Leopard
Reaction score
144
What azareus said. An altered form of your code would be:

Code:
#include <iostream>
#include <string>
using namespace std;
int main()
{
    cout <<"Greetings adventurer, press enter to continue. . .\n";
    cin.get();
    string name;
    cout <<"Enter the name of your hero. . . ";
    cin >> name;
    cout <<"So, young " << name; 
    cout <<"you are entering a dangerous world indeed.\n";
    cin.get();
}

int level()
{
    cout <<"So, tell me adventurer, what village are you from?\n";
    int villagefrom;
    cin >> villagefrom;
    cout <<"You're from" << villagefrom;
    cout <<"Can't say as I've ever been there\n";
    cin.get();
}

Also, you do realise your program will end after the User taps a key after this line:
"you are entering a dangerous world indeed.\n";

...right?
 

C-Death

I love you
Reaction score
45
Lol no I had no idea. as the days go on I'm understanding more and more, but, alas, I still know nothing.
 

Moridin

Snow Leopard
Reaction score
144
No worries, we're all beginners at one point.

As to your current program, the reason why the lines after "int level ()" won't run, is because

int level ()

...is a function. Functions are basically blocks of code that can be executed (or 'called') from anywhere else in your code. Follow the link I provided (click the 'function') for a bit more detail on how functions work and how to use them.

Basically: every program, when run, looks for the main () function and starts executing lines from there. It goes to the end of the main function and then stops. You can use other functions by calling them inside the main function.

I hope that made sense. If you need any help when it comes to C++, I can usually lend some assistance. I'm lurking these forums quite a lot these days.
 

C-Death

I love you
Reaction score
45
Thank you so much. Today I went out and got C++ for dummies (Some type of collection of 7 C++ books in one) and after spending four hours studying, I found I was learning 100% wrong xD Thanks again so much.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top