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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema al final con un codigo en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema al final con un codigo en c++  (Leído 1,603 veces)
2ricardo_c

Desconectado Desconectado

Mensajes: 3


Ver Perfil
problema al final con un codigo en c++
« en: 26 Enero 2015, 06:23 am »

me pidieron hacer un programa que resuelva ecuaciones de segundo grado en c++ pero despues de corregir muchos errores, al final sale que el acceso es denegado porque el numero final es uno? soy nuevo en c++ asi que no conozco mucho de eso, que le puedo hacer ahi?? :huh: :huh: :-(

si les sirve aqui esta el codigo:

Código
  1.  

/******************** resolucion de ecuaciones de 2º grado *******************/
//ecuaciones.cpp
//asignar valores y librerias
#include <stdio.h>
#include <stdlib.h>
#include <math.h>



main()
{
    double a, b, c, d, e, x1, x2;
   

    system("cls");
   
    printf("\n introducir los valores de a, b y c\n");
    // escribimos a
    printf(" introducir a\n");
    scanf(" %lf", &a);
    getchar();
    system("cls");
    // escribimos b
    printf(" introducir b\n");
    scanf(" %lf", &b);
    getchar();
    system("cls");
    // escribimos c
    printf(" introducir c\n");
    scanf(" %lf", &c);
    getchar();
    system("cls");
    // mostramos la escuacion a seguir
    printf("                              __2__________  /\n");
    printf(" la escuacion a seguir    x= |(b)-4(a)(c)  -\n");
    printf("                              ----------------\n");
    printf("                                 2(a)\n");
    getchar();
    system("cls");
    ///raiz
    d = b * b - 4 * a *c;
    e = sqrt(d);
           
    // operaciones
    x1 = (-b + e) / (2 * a);
    x2 = (-b - e) / (2 * a);
   
    //resultados
    printf(" x1 = %g\n", x1);
    printf(" x2 = %g\n", x2);
    getchar();
    system("cls");
    printf(" espero que le haya gustado el programa\n vuelva pronto");
     getchar();
    system("cls");
    printf(" este programa fue creado con fines locales");
    getchar();
    exit(0);
}



En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: problema al final con un codigo en c++
« Respuesta #1 en: 26 Enero 2015, 08:35 am »

Así a bote pronto veo un par de errores:

1. Si d = b * b - 4 * a *c es menor que 0, la siguiente instrucción, e = sqrt(d) va a dar error. La raiz de cualquier número negativo da lugar a números complejos y esta función no está preparada para este tipo de cálculos.

2. Si a = 0, el divisor en  (-b + e) / (2 * a) será igualmente 0 y eso resulta en un error en tiempo de ejecución.


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