Codigo para sumar, restar, multiplicar y dividir en C++

Operaciones artimeticas 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;
}


Ejemplo compilado de division,multiplicacion,suma y resta con C++.

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.
Comentarios y preguntas
Cristian:
gracias pero eso es muy avanzado no comprendo los comandos.
Codigazo:
Cristian, ¡animo en el estudio!, llegará el día que lo comprenderá con fluidez, por ahora esfuércese por comprender por separado cada subtema anterior, funciones, variables, y operaciones de entrada y salida, así se le hará fácil entender este.
Claudia :
Gracias creo q ya entendi como hacer la tarea xD
Marlyn daniela:
hola necesito otra respuesta mas comun en los programas
Codigazo:
hola Marlyn daniela, ¿que necesita exactamente?.
Carlos herazo :
si buenas noches es que estoy haciendo una tarea de la universidad que es en c++ el problema dice ¿realice un programa en c++ que calcule el área de un cuadrado dada la formula la cual: A=a2? ¿Cómo puedo hacer eso no entiendo?
Codigazo:
Hola Carlos, en un articulo anterior les compartí como calcular el área y el perímetro de un cuadrado, le invito a que se tome la libertad de implementar el código para la tarea que les han pedido, estoy seguro que lo entenderá con facilidad tras observarlo.
diego :
hola me podrían explicar las funciones que se utilizaron en el programa y también en si todo e programa como se desarrollo y cual es la tarea de cada función por favor se los agradecería mucho
Codigazo:
Hola Diego, la explicación está en el articulo, en todo caso la función cout se utiliza para imprimir algo por consola, la función cin para capturar lo que el usuario escriba en el programa, lo demás son solo un grupo de condicionales que verifican si se cumple la condición o no.

Aquí puede aprender lo básico de las estructuras condicionales.
Anni:
Muchas gracias por la información,a mi me cuesta mucho entender lo de programación...es algo nuevo para mi. Sigan publicando ejemplos me ayudan mucho
Anonimo:
En el primer if (opcion==1) me aparece error expected, before if
Que hago?
Codigazo:
Hola Anonimo, lo que acontece es que ha eliminado algún carácter puede ser un punto y coma en la sentencia que está antes del primer if (opcion==1), si gusta copia y pega directamente el código en su IDE sin cambiarle nada y verá que le funcionará, lo acabo de volver a probar y está funcionando sin errores.
Kira:
hola tengo una duda. ¿Cómo coloco el masaje para que si intentan dividir entre 0 diga? " no se puede dividir entre 0"
Anonimo.:
Gracias hermano, esta mas que excelente tu codigo, esta algo complejo para ser honesto, pero quedo excelente.
Matias:
hola buenas, te hago una consulta en la división si yo divido por cero me saltaría error como tendría que declarar en ese caso

Anónimo:
Hola, entendí en la mayoría el código y te lo agradezco, pero tengo una duda como podría hacer para que saliera después del resultado de la operación una opción que diga: "Desea realizar otra operación?" y luego aparezca si y no, y si si, que haga todo de nuevo... es que tú eres expertx, no se si me di a entender
Jucho:
Muchas gracias, esto me ayudo a comprender mucho. :)
Ángel :
Necesito un programa que precente un menú principal de las operaciones básicas de un vector. Y estoy confundido al final como le puedo hacer
Maria Florencia :
Hola necesito realizar un programa que sólo con el año de nacimiento me de la edad de la persona. Mi idea era hacer año de nacimiento- año actual el tema es que no se como poner los.comandos me podras guiar?
Codigazo:
hola Kira acabo de actualizar en ese caso lo que tiene que ahcer es buscar:
if (opcion==4){
resultado = primero/segundo;
}

Y cambiarlo por:
if (opcion==4){

resultado = primero/segundo;

}
if (opcion==4){
if (segundo==0){
cout <<"No se puede dividir entre 0";
}
else{
resultado = primero/segundo;}
}


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.
Codigazo:
hola Matias, el código acaba de ser actualizado ha sido agregada en el la respuesta que usted busca.
Codigazo:
Hola Anónimo, lo que usted desea hacer se conoce como un menú de opciones, en el enlace anterior he puesto a su disposición una explicación en video acerca de esté procedimiento, se crea utilizando como base una estructura condicional de tipo Switch.
Codigazo:
Ángel, a continuación pongo a su disposición la explicación para la creación de un menú de opciones en C++, solo tendrá que cambiar los mensajes para que el usuario sepa que se le está pidiendo así si el usuario elige calcular la velocidad le pedimos la distancia le pedimos el tiempo hacemos la división automáticamente y le regresamos la velocidad.
Codigazo:
Bienvenida Maria Florencia, claro, lo que ha de hacer es restarle al año actual el año que ingresara el usuario el resultado es la edad del usuario, el siguiente código hace en una sola operación lo que usted ha solicitado:

#include <iostream>
#include <conio.h> // Esta libreria contine la funcion getch para pausar el programa
using namespace std;
int nacimiento, edad;
int main()
{
cout << "Ingrese su año de nacimiento" << endl; //Solicitamos su año de nacimiento
cin >> nacimiento;// Capturamos el año en la variable nacimiento
edad=2021-nacimiento;// Aqui esta la operacion
cout << "Su edad es: " << edad << endl; // Imprimimos por pantalla el resultado
getch();
}


alejandro :
hola me podrian ayudar a hacer un codigo en lenguaje c de multiplicacion
Codigazo:
Hola alejandro, en los códigos anteriores puede multiplicar lo único que necesita es eliminar las sentencias referentes a las otras operaciones, en todo caso le indico que solo necesita la siguiente sentencia para multiplicar

resultado = primero*segundo;


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.
Brenda:
Me podrian ayudar hacer unos codigos de multiplicacion resta y division
katia:
hacer un programa la división de 3 números ingresando por el usuario c++
Codigazo:
Hola Brenda, con el código anterior puede multiplicar, restar, dividir y sumar, si necesita algo mas especifico comparta las instrucciones.
Codigazo:
Hola katia, la instrucción no es especifica ¿los tres números han de dividirse uno entre otro? ejemplo: 8/4/3, ó ¿hace referencia a realizar tres divisiones ingresadas por el usuario? ejemplo: 4/2, 8/5, 3/1, aquí tiene el código para realizar esto ultimo porque es lo que mas tiene lógica.

#include <iostream>
#include <conio.h>

using namespace std;

int contador=0;
float primero=1;
float segundo=1;
float resultado;

int main(){
cout << "Realizaremos 3 divisiones" << endl;
while (contador<3){
cout << "Operacion: " << contador+1 << endl;
cout << "Ingrese un numero: ";
cin >> primero;
cout << "Ingrese otro numero: ";
cin >> segundo;
resultado=primero/segundo;
cout << "El resultado es: " << resultado << endl;;
contador++;
}
getch();
return 0;
}

David:
buenas tardes. prestan el servicio de apoyo de ayudantía para realizar actividades. tengo detalles en la correcta sintaxis en Dev c++ y necesito hacer los arreglos al algoritmo
gracias!
Codigazo:
Hola David, sí claro, envíenos un mensaje al facebook estamos como "Codigazoweb", solo tiene que indicarnos las instrucciones del proyecto que quiere realizar o el código que le presenta errores y el tiempo que dispone para entregar su trabajo, tras evaluarlo nos ponemos en contacto con usted en pocos minutos.
Kimberly:
Hola me pueden ayudar con este ejercicio de programación que dise
Elabore un programa que ingrese dos numeros, calcule y muestre la resta de los dos
Codigazo:
Hola Kimberly, por supuesto le ayudaré.

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.

#include <iostream>
#include <conio.h>

using namespace std;

int contador=0;

float minuendo=1;
float sustraendo=1;
float resultado;

int main(){

cout << "Ingrese un numero: ";
cin >> minuendo;
cout << "Ingrese otro numero: ";
cin >> sustraendo;
resultado=minuendo-sustraendo;

cout << "La resta de los numeros anteriores da como resultado: " << resultado << endl;;

getch();
return 0;
}