I went a head and tried it using the CC compiler on solaris CC icecream.cpp -o icecream
and then I got the following error "icecream.cpp", line 26: Error: Badly formed expression. "icecream.cpp", line 28: Error: Badly formed expression. 2 Error(s) detected. so, no the compiler doesn't really like it. Anyway, I'm a total newbie who has been mainly focusing on C programing at this point rather than the C++ ________________________________ From: Mark E <[email protected]> To: [email protected] Sent: Tuesday, March 24, 2009 1:21:34 PM Subject: [c-prog] Intro and first question (getline) 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]
