Look I am actually doing my homework for once, ok can someone explain why this if statement is going allll the way down to the else? I don't know what I am doing wrong here, besides working at 12:50 am.
well, your 'iceCream' is a pointer. What you're actually doing is comparing one pointer to another different pointer (and not the content). Use strcmp() to compare the contents
You can't use == when comparing char arrays. What you're really doing is comparing pointers (which will never match unless you're comparing one char array to itself)
The solution here would be to either use strings instead of char arrays:
1 2 3 4 5 6 7 8 9 10
#include <string>
//...
string iceCream;
//...
getline(cin,iceCream);
//...
if(iceCream == "Chocolate" || iceCream == "chocolate") // now this will work
Or, if you must use char arrays for whatever reason (blech!), you must use strcmp instead of the == operator:
1 2 3
//if (iceCream == "Chocolate" || iceCream == "chocolate") // no good with char arrays
if( !strcmp(iceCream,"Chocolate") || !strcmp(iceCream,"chocolate") ) // works with char arrays