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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa operaciones no muy bien acabado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa operaciones no muy bien acabado  (Leído 1,460 veces)
novatus84

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Programa operaciones no muy bien acabado
« en: 16 Octubre 2014, 15:42 pm »

Buenas solo llevo 2 días con c ++ y necesito consejos ya que estoy un poco bloqueado, tengo lo siguiente:
#include <iostream>

using namespace std;

int main() {
    double firstnum; double seconnum; double thirnum; double fournum;
    string operation; string operation2;
    double plus ;double minus; double mul; double div;
   
   
    cout << "Please enter 2 operations: ";
    cin >> firstnum >> operation >> seconnum; // numbers for first operation
    cin >> thirnum >> operation2 >> fournum; // numbers for second numbers
   
    if (operation=="+" || operation=="plus" ) {
        plus = firstnum + seconnum;
        cout << "The first sum is: " << plus << endl;}
   
    if  (operation=="-" || operation=="minus") {
        minus = firstnum - seconnum;
        cout << "The first minus is: " << minus << endl;}
   
    if (operation=="*" || operation=="mul") {
        mul = firstnum * seconnum;
        cout << "The first multiplication is: " << mul << endl;}
    if (operation=="/" || operation=="div"){
        if (seconnum==0) {
            cout << "cero is impossible to operate" << endl;  }
       
        div = firstnum / seconnum ;
        cout << "The first div is: " << div << endl; }
   
   
    if (operation2=="+" || operation2=="plus" ) {
        plus = thirnum + fournum;
        cout << "The second sum is: " << plus << endl;}
   
    if  (operation2=="-" || operation2=="minus") {
        minus = thirnum - fournum;
        cout << "The second minus is: " << minus << endl;}
   
    if (operation2=="*" || operation2=="mul") {
        mul = thirnum * fournum;
        cout << "The second multiplication is: " << mul << endl;}
    if (operation2=="/" || operation2=="div"){
        if (fournum==0) {
            cout << "cero is impossible to operate" << endl; }
       
        div = thirnum / fournum;
        cout << "The second div is: " << div << endl; ;
    }
}

El problema que meto la primera operación al poner una division entre 0 quiero que siga con la segunda operación y no que me diga que es infinito, esta un poco guarrete pero para 2 días que llevo me doy por satisfecho al día de hoy, consejos ayudas? gracias de antemano


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Programa operaciones no muy bien acabado
« Respuesta #1 en: 16 Octubre 2014, 16:10 pm »

La salida que mencionas sucede porque al detectar la división por cero imprimes el mensaje de error pero realizas de todos modos la operación cuando no deberías.

Para solucionarlo debes utilizar una sentencia "if ... else ..." donde si el divisor es cero presentas el mensaje y en caso contrario (divisor diferente de cero) realizas la operación. En el caso de la primera operación el condicional debe cambiarse a:
Código
  1. if (operation == "/" || operation == "div"){
  2.   if (seconnum == 0)
  3.      cout << "cero is impossible to operate" << endl;
  4.   else
  5.      cout << "The first div is: " << (firstnum / seconnum) << endl;
  6. }
El cambio en la segunda operación es similar.

Por ultimo puedes eliminar las variables donde almacenas el resultado (plus, minus, etc.) ya que no son necesarias, puedes imprimir el resultado directamente.

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
novatus84

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Programa operaciones no muy bien acabado
« Respuesta #2 en: 16 Octubre 2014, 16:24 pm »

Muchas gracias!!!! ya lo tengo perfecto, cuando se ve después se ve de otra forma como si fuera una tontería que la era.... jejejej. lo dicho muchas gracias!!
« Última modificación: 16 Octubre 2014, 16:40 pm por novatus84 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Esta bien el programa?
Programación C/C++
Tecnoboy 3 2,316 Último mensaje 2 Octubre 2010, 10:38 am
por Anco
Crear un programa para operaciones con cadenas
Programación C/C++
Montse2293 6 4,230 Último mensaje 3 Enero 2011, 01:54 am
por Leyer
programa para operaciones múltiples no me corre
Programación C/C++
halomar 5 4,012 Último mensaje 25 Marzo 2011, 22:10 pm
por halomar
programa de matriz aver si el programa q estoy haciendo esta bien « 1 2 »
Programación C/C++
eduardo17445 10 6,735 Último mensaje 23 Octubre 2012, 00:11 am
por flony
Ayuda Por Favor, tengo problemas las operaciones del siguiente programa
Programación General
gbo3156 0 1,469 Último mensaje 10 Diciembre 2013, 00:47 am
por gbo3156
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines