[your code here]

Matt Soucy msoucy at csh.rit.edu
Fri Feb 17 15:50:32 PST 2012


#!/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.


More information about the Digitalmars-d mailing list