No need to start all over again, that's a minor issue easily addressed. Notice I foresaw this happening and mentioned it in post #5. I recommend you check out the link in that post.
Basically, you are typing 'y' and pressing enter.
This puts two characters on the input buffer: 'y' and '\n' (the newline).
The first "scanf()" reads the 'y' - but the newline is still waiting on the buffer.
When the second "scanf()" is reached, it consumes that newline. This makes it appear as if it were skipped.
A simple solution is to add a space to the format string; that is, change this:
Code:
scanf("%c", &response);
... to this:
Code:
scanf(" %c", &response); // note the space before %
This tells "scanf()" to consume all whitespace before trying to read the next character.