Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Misc > Archive::Off Topic

Archive::Off Topic Archive area for Off Topic's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 10-06-2004, 11:56 PM
waternorth
Sarnak
 
Join Date: Mar 2004
Posts: 49
Default Basic C++ Problems

I'm having basic C++ problems. What's the problem? I'll do a direct copy+paste from Command Prompt.

Code:
Hello, please input your username:
Username:Test //I typed this in



Welcome! Please choose a category to enter.




 Cat01
 Cat02

// Does not prompt me to type anything in and just shows the following message.

Welcome to Cat1
Source:

Code:
#include <iostream.h>

int main ()
{
  cout << "Hello, please input your name: \nName:";
  int name;
  cin >> name;
  cout << "\n \n \n";
  cout << "Welcome! Please choose a category to enter. \n  \n  \n  \n  \n Cat01 \n Cat02 \n \n";
  int cat;
  cin >> cat;
  if (cat == 1)
  then
  cout << "Welcome to Cat1";
  if (cat == 2)
  then
  cout << "Welcome to Cat2";
}
Can anyone tell me what I'm doing wrong?
Reply With Quote
  #2  
Old 10-07-2004, 12:01 AM
Muuss
Dragon
 
Join Date: May 2003
Posts: 539
Default

int -> integer, this is a number, not a char string.
name will never contain 'Test'.

After than check the if syntax
__________________
Muuss - [PEQGC] Dobl, the ogre that counts for 2 !
http://www.vilvert.fr/page.php?id=10
Reply With Quote
  #3  
Old 10-07-2004, 12:03 AM
waternorth
Sarnak
 
Join Date: Mar 2004
Posts: 49
Default

Soo.... what do I use instead of int?
Reply With Quote
  #4  
Old 10-07-2004, 12:09 AM
Muuss
Dragon
 
Join Date: May 2003
Posts: 539
Default

char name[12];
for example

if (cat==1) {
}

instead of
if (cat==1) then
__________________
Muuss - [PEQGC] Dobl, the ogre that counts for 2 !
http://www.vilvert.fr/page.php?id=10
Reply With Quote
  #5  
Old 10-07-2004, 12:16 AM
waternorth
Sarnak
 
Join Date: Mar 2004
Posts: 49
Default

Revised:

Code:
#include <iostream.h>

int main ()
{
  cout << "Hello, please input your name: \nName:";
  char name;
  cin >> name;
  cout << "\n \n \n";
  cout << "Welcome! Please choose a category to enter. \n  \n  \n  \n  \n Cat01 \n Cat02 \n \n";
  char cat;
  cin >> cat;
  if (cat==1)
  cout << "Welcome to Cat1";
  if (cat==2)
  cout << "Welcome to Cat2";
  return 1;
}
It now asks for the input. BUT it does not say "Welcome to Cat#"
Reply With Quote
  #6  
Old 10-07-2004, 12:19 AM
Muuss
Dragon
 
Join Date: May 2003
Posts: 539
Default

keep cat as an int if you make your tests like that " if (cat==1) "
1 is an int
'1' is a char
__________________
Muuss - [PEQGC] Dobl, the ogre that counts for 2 !
http://www.vilvert.fr/page.php?id=10
Reply With Quote
  #7  
Old 10-07-2004, 12:27 AM
Scorpious2k's Avatar
Scorpious2k
Demi-God
 
Join Date: Mar 2003
Location: USA
Posts: 1,067
Default

Muuss is right.

You made cat a type char so the compare should be:

Code:
 if (cat=='1') 
  cout << "Welcome to Cat1"; 
  if (cat=='2') 
  cout << "Welcome to Cat2";
Otherwise you are testing for ctrl+A or ctrl+B.
__________________
Maybe I should try making one of these servers...
Reply With Quote
  #8  
Old 10-07-2004, 01:00 AM
jbb
Hill Giant
 
Join Date: Mar 2003
Location: UK
Posts: 242
Default

How to read a string properly in C++.

Code:
#include <iostream>
#include <string>

using namespace std;

int main()
{
   string name; 
   getline(cin, name);
   cout << name << "\n";
}
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 03:23 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3