What am I missing? | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
0

What am I missing?

I'm trying to make a single die in C++ using What exactly is wrong with my code? I'm still new to C++ just trying to learn! Thanks! #include <iostream> using namespace std; int main() { cout << "Your " << "Number " << "is" << endl; int x=1; while(x>6);{x++;} if(x=1);{cout << "1";} else(x=2);{cout << "2";} else(x=3);{cout << "3";} else(x=4);{cout << "4";} else(x=5);{cout << "5";} else(x=6);{cout << "6";} return 0; }

1st Aug 2017, 7:57 PM
Mason Roy
Mason Roy - avatar
4 Answers
+ 4
Not trying to sound offensive or anything but you can better ask what is right. :) It'll be a shorter answer. Don't use ; after while or if, it'll end it. if(x=1) is an assignment, you want to compare if(x==1) else doesn't accept parameters, you probably mean else if(x == 2) you can't stack else's like that either. the while loop (assuming it was correct) is never entered because 1 > 6 = false anyway and if the condition was true somehow you'd still not end up with a correct dice This is all you need to generate a dice roll: #include <iostream> #include <ctime> #include <cstdlib> int main() { srand(time(nullptr)); int dice = rand() % 6 + 1; std::cout << dice << std::endl; return 0; }
1st Aug 2017, 8:19 PM
Dennis
Dennis - avatar
+ 2
x is never greater than 6 so it will never be incremented. It will stay 1. Try while x < 7. Also the syntax is a little ropey. Take another look at the positioning of your curly brackets, and also the number of ;'s (most of the code should be inside the while block) It seems like you should be using a for loop here too. Do you know how to use those? I can tell you the answer but i figures you'd want to try and solve it yourself first
1st Aug 2017, 8:16 PM
James Cooke
+ 2
Dennis is absolutely right though I'd assume that will probably confuse you. I'm guessing being a newbie, and also my assumption was that you were trying to just print 1 2 3 4 5 6 on the screen. If that is the case use a for loop. If not use Dennis's and try ur hardest to understand / take a look at the libraries he's using and what the code he's using is doing
1st Aug 2017, 8:24 PM
James Cooke
+ 1
Thanks Everyone! I appreciate your answers!😀😀
1st Aug 2017, 8:25 PM
Mason Roy
Mason Roy - avatar