Thread overview
Yes or No Options
Jul 27, 2015
Alex
Jul 27, 2015
John Colvin
Jul 27, 2015
Brad Anderson
July 27, 2015
Hey guys!

I am super new to programming and still trying to learn the very basics via a book that I bought.

My problem is the following:



import std.stdio;
import std.string;


void main()
{
	char[] yesno;

	write("Roll the dice: Enter a number!");
	int dieNumber;
	readf(" %s", &dieNumber);

	if (dieNumber < 4) {
	writeln("You won!");
	}
	else if ((dieNumber >= 4) && (dieNumber <= 6)) {
		writeln("I won!");
	}
	else if (dieNumber > 6){
		writeln("ERROR: Invalid Value");
	}

	writeln("Do you want to play again? Y/N?");
	readln(yesno);
	if (yesno == "Y") {
		writeln("Let's go again!");
	}

}


The program quits after "writeln("Do you want to play again? Y/N?");"
It ignores readln.

Furthermore: What I am actually trying to do is: If I type "Y", the programm should just rerun from the beginning.

I am really new to programming and there is probably a much easier way but this is all I know to this point.

Thanks in advance!


July 27, 2015
On Monday, 27 July 2015 at 15:40:56 UTC, Alex wrote:
> Hey guys!
>
> I am super new to programming and still trying to learn the very basics via a book that I bought.
>
> [...]

This isn't the right place for this sort of question, please use http://forum.dlang.org/group/learn, I'm sure someone will be able to help you there.
July 27, 2015
On Monday, 27 July 2015 at 15:40:56 UTC, Alex wrote:
> The program quits after "writeln("Do you want to play again? Y/N?");"
> It ignores readln.
>
> Furthermore: What I am actually trying to do is: If I type "Y", the programm should just rerun from the beginning.
>
> I am really new to programming and there is probably a much easier way but this is all I know to this point.
>
> Thanks in advance!

As John said, the Learn forum is a better spot for this but as far as your problem goes, look into the do-while loop construct. It's perfect for this situation. You could also use "break" inside of an infinite while loop. Good luck.