gissa.c

Denna 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.


/*
 * Ett enkelt spel, gissa talet.
 * Datorn slumpar ett tal mellan 0 och 99 och låter sedan användaren
 * lista ut vilket tal det var genom att säga om den senaste
 * gissningen var för stor eller för liten.
 */

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main()
{
   int tal;
   int g;
   int n = 0;
   char namn[100];

  /* Hämta ett slumpfrö från klockan och fixa slumptal. Talet blir
   * mellan 0 och 99 eftersom rand() ger ett tal >=0 och <1, det vill
   * säga inte 1.
   */
   srand((unsigned int)time(NULL));
   tal = (int)((rand() / (double)RAND_MAX) * 100);

   printf("Ange ditt namn: ");
   (void)scanf("%s", namn);

   do {
      printf("Ange din gissning: ");
      (void)scanf("%d", &g);
      n++;
      if (g < tal)
         printf("Nej %s, den gissningen var för liten!\n", namn);
      else if (g > tal)
         printf("Nej %s, den gissningen var för stor!\n", namn);
      else
         printf("Det var rätt!!\n");
   } while (g != tal);

   printf("\nBra! Du klarade det på %d gissning", n);
   if (n > 1)
      printf("ar");
   printf(".\n");

   return EXIT_SUCCESS;
}