Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema ecuacion cuadratica en c

Estas en el tema de Problema ecuacion cuadratica en c en el foro de C/C++ en Foros del Web. Hola mmm miren no tengo ni la menor idea de si esto al menos se podra hacer .... pero mi docente dijo ke hicieramos esto.... ...
  #1 (permalink)  
Antiguo 27/03/2012, 18:28
 
Fecha de Ingreso: marzo-2012
Mensajes: 30
Antigüedad: 12 años
Puntos: 0
Problema ecuacion cuadratica en c

Hola mmm miren no tengo ni la menor idea de si esto al menos se podra hacer .... pero mi docente dijo ke hicieramos esto....
"El problema de la ecuación cuadrática puede ser resuelto también
empleando la estructura “switch”. Elabore un programa que resuelva el
problema con dicha estructura. El programa debe emplear librerías C."
ahora pues solucionar este problema con if,es facil pero solo usando switch??? ya llevo varios dias pensando ... si pudieran ayudarme os agradeceria mucho.... Gracias.
  #2 (permalink)  
Antiguo 27/03/2012, 19:37
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 3 meses
Puntos: 94
Respuesta: Problema ecuacion cuadratica en c

Fijate el post de alejandromi si es q te sirve(usa un switch)
http://www.forosdelweb.com/f96/ecuac...-grado-983486/
  #3 (permalink)  
Antiguo 27/03/2012, 19:39
 
Fecha de Ingreso: marzo-2012
Mensajes: 30
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema ecuacion cuadratica en c

gracias pero el problema es ke no me tienen permitido usar la sentencia if
  #4 (permalink)  
Antiguo 27/03/2012, 20:11
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 3 meses
Puntos: 94
Respuesta: Problema ecuacion cuadratica en c

Osea q no podes usar un if en todo el programa?? mmm va a estar medio dificil xq para hacer esa ecuacion hay que usar por los menos un if
  #5 (permalink)  
Antiguo 27/03/2012, 20:28
 
Fecha de Ingreso: marzo-2012
Mensajes: 30
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema ecuacion cuadratica en c

Si exacto... Pues aparentemente si se puede .....
  #6 (permalink)  
Antiguo 27/03/2012, 20:31
 
Fecha de Ingreso: marzo-2012
Mensajes: 30
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema ecuacion cuadratica en c

Aunque aparentemente se puede usar switch para comparar valores booleanos y eh conseguido hacer un codigo casi funcional solamente que cuando la raiz me resulta negativa no vota los valores que deberia tal vez puedas ayudarme??? aca te pego el codigo:

#include <cstdio>
#include <cmath>

void leerCoeficientes(double &a,double &b,double &c)
{
printf("*****solucion de la ecuacion a*x^2+b*x+c=0 *****\n");
printf("Escriba el coeficiente a: ");
scanf("%lf",&a);
printf("Escriba el coeficiente b: ");
scanf("%lf",&b);
printf("Escriba el coeficiente c: ");
scanf("%lf",&c);
}
void cuadratica(double a, double b, double c, double &r1, double &r2, double &im)
{
double r;
int d;
d=b*b-4*a*c;
printf("Mostrar d= %d \n",d);
switch (true)
{
case 0:
r1= r2=-b/(2*a);
im=0;printf("mostrar im= %g \n",im);break;
case 1:
r=sqrt(d);
r1=(-b+r)/(2*a);
r2=(-b-r)/(2*a);
im=0;printf("mostrar im= %g \n",im);break;
default:
r1=r2=-b/(2*a);
im=sqrt(-d)/(2*a);
printf("mostrar im= %g \n",im);break;
}
}
void mostrar (double a, double b, double c, double r1, double r2, double im)
{
printf("Soluciones de: %gx^2+%gx+%g=o\n",a,b,c);
if (im)
printf("x1 = %.12g+%.12gi\nx2 = %.12g-%.12gi\n ",r1,im,r2,im);
else
printf("x1 = %.12g\nx2= %.12g\n",r1,r2);

}
int main()
{
double a,b,c,r1,r2,im;
leerCoeficientes(a,b,c);
cuadratica(a,b,c,r1,r2,im);
mostrar(a,b,c,r1,r2,im);
return 0;
}
  #7 (permalink)  
Antiguo 27/03/2012, 21:24
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 3 meses
Puntos: 94
Respuesta: Problema ecuacion cuadratica en c

Eso es C++??? solo se C. El switch(true) nunca lo vi si no declaras true primero
  #8 (permalink)  
Antiguo 28/03/2012, 10:55
 
Fecha de Ingreso: marzo-2012
Mensajes: 30
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema ecuacion cuadratica en c

Oh al fin lo resolvi.!! de todos modos gracias x tu ayuda... y pues todo es simplemente c no es ++
  #9 (permalink)  
Antiguo 29/03/2012, 14:07
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 2 meses
Puntos: 22
Respuesta: Problema ecuacion cuadratica en c

Sólo para aclarar dudas, estás utilizando el compilador de C++ por lo tanto es un programa C++ que únicamente hace uso de las librerías de C, la palabra reservada true no existe en lenguaje C, si compilas en C obtendrás errores. Con respecto a utilizar swicth(true) es lo mismo que hacer switch(1), es decir, siempre vas a evaluar para case 1, en C++ por conversión true equivale a 1 y false a 0, la verdad no le encuentro mucho sentido para resolverlo de esa manera. Evalúa el discriminante de la ecuación y con base en esto crea una variable que puedas evaluar con switch, entonces muestras 2 soluciones (raíces), 1 solución, ó ninguna solución en el campo de los números reales; por último, asegúrate de obtener un valor distinto de cero para el coeficiente a, porque si a es cero entonces no es una ecuación de segundo grado, además el código tendrá errores al dividir por cero.

Etiquetas: lenguajec, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:00.