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 871 korisnika na forumu :: 49 registrovanih, 11 sakrivenih i 811 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: 8u47, A.R.Chafee.Jr., AK - 230, babaroga, Bubimir, darkangel, Dimitrise93, Djokkinen, FileFinder, ikan, ILGromovnik, Istman, Karla, Krusarac, Kubovac, laurusri, Levi, lord sir giga, Maschinekalibar, mercedesamg, Mercury, mile23, milimoj, MiroslavD, moldway, mrav pesadinac, nuke92, oldtimer, operniki, ozzy, pein, Penzula, Polemarchoi, repac, rodoljub, royst33, Shinobi, Singidunumac, Srle993, stankolich, stegonosa, theNedjeljko, tomigun, Tvrtko I, uruk, Vlad000, wizzardone, |_MeD_|, 1107