⚙️ C++

Operaciones aritméticas en C++

¿Qué es y para qué sirve?

Imagina que eres cajero en una tienda. Llegan clientes, sumas los precios de los productos, restas descuentos, multiplicas la cantidad por el costo, divides el total entre amigos. Todo esto son operaciones aritméticas. En programación funcionan exactamente igual: la computadora sabe sumar, restar, multiplicar y dividir números. Sin esto no podrías escribir ni una calculadora, ni un juego, ni un programa para calcular salarios.

¿Por qué es importante saberlo? Incluso si quieres hacer un programa simple que pregunte la edad al usuario y diga cuántos años faltan para la jubilación, necesitarás una resta. ¿Quieres calcular cuántas pizzas se necesitan para una fiesta? Necesitas división. Y si escribes un juego donde un personaje se mueve, ahí hay suma y resta de coordenadas constantemente. En resumen, la aritmética es la base, sin ella no se puede avanzar.

Sintaxis y ejemplos de código

En C++, las operaciones aritméticas se ven casi como en matemáticas. Estos son los signos principales:

  • + — suma
  • - — resta
  • * — multiplicación (asterisco, no una equis)
  • / — división (barra inclinada)
  • % — resto de la división (por ejemplo, 7 % 3 = 1, porque 7 se divide entre 3 y sobra 1)

Veamos algunos ejemplos. El código se escribe dentro de main() y los resultados se muestran en pantalla con cout.

#include <iostream>
using namespace std;

int main() {
    // Ejemplo 1: Suma
    int a = 10;
    int b = 5;
    int sum = a + b;  // sumamos a y b, el resultado lo guardamos en sum
    cout << "Suma: " << sum << endl;  // imprimirá: Suma: 15

    // Ejemplo 2: Resta
    int diff = a - b;  // a menos b
    cout << "Resta: " << diff << endl;  // imprimirá: Resta: 5

    // Ejemplo 3: Multiplicación
    int prod = a * b;  // multiplicamos a por b
    cout << "Producto: " << prod << endl;  // imprimirá: Producto: 50

    // Ejemplo 4: División
    int quot = a / b;  // dividimos a entre b
    cout << "Cociente: " << quot << endl;  // imprimirá: Cociente: 2
    // Atención: si los números son enteros, ¡el resultado también es entero! 10 / 3 = 3, no 3.333

    // Ejemplo 5: Resto de la división
    int rem = 10 % 3;  // 10 dividido entre 3, resto 1
    cout << "Resto: " << rem << endl;  // imprimirá: Resto: 1

    return 0;
}

Observa: en el ejemplo 4 dividimos 10 entre 5 y obtuvimos 2. Pero si hubiéramos dividido 10 entre 3, habríamos obtenido 3, no 3.333. Esto es porque int son números enteros, la parte fraccionaria se descarta. Para obtener un resultado fraccionario, necesitas usar double (números con punto decimal).

#include <iostream>
using namespace std;

int main() {
    // Ejemplo con números fraccionarios
    double x = 10.0;
    double y = 3.0;
    double result = x / y;  // ahora la división será exacta
    cout << "Resultado: " << result << endl;  // imprimirá: Resultado: 3.33333

    // Se pueden mezclar enteros y fraccionarios
    int apples = 7;
    double price = 2.5;
    double total = apples * price;  // 7 * 2.5 = 17.5
    cout << "Costo total: " << total << endl;

    return 0;
}

Otro punto importante: el orden de las operaciones. Como en matemáticas, primero la multiplicación y división, luego la suma y resta. Si quieres cambiar el orden, usa paréntesis.

#include <iostream>
using namespace std;

int main() {
    int a = 2;
    int b = 3;
    int c = 4;

    // Sin paréntesis: primero multiplicación, luego suma
    int res1 = a + b * c;  // 2 + 12 = 14
    cout << "Sin paréntesis: " << res1 << endl;

    // Con paréntesis: primero suma, luego multiplicación
    int res2 = (a + b) * c;  // 5 * 4 = 20
    cout << "Con paréntesis: " << res2 << endl;

    return 0;
}

Comparación con Python

Si ya has probado Python, notarás que la aritmética es muy similar. Pero hay un par de diferencias.

En Python:

  • La misma suma +, resta -, multiplicación *, división /.
  • ¡Pero la división en Python siempre da un resultado fraccionario! 10 / 3 será 3.3333, incluso si los números son enteros.
  • Para obtener una división entera (como en C++), debes escribir // (dos barras). Por ejemplo, 10 // 3 dará 3.
  • El resto de la división también es %, como en C++.

Así se ve el mismo código en Python:

# Python
a = 10
b = 3

# División normal — fraccionaria
print(a / b)  # 3.3333333333333335

# División entera (como en C++)
print(a // b)  # 3

# Resto
print(a % b)  # 1

# Todo lo demás es igual
print(a + b)  # 13
print(a - b)  # 7
print(a * b)  # 30

La principal diferencia: en C++ debes declarar el tipo de variable de antemano (int o double), mientras que en Python los tipos se asignan automáticamente. Pero en C++ tú decides si quieres un número entero o fraccionario, lo que te da más control.

Errores típicos de principiantes

Esto es lo que suele salir mal con quienes recién empiezan:

  1. Olvidar el punto y coma — en C++, cada instrucción termina con ;. Si falta, el compilador se queja.
  2. Confundir = y == — = es asignación (guardar un valor), mientras que == es comparación (¿es igual?). En aritmética solo usamos =.
  3. Dividir enteros y esperar un resultado fraccionario — si ambos números son int, el resultado también será int. Si quieres un resultado fraccionario, haz que al menos un número sea double.
  4. Olvidar el orden de las operaciones — 2 + 3 * 4 es 14, no 20. Usa paréntesis si tienes dudas.
  5. Dividir entre cero — ¡no se puede dividir entre cero! El programa fallará con un error. Siempre verifica que el divisor no sea cero.