[your code here]

Matt Soucy msoucy at csh.rit.edu
Fri Feb 17 18:03:43 PST 2012


On 02/17/2012 08:13 PM, Jonathan M Davis wrote:
> On Friday, February 17, 2012 18:50:32 Matt Soucy wrote:
>> #!/usr/bin/rdmd
>> import std.stdio;
>> void main()
>> {
>> uint guesses=0, high=100, low=0, guess=50;
>> char returned;
>> writef("Please choose a number between %s and %s.\n");
>> writef("Press enter to begin.",low,high);
>> readln();
>> checkLoop:
>> do {
>> guess = (high-low)/2+low; // Avoid overflow (shouldn't occur)
>> writef("Is your number %s? [(y)es, (h)igher, (l)ower] ", guess);
>> readf("%c",&returned);
>> readln();
>> switch(returned) {
>> case 'y','Y': break checkLoop;
>> case 'h','H': {low=guess; break;}
>> case 'l','L': {high=guess; break;}
>> default: break;
>> }
>> } while(++guesses);
>> writef("I guessed your number in %s moves!\n", guesses);
>> }
>>
>>
>> This piece is something I wrote quickly for /r/dailyprogrammer (By the
>> way, is the person who has been posting D solutions to that on here?)
>> It's a really simple piece, but it shows %s, breaking from a loop from
>> inside a switch, etc.
>
> Shouldn't it be dmd and not rdmd in the first line?
>
> - Jonathan M Davis

I chose rdmd because I wanted to demonstrate direct running it directly, 
not building it that way.
Out of curiosity, though, is there a specific reason why I should have 
used dmd instead? Without switches, that would just build it...
Thank you,
-Matt Soucy


More information about the Digitalmars-d mailing list