# FAQ: Conditionals & Logic - Coin Flip Demo

This community-built FAQ covers the “Coin Flip Demo” exercise from the lesson “Conditionals & Logic”.

Paths and Courses
This exercise can be found in the following Codecademy content:

## FAQs on the exercise Coin Flip Demo

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply () below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

## Join the Discussion. Help a fellow learner on their journey.

Agree with a comment or answer? Like () to up-vote the contribution!

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

In the coin flip problem, when i put some number in place of (time(NULL)), the output comes out to be tails always. Why is it so?/

1 Like

Hello there. I would also like to know

You can pass in a pointer to a `time_t` object that `time` will fill up with the current time (and the return value is the same one that you pointed to). If you pass in `NULL` , it just ignores it and merely returns a new `time_t` object that represents the current time.

So when you seed that value and then do

``````  int	coin = rand() % 2;
``````

You then flip based on that value % 2. What it equates to determines if its heads or tails. What it sounds like is based on that link is that your feeding it a constant value, so your getting a constant result.

So, with what it ask you to do, you are always returning the else statement.

``````#include <iostream>
#include <stdlib.h>
#include <ctime>

int main()
{

// Create a number that's 0 or 1
srand(time(NULL));
int coin = rand() % 2;

// If number is 0: Heads
// If it is not 0: Tails

if (coin == 0)
{
}
else
{
std::cout << "Tails\n";
}
}
``````

To add to Scott’s excellent reply, you could insert this line of code just below the line with time(NULL) in it:

`std::cout << time(NULL)<< "\n";`

This way, the value that is being used as a pseudorandom number, or a value very close to it, will be displayed, too.

1 Like

Interesting but difficult to learn complex concepts.

1 Like

i’m on the coinflip exercise and the run button is there, but is not actionable, like my cursor doesn’t change when going over it, cant click. nothing. directions are to run the program 5 times… so i cant click net until i run it ://