gissa.adbDenna kod är public domain. Om ni hittar fel eller vill ändra något i koden blir jag jätteglad om ni skickar dessa ändringar till jesper [at] fantasi [punkt] se.
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
with Ada.Numerics.Discrete_Random;
-- Ett litet gissa talet-spel.
procedure Gissa is
subtype Nummer is Integer range 0 .. 100;
package Random_Number is new Ada.Numerics.Discrete_Random (Nummer);
Tal, G : Nummer;
N : Integer := 0;
Namn : String(1 .. 100);
Seed : Random_Number.Generator;
Antal : Natural;
begin
Random_Number.Reset(Seed);
Tal := Random_Number.Random(Seed);
Put("Ange ditt namn: ");
Get_Line(Namn, Antal);
loop
Put("Ange din gissning: ");
Get(G);
N := N + 1;
if G < Tal then
Put_Line("Nej " & Namn(1 .. Antal) &
", den gissningen var för liten!");
elsif G > Tal then
Put_Line("Nej " & Namn(1 .. Antal) &
", den gissningen var för stor!");
else
Put_Line("Det var rätt!!");
end if;
exit when G = Tal;
end loop;
Put_Line("Det tog dig " & Integer'Image(N) & " gissningar.");
exception
when Constraint_Error =>
put_line("Tyvärr vill jag endast ha gissningar mellan 0 och 100");
end Gissa;
|