elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Aprendiendo C: Programa resolver ecuaciones de 2º grado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Aprendiendo C: Programa resolver ecuaciones de 2º grado  (Leído 11,982 veces)
raulgombru

Desconectado Desconectado

Mensajes: 30


Almendras y Mejillones! :D


Ver Perfil WWW
Aprendiendo C: Programa resolver ecuaciones de 2º grado
« en: 15 Septiembre 2010, 18:12 pm »

Hola, estoy aprendiendo C y tengo que hacer un programa para resolver ecuaciones de segundo grado. Lo he repasado mil veces y no sé donde está el error que me da el compilador. Dejo el código, a ver si alguien lo ve!

Código
  1. #include <studio.h>
  2. #include <math.h>
  3.  
  4. void main ()
  5.  
  6. {
  7. float a,b,c,x1,x2,d,e,f;
  8.  
  9.  
  10. printf ("QUE paxa, quieres resolver ecuaciones de 2º grado???/n");
  11.  
  12. printf ("¿Cuántas x cuadradas hay?/n");
  13. scanf("%f%*c",&a);
  14.  
  15. printf ("¿Cuántas x hay?/n");
  16. scanf("%f%*c",&b);
  17.  
  18. printf ("¿Cuál es el termino independiente?/n");
  19. scanf("%f%*c",&c);
  20.  
  21.  
  22. if (a<1)
  23.  
  24. {
  25. printf ("Joder, eso no es una ecuación de segundo grado! TT'/n");
  26. }
  27.  
  28. else
  29. {
  30. d=sqrt(b*b-4*a*c);
  31.  
  32. if (d>0)
  33.  
  34. {
  35. printf ("La ecuación no tiene raices reales./n");
  36. }
  37.  
  38. else
  39.  
  40. e=2*a;
  41.  
  42. if (d=0)
  43.  
  44. {x1=-b/e;
  45. printf("La única raiz es %f/n",x1);
  46. }
  47.  
  48. else
  49.  
  50. {
  51.  
  52. x2=(-b-d)/e;
  53. x1=(-b+d)/e;
  54.  
  55.  
  56. printf ("Existen dos raices distintas: x1=%f y x2=%f/n",x1,x2);
  57.  
  58.  
  59. }
  60. }
  61. }
  62. }

Como compilador estoy usando Dev c, aunque también lo he intentado con gcc desde la terminal de ubuntu.

Este es el "resultado de la compilación" que me muestra Dev:

Código:
Compilador: Default compiler
Ejecutando  gcc.exe...
gcc.exe "C:\Users\Raúlg\Desktop\primero.c" -o "C:\Users\Raúlg\Desktop\primero.exe"    -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib"
C:\Users\Raúlg\Desktop\primero.c:1:20: studio.h: No such file or directory
C:\Users\Raúlg\Desktop\primero.c:10:61: warning: trigraph ??/ ignored, use -trigraphs to enable
C:\Users\Raúlg\Desktop\primero.c: In function `main':
C:\Users\Raúlg\Desktop\primero.c:6: warning: return type of 'main' is not `int'

C:\Users\Raúlg\Desktop\primero.c: At top level:
C:\Users\Raúlg\Desktop\primero.c:62: error: syntax error before '}' token

Ejecución Terminada

Pero, claro, el programa no se ejecuta. Alguien sabe qué puede pasar? Gracias!


« Última modificación: 16 Septiembre 2010, 04:09 am por Littlehorse » En línea

Almendras y Mejillones

Voy a ser sincero: No sé muy bien lo que voy a escribir en este blog. Lo que sí sé es que a veces necesito quejarme de cosas que me desagradan, reivindicar otras que no tengo o compartir con otros las que me gustan. ¿Qué mejor medio para hacer todo esto que internet?

http://almendrasymejillones.blogspot.com
pucheto

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: Aprendiendo C: Programa resolver ecuaciones de 2º grado
« Respuesta #1 en: 15 Septiembre 2010, 18:15 pm »

stdio.h en vez de studio.h.


En línea

raulgombru

Desconectado Desconectado

Mensajes: 30


Almendras y Mejillones! :D


Ver Perfil WWW
Re: Aprendiendo C: Programa resolver ecuaciones de 2º grado
« Respuesta #2 en: 15 Septiembre 2010, 18:17 pm »

Ah sí, es verdad. Pero sigue dando el mismo error  :-\
En línea

Almendras y Mejillones

Voy a ser sincero: No sé muy bien lo que voy a escribir en este blog. Lo que sí sé es que a veces necesito quejarme de cosas que me desagradan, reivindicar otras que no tengo o compartir con otros las que me gustan. ¿Qué mejor medio para hacer todo esto que internet?

http://almendrasymejillones.blogspot.com
pucheto

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: Aprendiendo C: Programa resolver ecuaciones de 2º grado
« Respuesta #3 en: 15 Septiembre 2010, 18:20 pm »

main devuelve int no void. y te falta un { ACA VA EL CODIGO } despues de un else
En línea

raulgombru

Desconectado Desconectado

Mensajes: 30


Almendras y Mejillones! :D


Ver Perfil WWW
Re: Aprendiendo C: Programa resolver ecuaciones de 2º grado
« Respuesta #4 en: 15 Septiembre 2010, 18:29 pm »

OK, ya he visto lo del esle y parece que tira, por lo menos ahora se ejecuta. SIn embargo, algunos carácteres como interrogantes y letras con acento salen mal.

A qué te refieres con lo de "main devuelve int no void."?
En línea

Almendras y Mejillones

Voy a ser sincero: No sé muy bien lo que voy a escribir en este blog. Lo que sí sé es que a veces necesito quejarme de cosas que me desagradan, reivindicar otras que no tengo o compartir con otros las que me gustan. ¿Qué mejor medio para hacer todo esto que internet?

http://almendrasymejillones.blogspot.com
Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: Aprendiendo C: Programa resolver ecuaciones de 2º grado
« Respuesta #5 en: 15 Septiembre 2010, 18:34 pm »

A parte de los numerosos errores que puedan existir, te doy unos consejos prácticos que seguro que te sirven:

  • Utiliza int main() en vez de void main().
  • En las instrucciones de una sola sentencia no hace falta poner las llaves.
  • Utiliza las etiquetas GeSHi. En general las utilizas todas mal :xD


Saludos :P

PD: para utilizar GeSHi:

C
[code=c][/code]

C++
[code=cpp][/code]

Lh: No hagas doble post, utiliza el botón modificar.

A qué te refieres con lo de "main devuelve int no void."?

Código:
http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

Saludos :P
« Última modificación: 13 Noviembre 2010, 00:40 am por Horricreu » En línea

raulgombru

Desconectado Desconectado

Mensajes: 30


Almendras y Mejillones! :D


Ver Perfil WWW
Re: Aprendiendo C: Programa resolver ecuaciones de 2º grado
« Respuesta #6 en: 15 Septiembre 2010, 18:38 pm »

Ok, como no entiendo muy bien alguna cosa de la que habláis me miraré el link que me has pasado, a ver si me entero más xD
Gracias de todas maneras
En línea

Almendras y Mejillones

Voy a ser sincero: No sé muy bien lo que voy a escribir en este blog. Lo que sí sé es que a veces necesito quejarme de cosas que me desagradan, reivindicar otras que no tengo o compartir con otros las que me gustan. ¿Qué mejor medio para hacer todo esto que internet?

http://almendrasymejillones.blogspot.com
Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: Aprendiendo C: Programa resolver ecuaciones de 2º grado
« Respuesta #7 en: 15 Septiembre 2010, 18:42 pm »

De nada ::) Pero ya sabes, cualquier duda puedes preguntar y encantado te respondemos.

Saludos :P
En línea

pucheto

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: Aprendiendo C: Programa resolver ecuaciones de 2º grado
« Respuesta #8 en: 16 Septiembre 2010, 03:46 am »

Off Topic: Perdona por la forma tan seca de responder antes, no estaba de buen humor.
En línea

Lolo_Molo

Desconectado Desconectado

Mensajes: 10



Ver Perfil
Re: Aprendiendo C: Programa resolver ecuaciones de 2º grado
« Respuesta #9 en: 18 Septiembre 2010, 17:17 pm »

Este programita le hice en su dia y casualemente aun tengo el codigo fuente, he estado leyendo el tuyo y bueno no he visto cual es el fallo, te dejo el mio hechale un vistazo y ves donde puede estar el fallo porque yo soy de esos que necesitan ver el codigo bastante claro si no, no hay quien encuentre nada :D

Código:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>

/* Fuente: EC2GRADO.C
   Descripción: Resuelve la ecuación de segundo grado ax + bx + c = 0
*/


int main(void) {

/* Declaraciones */
  float a, b, c;         /* Coeficientes ecuación de segundo grado  */
  float x1, x2;          /* Soluciones reales                       */
  float x1real, x2real;  /* Partes reales soluciones complejas      */
  float x1imag, x2imag;  /* Partes imaginarias soluciones complejas */
  float discriminante;

 
/* Presentación */
  system ("cls");  /* Borrado de la pantalla */

  printf("Resolución de la ecuación de segundo grado\n");
  printf("==========================================\n");
  printf("El programa soluciona la ecuación de segundo grado\n");
  printf("                  2                       \n");
  printf("                ax  + bx  + c = 0         \n");

/* Petición de datos */
  printf("Introduzca los coeficientes:\n");
  printf("Coeficiente a?: ");  scanf("%f", &a);
  printf("Coeficiente b?: ");  scanf("%f", &b);
  printf("Coeficiente c?: ");  scanf("%f", &c);

/* Cálculos y resultados */
   discriminante = b*b - 4*a*c;

   printf("\nLa ecuación\n");
   
   printf("%14d\n", 2);
   printf("%12gx + %gx + %g = 0\n", a, b, c);

   printf("tiene por soluciones ");


   if (discriminante == 0)
     {
        printf("una raíz real doble\n");
        x1 = x2 = -b / (2*a);
        printf("x1 = %.2f\n", x1);
        printf("x2 = %.2f\n", x2);
     }
   else if (discriminante > 0)
          {
            printf("dos raíces reales\n");
            x1 = (-b + sqrt(discriminante)) / (2*a);
            x2 = (-b - sqrt(discriminante)) / (2*a);
            printf("x1 = %.2f\n", x1);
            printf("x2 = %.2f\n", x2);
          }
        else
          {
            printf("dos raices complejas conjugadas\n");
            x1real = x2real = -b / (2*a);
            x1imag = sqrt(-discriminante) / (2*a);
            x2imag = -sqrt(-discriminante) / (2*a);
            printf("x1 = (%.2f, %.2fi)\n", x1real, x1imag);
            printf("x2 = (%.2f, %.2fi)\n", x2real, x2imag);
          }
         
   system ("pause");
   return 0;
}


Salu2!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines