C programs

Wednesday, November 30, 2005

 

Program za racunanje bodova u pikadu na osnovu koordinata pogotka

  1. /********************************************
  2. *
  3. *  Program koji racuna broj bodova u pikadu na
  4. *  osnovu unesenih kooridata pogotka i ispisuje
  5. *  ih na ekranu!
  6. *
  7. *********************************************/
  8.  
  9. #include <stdio.h>
  10. #include <math.h>
  11.  
  12. main () {
  13.     /***************************************
  14.     *
  15.     *  Deklaracija promenljivih
  16.     *  n je broj koncentricnih krugova na meti
  17.     *  i je pomocna promenljiva za ciklus
  18.     *  bodovi sluze za cuvanje broja bodova
  19.     *  x i y su promenljive za koordinate
  20.     *  d je rastojanje pogotka od koordinatnog pocetka
  21.     *  again je pomocna promenljiva za ponovo izvrsavanje programa
  22.     *               ako korisnik to zeli
  23.     *
  24.     ***************************************/
  25.     int n, i, bodovi;
  26.     double x, y, d;
  27.     char again='y';
  28.  
  29.     /**************************************
  30.     *
  31.     *  Pocenta konverzavija
  32.     *
  33.     **************************************/
  34.     printf("**Program za racunanje bodova na meti u pikadu!**\n");
  35.    
  36.    
  37.     while (again == 'y') {
  38.         /*************************************
  39.         *
  40.         *  Unos broja krugova na meti
  41.         *
  42.         **************************************/
  43.         printf("\n\tUnesite broj koncentricnih krugova na meti: ");
  44.         scanf("%d", &n);
  45.        
  46.        
  47.         /*************************************
  48.         *
  49.         *  Unos prve koordinate mete
  50.         *
  51.         **************************************/
  52.         printf("\n\tUneste prvu koordinatu pogotka: ");
  53.         scanf("%lf", &x);
  54.        
  55.         /*************************************
  56.         *
  57.         *  Unos druge koordinate mete
  58.         *
  59.         **************************************/
  60.         printf("\n\tUnesite drugu koordinatu pogotka: ");
  61.         scanf("%lf", &y);
  62.        
  63.         /*************************************
  64.         *
  65.         *  Racunanje rastojanja pogotka od
  66.         *  sredine mete (koordinatnog pocetka)
  67.         *
  68.         **************************************/
  69.         d = sqrt(pow(x,2) + pow(y,2));
  70.        
  71.         /*************************************
  72.         *
  73.         *  Petlja za proveravanje lokacije pogotka
  74.         *  na meti i racunanje broja bodova
  75.         *
  76.         *  Ukoliko se pogodak nalazi na liniji
  77.         *  racuna se krug blizi centru, odnosno
  78.         *  veci broj bodova
  79.         *
  80.         *************************************/
  81.         for(bodovi=0, i=0; i<n; i++) {
  82.             /****************************
  83.             *
  84.             *  Provera da li se pogodak
  85.             *  nalazi izmedju dva kruga
  86.             *  i na osnovu toga racunanje
  87.             *  broja bodova
  88.             *
  89.             *****************************/
  90.             if ((d<=(i+1)) && (d>(i))) bodovi = n-i;
  91.                        
  92.          }
  93.         
  94.         /*************************************
  95.         *
  96.         *  Ispis rezultata
  97.         *
  98.         **************************************/
  99.         printf("\nBroj bodova je: %d\n", bodovi);
  100.        
  101.         /*************************************
  102.         *
  103.         *  Provera da li korisnik zeli ponovo da
  104.         *  pokrene program
  105.         *
  106.         **************************************/
  107.         scanf("$c", &again)/*Zbog buffera sa tastature */
  108.         printf("\n\n\tDa li zelite da ponovo izvrsite program? (y/n) :");
  109.         scanf("%c", &again);
  110.         while (again != 'y' && again != 'n') {
  111.             printf("\n\t***POGRESAN UNOS***\n\t\tUnesite 'y' za DA ili 'n' za NE!");
  112.             printf("\n\tda li zelite da ponovo izvrsite program? (y/n) :");
  113.             scanf("%c", &again);
  114.             }
  115.  
  116.     }
  117.    
  118.     /***********************************
  119.     *
  120.     *  KRAJ PROGRAMA
  121.     *
  122.     ************************************/
  123.     printf("\n\n\t\t***KRAJ PROGRAMA***\n\n");
  124.  
  125. return 0;
  126. }

Comments: Post a Comment



<< Home

Archives

November 2005   December 2005   January 2006  

This page is powered by Blogger. Isn't yours?