potrebna pomoc za c

potrebna pomoc za c

offline
  • djo 
  • Građanin
  • Pridružio: 21 Nov 2005
  • Poruke: 277

kod koji je ispod pisan je u vs6
izracunava mi sve sto se trazi od njega
ali(uvek srecu kvari)kada ubaci da mi ispise poruku za ako je a=0,b=0,c=0 i sl.(sa a,b,c)
napise mi i rezultate za x1 i x2(koji su neki kao -1#z..)
kako to da resim da mi ispise samo poruku bez da racuna x1 i x2


#include <stdio.h> #include<math.h> float x1(); float x2(); float a,b,c,d,x; void main(void) { printf("unesi vrednost a=");    scanf("%f",&a); printf("unesi vrednost b=");    scanf("%f",&b); printf("unesi vrednost c=");    scanf("%f",&c);       d=(b*b)-(4*a*c);       if (d<0) printf("jednacina je kompleksna\n"); else if   (d>0) printf("x1=%.2f\n x2=%.2f\n",x1(),x2()); if  (d==0) { x=(-b)/(2*a); printf("jednacina ima jedno resenje x=%.2f\n",x); }     }           float x1()       {          return (-b+(sqrtf(d)))/(2*a); }       float x2()       {          return (-b-(sqrtf(d)))/(2*a);       }



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Fali ti jos jedan 'else';



offline
  • djo 
  • Građanin
  • Pridružio: 21 Nov 2005
  • Poruke: 277

ne fali nista u tom delu koda ali


hocu da kada mu dodam :if (a==0)
printf("jednacina ima xxx resenje");
da tu zavrsi svoje racunanje i da mi u slucaju da je a=0 ispise samo zeljenu poruku i nista vise

hocu da radi kao u slucajevima sa d=0 i d<0

probaj ako ti nije tesko

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Iz glave, posto nemam VS instaliran:

#include <stdio.h> #include<math.h> float x1(); float x2(); float a,b,c,d,x; void main(void) {    printf("unesi vrednost a=");       scanf("%f",&a);    printf("unesi vrednost b=");       scanf("%f",&b);    printf("unesi vrednost c=");       scanf("%f",&c);          d=(b*b)-(4*a*c);           if (a==0)      printf("poruka o gresci\n");    else    {       if (d<0)         printf("jednacina je kompleksna\n");       else       if   (d>0)         printf("x1=%.2f\n x2=%.2f\n",x1(),x2());       else       if  (d==0)       {         x=(-b)/(2*a);         printf("jednacina ima jedno resenje x=%.2f\n",x);       }    } }       float x1()       {          return (-b+(sqrtf(d)))/(2*a);       }       float x2()       {          return (-b-(sqrtf(d)))/(2*a);       }

Obrati paznju na jos jedno 'else' ispred 'if (d==0)'

offline
  • djo 
  • Građanin
  • Pridružio: 21 Nov 2005
  • Poruke: 277

if (a==0)
printf("poruka o gresci\n");
else
ovo else nisam koristio


a za ovo donje mi je pravio problem kao i sa ubacivanjem a=0
tj.piso mi je sve moguce odgovore umesto samo jednog
valjda me razumes

probacu ujutru sad sam na poslu
pa javljam
ali cenim da ce da sljaka (mada sa c nikad nisi nacisto)

hvala puno

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Hmm.. lose ugnjezdeno grananje.
Probaj
#include <stdio.h> #include<math.h> float x1(); float x2(); float a,b,c,d,x; void main(void) {    printf("unesi vrednost a=");       scanf("%f",&a);    printf("unesi vrednost b=");       scanf("%f",&b);    printf("unesi vrednost c=");       scanf("%f",&c);          d=(b*b)-(4*a*c);          if (a==0)      printf("poruka o gresci\n");    else    {       if (d<0)         printf("jednacina je kompleksna\n");       else       {         if   (d>0)           printf("x1=%.2f\n x2=%.2f\n",x1(),x2());         else         {           x=(-b)/(2*a);           printf("jednacina ima jedno resenje x=%.2f\n",x);         }       }    } } float x1() {    return (-b+(sqrtf(d)))/(2*a); } float x2() {   return (-b-(sqrtf(d)))/(2*a); }
Ne treba ti vise da ispitujes d==0 posto je to jedina preostala mogucnost.

offline
  • djo 
  • Građanin
  • Pridružio: 21 Nov 2005
  • Poruke: 277

evo konacne i radi sve kako treba
mozda nekom zatreba

#include <stdio.h> #include<math.h> float x1(); float x2(); float a,b,c,d,x,r,p; void main(void) {    printf("Unesi vrednost a=");       scanf("%f",&a);    printf("Unesi vrednost b=");       scanf("%f",&b);    printf("Unesi vrednost c=");       scanf("%f",&c);          d=(b*b)-(4*a*c);    if (a!=0 && b!=0 && c==0)    {     x=-b/a;     printf("Jednacina ima jedinstveno resenje x=%.2f\n",x);    }   else if(a==0 && b!=0 && c==0)     printf("Jednacina ima trivijalno resenje\n");        else if (a!=0 && b==0 && c==0) printf("Jednacina ima trivijalno resenje\n");        else if(a==0 && b==0 && c!=0) printf("Jednacina nema resenje\n");    else if (a==0 && b==0 && c==0)    printf("Jednacina je neodredjena\n");    else        {     if (a==0)    {     x=-c/b;    printf("Jednacina je linearna i ima jedno resenje x=%.2f\n",x);    }    else    {       if (d<0)    {     printf("Jednacina ima konjugovano kompleksna resenja.\n");   r=-b/(2*a);   p=(sqrtf(-d))/(2*a);   printf("x1=%.2f+%.2fi\n",r,p);   printf("x2=%.2f-%.2fi\n",r,p);      }       else       {         if   (d>0)           printf("x1=%.2f\n x2=%.2f\n",x1(),x2());         else         {           x=(-b)/(2*a);           printf("Jednacina ima jedno resenje koje predstavlja dvostruku nulu jednacine x=%.2f\n",x); } } } } } float x1() {    return (-b+(sqrtf(d)))/(2*a); } float x2() {   return (-b-(sqrtf(d)))/(2*a); }



[mod by bobby] ubacio program pod CODE tagove

Ko je trenutno na forumu
 

Ukupno su 1005 korisnika na forumu :: 28 registrovanih, 5 sakrivenih i 972 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, acatomic, Apok, Bane san, bestguarder, cenejac111, dane007, dankisha, Dogma21, dule10savic, Georgius, Goran 0000, ILGromovnik, Karla, Kubovac, Lazarus, mercedesamg, milutin134, Nemanja.M, novator, prle122, radionica1, royst33, Stepp, suton, vathra, VP6919, ZetaMan