Codigo para sumar, restar, multiplicar y dividir en C++
Después de aprender los operadores aritméticos en artículos anteriores, ahora es importante practicarlos un poco, esta vez crearemos un código que nos permite hacer las cuatro operaciones aritméticas básicas en C++, este código es estándar puede ser usado en Visual studio, en Codeblocks, en Dev C++ y en cualquier otro IDE que compile este lenguaje.
Lo que haremos es primero la parte del código donde se le pregunta al usuario que tipo de operación quiere realizar, dependiendo de la opción que seleccione así será la operación que se haga, para esto rellenaremos dos variables donde se le pedirán al usuario 2 números.
Código completo para operaciones matemáticas
#include <iostream>
using namespace std;
int opcion;
float primero=1;
float segundo=1;
float resultado;
int main(){
cout << "Que operacion desea realizar Suma [1] Resta [2] Multiplicacion [3] Division [4]." << endl;
cin >> opcion;
cout << "Ingrese un numero: ";
cin >> primero;
cout << "Ingrese un numero: ";
cin >> segundo;
if (opcion==1){
resultado = primero+segundo;
}
if (opcion==2){
resultado = primero-segundo;
}
if (opcion==3){
resultado = primero*segundo;
}
if (opcion==4){
resultado = primero/segundo;
}
cout << resultado;
cin.ignore();
cin.get(); // *Nota
return 0;
}
Nota: aclaro un par de cosas del código anterior, si alguien se pregunta que hace esa función en la parte inferior llamada cin.get();, la misma es para pausar el sistema algo similar a system(pause); pero sin ese feo mensaje que dice "Presione una tecla para continuar...", y si se preguntan porque el cin.ignore, es porque en ciertos programas si previamente se hizo una salida por pantalla es necesario porque de otra forma el cin.get no funcionaria, en otras palabras las dos funciones juntas hacen este trabajo.
Mejorando el código anterior
¿Qué pasaría si el usuario en lugar de escoger una opción del 1 al 4 escoge 5 o incluso coloca letras?, en tal caso podríamos decir que eso es problema del usuario porque sería algo ilógico, en verdad si el programa se usa mucho en algún momento el usuario se confundiría, pero aun si es curioso y quiere ingresar otra opción para ver qué pasa entonces el programa le pediría los dos números, pero después de pedirlos no le arrojaría el resultado, para evitar todo esto colocamos un if más pero antes de que pida los números y si se ingresa un valor que no sea del 1 al 4 entonces salimos del programa si el usuario selecciona una opción incorrecta, o si prefieren colocan un mensaje pidiéndole que ingrese una opción correcta en lugar de salir del programa, veamos cómo queda.
#include <iostream>
#include <cstdlib> // Incluimos esta libreria que tiene la funcion exit();
using namespace std;
int opcion;
float primero=1;
float segundo=1;
float resultado;
int main(){
cout << "Que operacion desea realizar Suma [1] Resta [2] Multiplicacion [3] Division [4]." << endl;
cin >> opcion;
if (opcion != 1 && opcion != 2 && opcion != 3 && opcion != 4 )
{
exit(EXIT_FAILURE); // Funcion para salir del programa, existen otras pero por ahora con esta está bien.
}
cout << "Ingrese un numero: ";
cin >> primero;
cout << "Ingrese un numero: ";
cin >> segundo;
if (opcion==1){
resultado = primero+segundo;
}
if (opcion==2){
resultado = primero-segundo;
}
if (opcion==3){
resultado = primero*segundo;
}
if (opcion==4){
resultado = primero/segundo;
}
cout << resultado;
cin.ignore();
cin.get(); // *Nota
return 0;
}
Evitar division entre 0
Gracias al usuario Kira que por su deseo de añadir una funcionalidad extra al código ha preguntado ¿Cómo imprimir un mensaje cuando el usuario intente dividir entre 0?.
Es normal que con el código anterior el usuario pueda aunque sea por error intentar dividir entre 0 y como ustedes sabrán desde la escuela se nos enseña que un numero dividido entre 0 es una indefinición, es decir no se ha definido ni se puede, no es 0, no es nada, no es la misma cantidad a dividir ¿Por que?, porque si divido 5 objetos entre 0 personas el resultado no puede ser 0 ya que de hecho no fue dividido puesto que no hay personas entre las cuales dividir.
La solucion es muy sencilla editaremos:
if (opcion==4){
resultado = primero/segundo;
}
Y lo cambiaremos por:
if (opcion==4){
if (segundo==0){
cout <<"No se puede dividir entre 0";
}
else{
resultado = primero/segundo;}
}
Lo que se hace es evaluar con ayuda de otro condicional anidado si la variable "segundo" la cual posee al divisor es igual a 0, de ser asi mostramos el mensaje correspondiente, de lo contrario procedemos a dividir.
Nota: Cero si se puede dividir entre cualquier numero, el resultado es 0, porque si tengo 0 objetos para dividir entre 1,2,100 o mas personas le tocará a cada una 0.
Aquí puede aprender lo básico de las estructuras condicionales.
Que hago?
Lo que hacemos es anidar un condicional dentro de otro, de esta forma en el condicional aninado verificamos si la variable segundo es igual a 0, de ser así el usuario está intentando dividir entre 0 y le mostramos el mensaje correspondiente, de lo contrario ejecutamos la division y mostramos el resultado.
Tomando en cuenta lo anterior puede adaptar los códigos de el articulo a su necesidad eliminando el código excedente. Si necesita algo mas específico no dude en preguntarlo.
gracias!
Elabore un programa que ingrese dos numeros, calcule y muestre la resta de los dos
Las instrucciones dicen "ingrese dos números", es decir tenemos que pedirle al usuario del programa dos números y almacenarlos en una variable para posteriormente operar con ellos. Luego dice "calcule y muestre la resta de los dos ", por lo tanto le restamos el segundo número al primero, y mostramos el resultado, es un programa muy sencillo, con el siguiente código puede hacerlo.
Crear una aplicación que genere un numero aleatorio entre 1 y 120
Si el numero aleatorio esta entre 1-69 reprobado
70-100 aprobado
mayor a 101 valor no aceptado.
me pueden ayudar con ese problemas
Una vez tengamos el numero al azar utilizaremos la estructura de control condicional if(){}else{} donde condicionaremos que si el número es menor o igual a 69 será reprobado, si es mayor y a la vez es menor o igual a 100 será aprobado y si es mayor a 100 será invalido.
El código queda de la siguiente forma
main.cpp:14:5: error: ‘cout’ was not declared in this scope
cout << "Que operacion desea realizar Suma [1] Resta [2] Multiplicacion [3] Division [4]." <<
^~~~
main.cpp:16:5: error: ‘cin’ was not declared in this scope
cin >> opcion;
que hago?
Si es necesario modifique el texto del menú y el condicional donde dice opcion != 1... El codigo anterior acabo de elaborarlo y probarlo, funciona al 100%.
A mí me están pidiendo Realiza un pequeño programa en lenguaje c que sume, reste, multiplique y divida dos número,
Cómo sería para tener ese problema o resultado?
Al pulsar 5 saldrán del programa