Začínam trochu programovať...

Sekcia: Programovanie 24.06.2007 | 19:26
Avatar Viliam Oravec Kubuntu 10.04 (MSI GX700PX)  Používateľ
Pls. pomôžte. Vytvoril som si taky maly program na vypočet obvodu a obsahu kruhu.
Tu je zdroják:
#include <stdio.h>
int main ()

{
double PI = 3.14;
double polomer, obvod, obsah;
printf ("Zadaj polomer kruhu: " );
scanf ("lg", &polomer);

obvod = 2*PI*polomer;
obsah = PI*polomer*polomer;
printf ("\nObvod kruhu = %g, Obsah kruhu = %g\n", obvod, obsah);

return 0;

}
Ide o to že keď počítam nejaký obvod/obsah tak nikdy nedostanem rovnaký výsledok
Tu je výstup 1:
viliam@viliam-desktop:~$ ./a.out
Zadaj polomer kruhu:100

Obvod kruhu = -3.27291e-38, Obsah kruhu = 8.52859e-77
viliam@viliam-desktop:~$
A tu je výstup 2:
viliam@viliam-desktop:~$ ./a.out
Zadaj polomer kruhu:100

Obvod kruhu = -2.29968e-38, Obsah kruhu = 4.21061e-77
viliam@viliam-desktop:~$

Programujem (teda lepšie učím sa ) asi 24 hod. tak tam asi bude asi milión chýb. Ale kde?
Všichni mněli ruce od krve, jenom já hubu... :)
    • Re: Začínam trochu programovať... 24.06.2007 | 19:41
      samopal   Návštevník
      double polomer, obvod, obsah;
      pokial viem tak v C-cku ak si takto zadefinujes nejake premenne, tak ich musis vynulovat, tj. duble polomer = 0, obvod = 0, obsah = 0;
      ked toto vynulovanie nespravis, program si do tych premennych dohodi nahodne cisla z rozsahu double -> to su tie divne cisla co ti vypisuje
      nie som Cckar, ale zvysok vyzera ok.
    • Re: Začínam trochu programovať... 24.06.2007 | 19:50
      Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
      Chyba je podla mna v tomto riadku: scanf ("lg", &polomer); Chyba tam totiz percento. V premennej "polomer" je teda nejaka hodnota, ktora ale nie je zhodna s tym, co vlozis cez klavesnicu. Nulovat tie premenne v tomto pripade netreba, kedze im v programu hodnotu priradis pred jej pouzitim.
      Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
      • Re: Začínam trochu programovať... 24.06.2007 | 21:59
        Avatar Viliam Oravec Kubuntu 10.04 (MSI GX700PX)  Používateľ
        ah a tak to bol ten zádrhel.

        Zaujímavé je, že na bodkočiarku ma to v gcc upozorní ale na nejaké percento nie.
        Všichni mněli ruce od krve, jenom já hubu... :)
        • Re: Začínam trochu programovať... 24.06.2007 | 22:00
          Avatar Viliam Oravec Kubuntu 10.04 (MSI GX700PX)  Používateľ
          Ehm. no neviete náhodou o nejakej kvalitnej učebnici jazyka C/C++ v pdf alebo inom formáte pre začínajúcich?
          Všichni mněli ruce od krve, jenom já hubu... :)
          • Re: Začínam trochu programovať... 24.06.2007 | 22:25
            Avatar Viliam Oravec Kubuntu 10.04 (MSI GX700PX)  Používateľ
            Som aj ale tupec. Stačilo hladať tu na fóre a našiel som.
            Všichni mněli ruce od krve, jenom já hubu... :)
            • Re: Začínam trochu programovať... 25.06.2007 | 09:59
              Avatar Igor Hlina Mac OS ML  Používateľ
              PI si zadavaj ako konstantu este pred fnc main().
              #define PI 3.14
              while (2*2 == 5) { echo "If you're reading this, something is definitely wrong"; }