Newsgroup: it.comp.lang.c
Titolo: Programma per risoluzioni equazioni di 2° grado

ciao a tutti (sono uno studente che è alle prime armi con il C)
sto cercando di fare un programma che risolva le equazioni di secondo grado
utilizzando le funzioni printf e scanf e possibile utilizzare variabili
float ?
come si calcola la radice quadrata? sqr(delta)?
grazie a tutti e scusate la banalità
se qualcuno ne ha uno fatto me lo può inviare per rendermi un po conto?
enrico


é talmente semplice che puoi realizzarlo da solo!...Provaci !

 grazie


double sqrt(double x);  /*prototipo*/
perchč scrivi di nuovo il prototipo se hai gią #incluso<math.h>?
--
Antonio Cuni, 18 anni, studente
Brainbench Certification: 
Master C++: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
http://www.brainbench.com/transcript.jsp?pid=1301688

 --
Volevo solo dire che deve includere math e che il prototipo della funzione é
quello! Non volevo dire che deve mettere il prototipo...pensavo fosse chiaro
con quanto ho detto in seguito!

 > come si calcola la radice quadrata...?
#include <math.h>
ciao  ;-)
xaero





ecco due possibili soluzioni, in una C'è il menu' 
nell' altra no! ciao  a tutti Paolo


 


#include<stdio.h>
#include<MATH.H>


 


double radice1(double,double,double);
double 
discriminante(double ,double ,double ) ;
double radice2(double ,double 
,double );
   
main()
          {char 
c1;
         double 
a,b,c;
            
printf("inserisci il valore di 
a:\n");
             
scanf("%lf",&a);
             
printf("inserisci il valore di 
b:\n");
             
scanf("%lf",&b);
             
printf("inserisci il valore di 
c:\n");
             
scanf("%lf",&c);
            
do
 {


 


  printf("\n MAIN 
MENU':\n"
  "\t\t1- visulizza equazione\n"
  "\t\t2- 
prima radice\n"
      "\t\t3- seconda 
radice\n"
      "\t\t0- 
EXIT.");
  scanf("%d",&c1);


 


 if (c1>3 || c1<0 
)
 printf("ERROR NUMERO ERRATO");
 else {


 


 switch (c1){
case 1 
:
           printf("la tua 
equazione è: %lfx^2+%lfx+%lf=0",a,b,c);


 


     break;
case 2 
:


 


        
printf("x1=%lf",radice1(a,b,c))  ;


 


 


 


     break;
case 3 
:


 


        
printf("x2=%lf",(radice2(a,b,c)) )0 ;


 


 


 


     break;


 


default :
 printf ("END 
COMPUTATION\n");
 break;
 }
 }
   
}
  while (c1 !=0);


 


    return 0 
;
    }
double discriminante(double a,double b,double 
c){  return(b*b-4*a*c);}


 


double radice1(double a,double b,double 
c)


 


                        
{  return ( (-b+sqrt(discriminante(a,b,c))/(2*a)) ) ;}
 double 
radice2(double a,double b,double 
c)
                        
{  return ( (-b-sqrt(discriminante(a,b,c))/(2*a)) ) ;}


 


 


 


 


II soluzione


 


 


 


 


#include<stdio.h>
#include<MATH.H>


 


double radice1(double ,double ,double ) ;
double 
discriminante(double ,double ,double );
 double radice2(double a,double 
b,double c)  
;
                           
main()
           {  
double 
a,b,c;
              
printf("inserisci il valore di 
a:\n");
             
scanf("%lf",&a);
             
printf("inserisci il valore di 
b:\n");
             
scanf("%lf",&b);
             
printf("inserisci il valore di 
c:\n");
             
scanf("%lf",&c);
             
printf("x1=%lf",radice1(a,b,c));
          
printf("x2=%lf",radice2(a,b,c))  ;
 return 0;  
}
 double discriminante(double a,double b,double c){  
return(b*b-4*a*c);}


 


double radice1(double a,double b,double 
c)


 


                        
{  return ( (-b+sqrt(discriminante(a,b,c))/(2*a)) ) ;}
 double 
radice2(double a,double b,double 
c)
                        
{  return ( (-b-sqrt(discriminante(a,b,c))/(2*a)) ) ;}