LiveWire Network Peer Answers Peer Support Teen Forums Tech Forums College Forums 539 users online 225254 members 794 active today Advertise Here Sign In
TeenCollegeTechPhotos | Quizzes | LiveSecret | Memberlist | Dictionary | News | FAQ
Member Spotlight
marshmellowman
and victorious in war shall be made glorious in peace...
Mood: Scheming
You have 1 new message.
Emergency Help
Until you sign up you can't do much. Yes, it's free.

Sign Up Now
Membername:
Password:
Already have an account?
Invite Friends
Active Members
Groups
Contests
Moderators
2 online / 64 MPM
Christmas!
Fresh Topics
  LiveWire / Technical Forums / Programming & Application Development / Adding Reply

Quoting Post
Archived Topic: It will not be bumped to the top of the forum.
Topic Issue with basic C++ Program
Membername   Not a member? Sign Up Free (takes 20 seconds)
Password   Forgotten your password?
Post

Font:   Size:   Color:

FAQ Keyword Search:
Post Options
Favorites Manager
Notify me of new replies to this topic by email
Notify me of new replies to this topic by private message
Original Post
Jx2 Anarchy Posted at 1:54 pm on May 15, 2008
im wiritng a program for my C++ class, here is the source

http://www.miraclesalad.com/webtools/clip.php?clip=1491

its not completed, alot of stuff is left out, but, im trying to figure out why im getting the issue i am. (for the questions asked to continue, Y and N are answers atm)

basically when i run the program and go into the fortune part of it (b) and i ask it a question, it outputs an answer, but instead of asking to continue, it goes over the answer, assumes you want to continue, and give an answer for a question you dont have in. then askes if you want to continue.

obviusly this isnt right, and, when asked with anything that is only one word (no spaces) it seems to work correctly, anyone have an idea of what i have wrong here?

Replies
i who have nothing Posted at 11:15 am on May 16, 2008
add

cin.clear();

above

cout<<"Would you like to ask the fortune teller another question?"<<endl; //askes user if they would like to quit

the input stream is retaining characters and messing everything up.

JudeLaurence Posted at 7:28 pm on May 15, 2008
In school I never used the string type.

After using cin, there is a newline character trailed behind.  Use a "dummy" variable to grab the newline or simply have two cin>> quit1; statements.  That'll fix it. :)

Jx2 Anarchy Posted at 2:46 pm on May 15, 2008
and incase it helps, the origional source of the fortuneteller

http://jx2anarchy.com/random/source.txt

Jx2 Anarchy Posted at 2:43 pm on May 15, 2008
the thing that gets me is i know it ran BEFORE i put it into this code  (it was its own beforehand, i just copied it in)  after i put it in though, it started this, and i have no clue in how to fix it.

i tired what GdFtherOFCOWS said, but i still get the same error.

Just Waiting Here Posted at 2:26 pm on May 15, 2008
I'm not too familiar with cin, so I looked around.

http://www.macs.hw.ac.uk/~pjbk/pathways/cpp1/node185.html


When the input stream cin is used space characters, newline etc. are used as separators and terminators. Thus when inputting numeric data cin skips over any leading spaces and terminates reading a value when it finds a white-space character (space, tab, newline etc. ). This same system is used for the input of strings, hence a string to be input cannot start with leading spaces, also if it has a space character in the middle then input will be terminated on that space character.

Looks like you may have to make a loop of some kind to pick it all up?  I dunno... I also thought of what GdFtherOFCOWS said, and hopefully that will work.  Otherwise, you may need a loop to pick up all the words in the string, and only consider it as one...?

Lol, sorry I'm useless, it's been 4 years now since I've touched C++ and I never actually was taught the cin function...  I'm interested in knowing how you got around the problem though, if you do figure it out :).  But I think the problem all comes to the string and how cin works.

GdFtherOFCOWS Posted at 2:08 pm on May 15, 2008
Sounds like you have having trouble with the char input.

Try this.

char question[75];

"Put that underint programContinue = 1;" and "char menuChoice;"


Delete the "string question" in function();

All 6 previous replies displayed.