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

:
se puede un codigo para que los datos de un archivo word se vincule con un archivo excel?
Nayely Ibeth:
AleatorioTarea
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
Codigazo:
En principio vamos a crear el numero al azar con la función "rand();", rand necesita de una semilla que la crearemos con la función "srand()", dentro de srand() introduciremos la función "time()" para que srand tome un numero cambiante y pueda producir números al azar con ayuda de rand.

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

#include <iostream>
#include <time.h>
using namespace std;

int main() {
srand (time(NULL));
int azar = rand() % 120 + 1;
if (azar<=69){
cout << "El numero es " << azar << " Reprobado" << endl;
}
else if (azar>69 && azar<=100) {
cout << "El numero es " << azar << " Aprobado" << endl;
}
else{
cout << "El numero es " << azar << " Valor no aceptado" << endl;
}
system("pause");
return 0;
}
Matu:
Hola, necesito hacer esto para un trabajo de la secu que me pide "crear un programa capaz de realizar la multiplicación de dos números ingresados por teclado sin utilizar el operador "*" de c++. Los valores ingresados podrán ser tanto positivos como negativos"
Codigazo:
Sí Manu, con el codigo anterior puede hacerlo, queda de la siguiente forma:

#include <cstdlib>
#include <iostream>
using namespace std;

int main ()

{
int numero1;
int numero2;
int resultado;

cout << "Ingrese un numero" << endl;
cin >> numero1;
cout << "Ingrese otro numero" << endl;
cin >> numero2;

resultado = numero1 * numero2;

cout << resultado << endl;

system("Pause");
return 0;
}
cobaq:
chido
angel:
Holaa necesito ayuda me sale esto
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?
Codigazo:
Hola Angel, conviene eso se debe a que usted eliminó una de las líneas que le voy a estar mencionando, la eliminó posiblemente de manera accidental, agregue las siguientes líneas donde corresponde según el ejemplo del código de este articulo: "using namespace std;" o "#include <iostream>", las líneas anteriores son necesarias para que se encuentre dónde están declaradas tanto la función cout como la función cin , de lo contrario el compilador no lo sabrá.
miriam:
hola me pueden ayudar con este ejercicio es introducir 2 numeros con decimales para imprimir el resultado de su multiplicacion es con el lenguaje c++
Codigazo:
Claro miriam, con el codigo anterior puede hacerlo, deje nada mas la parte de multiplicar.
Joaquin:
Hola, me podrías ayudar hacer las funciones de las operaciones básicas y otra función que compare menor o igual de dos valores (5 funciones)
Codigazo:
Hola Joaquin, sí, le ayudo, para las 4 operaciones básicas necesita el código anterior, y de hecho ya están hechas más que una ayuda es la solución completa, para comparar si algún número es mayor menor o igual ha de crear una quinta opción y añadir el siguiente código que se encarga de decir si el primer número es mayor menor o igual al segundo número.

if (opcion==5){
if (primero>segundo){
cout << primero << " es mayor que " << segundo << endl;
}
else if (primero<segundo){
cout << primero << " es menor que " << segundo << endl;
}
else{
cout << primero << " es igual que " << segundo << endl;
}
}


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%.
Joseph :
Hola buenas tardes
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?
Codigazo:
Joseph, con el codigo de este articulo podrá hacerlo, solo tiene que copiar y pegarlo en su IDE.
Sonia:
Me podría ayudar con este programa de C++ no lo entiendo.
#include >iostream<
using namespace std;

int main()
{
int OP, val1 val2;
cout<<"/n "OPERACIONES ARITMETICAS";
cout<<"/n 1----- SUMA";
cout<<"/n 2----- RESTA";
cout<<"/n 3----- MULTIPLICACIÓN /n";
cout<<"/n 4----- CALCULAR AREAS;
cout<<"/n 5----- CUADRADO;
cout<<"n "SELECCIONE UNA OPCION :"
cin>>OP;
if OP==1
{

cout<<"/n SUMAR 2 VALORES
cout<<"/n Ingresa primer valor :;
cin>>Vall;
}
Codigazo:
Hola Sonia, el codigo que usted añadió tenia varios errores sintácticos, es decir faltaban ";" al final de algunas sentencias, faltaban comillas de cierre en otras; es decir, lo había copiado mal, ya lo he corregido ahora tiene que seguir desarrollando la parte que falta, pero ahora si compila y hace lo que ha de hacer hasta donde usted lo dejó, si prefiere hacerlo mas rápido puede copiar y pegar el codigo que figura arriba en este articulo, de lo contrario aquí tiene su codigo corregido para continuarlo.

#include <iostream>
using namespace std;

int main()
{
int OP, val1, val2;
cout<<"\n OPERACIONES ARITMETICAS";
cout<<"\n 1----- SUMA";
cout<<"\n 2----- RESTA";
cout<<"\n 3----- MULTIPLICACIÓN /n";
cout<<"\n 4----- CALCULAR AREAS";
cout<<"\n 5----- CUADRADO";
cout<<"\n SELECCIONE UNA OPCION :";
cin>>OP;
if (OP==1)
{

cout<<"/n SUMAR 2 VALORES";
cout<<"/n Ingresa primer valor :";
cin>>val1;
}}

Carlos:
Quería ver información de la resta en c++
Codigazo:
Carlos, me alegra que le sirviese.
Delom:
Como le agrego una opcion 5 al programa que diga salir del sistema.
Codigazo:
Delom, coloque la siguiente función en el codigo del articulo, justo debajo de la linea que contiene el primer "cin".

if (opcion==5){
exit(0);
}


Al pulsar 5 saldrán del programa
Andrea:
Hola, como puedo hacer un programa que cuente del 1 al 100, de 10 en 10
Codigazo:
Hola andrea, con el siguiente codigo podrá hacer lo que que desea.

#include <iostream>

using namespace std;

int numeros=1; // Variable que contara del 1 al 100
int division; // Variable para verificar si el numero actuales divisible entre 10 sin dejar residuo

int main(){

while (numeros<=100)
{
division = numeros%10; // Verificamos si la division entre 10 tiene residuo o no
if (division==0){
cout << numeros << endl;
}
numeros++;
}

return 0;
}
victor:
porque dice en c/c++ si no esta en c?
Codigazo:
Hola victor, C/C++ es la categoría, en la categoría hay tanto de C++ como de C, este articulo está usa codigo de C++
Roberto:
Hola una pregunta, como sería el código para ingresar 4 variables numericas por teclado, que la primera variable se sume con la segunda, la 3era se multiplique con la cuarta, y estos 2 resultados se resten.
Codigazo:
Hola Roberto, con este codigo puede hacer lo que ha pedido

#include <iostream>

int numero1,numero2,numero3,numero4;
int resultado1, resultado2, resultado3;
using namespace std;

int main(){

cout << "Ingrese un numero" << endl;
cin >> numero1;
cout << "Ingrese un segundo numero" << endl;
cin >> numero2;
cout << "Ingrese un tercer numero" << endl;
cin >> numero3;
cout << "Ingrese un cuarto numero" << endl;
cin >> numero4;
resultado1=numero1+numero2;
cout << "La suma es: " << resultado1 << endl;
resultado2=numero3*numero4;
cout << "La multiplicacion es: " << resultado2 << endl;
resultado3=resultado1-resultado2;
cout << "La resta es: " << resultado3 << endl;

system("pause");
}