Hello list!
 
My name is Mark and I'm a new member.  I'm a programmer with a background in 
VB, .NET, php and a few other languages but not a lot of experience in c or c++.
 
A buddy of mine is taking a programming class in c++ and I normally offer 
assistance but I'm stuck on this one and I have to know the answer out of 
curiosity.
 
His goal is to ask the user 3 questions about the type of ice cream they want 
to order.  
 
Below is the code but I'm not sure I understand the use of getline in this 
case.  From what I read, it may be storing all 3 values in to a single string 
and it needs to be split.  If that's the case, what's the best way to handle 
this?  And will the 3 if statements work correctly at that point?
 
As it stands now, the program works fine if the user doesn't select chocolate 
for the first or second question but if they do, it sets both the the first and 
second value to chocolate regardless of whether they actually did that.
 
TIA,
 
Mark
 
#include <iostream>
#include <string>
using namespace std;
int main()
{
 string icecream = "", topping = "", sprinkles = "";
 string order;
do
{
 if (icecream == "")
  cout << "Do you want chocolate, vanilla, or twist?"<<endl;
 if (topping == "")
  cout << "Hot fudge, chocolate, or strawberry sauce?"<<endl;
 if (sprinkles =="")
  cout << "Do you want sprinkles (yes/no)?"<< endl;
 getline(cin, order);
 if ((order == "chocolate") || (order == "vanilla") || (order == "twist"))
   icecream = order;    
 if ((order == "hot fudge") || (order == "chocolate") || (order == 
"strawberry"))
   topping = order;
 if ((order == "yes") || (order == "no"))
   sprinkles = order;
 
}while ((icecream == "") || (topping == "") || (sprinkles ==""));
if (sprinkles == "yes")
 cout << "You ordered "<< icecream << " ice cream with " << topping << " sauce 
and sprinkles."<< endl;
else
 cout << "You ordered "<< icecream << " ice cream with " << topping << " sauce 
without sprinkles."<<endl;
}


      

[Non-text portions of this message have been removed]

Reply via email to