You'll need to store various bits of information such as where the player was before the move (which you may be able to calculate from the dice roll and current position instead, if storing it is a problem), also implement backward moving (i.e. to restore the board, player position etc to the starting point). When the player reaches the destination square you need to write a block of code that asks the question, gets the answer, determines if that is right or wrong then works out what will happen next. Probably you'll want to implement a "move loop" that continues while they can make moves and terminates when they can no longer make a move, something like:
Code:
player_can_move <= 1
while (player_can_move) loop
  throw dice
  move player
  ask question - is it right?
    if no then move player back* and player_can_move <= 0
end loop
* back to where: back to the starting point for the whole turn or back to the start of the last dice roll?
Presumably the latter otherwise nobody gets anywhere until someone wins.

What can help is if you outline the logic using a semi-formal flowchart; write some text (on paper) that indicates what happens, then some more text that indicates what happens after that, and draw an arrow from one to the other, e.g.
throw dice ---> move player

Keep this fairly free form; you're just playing with ideas here, then just draw arrows and more text while you sort the process out in your head, dry running it as you go. Once you've got a working algorithm, tidy it up if necessary, then you should be able to work out from the arrows where the loops should go, what storage is needed and so on.