Teoría

Historia de C++

Palabras reservadas del lenguaje C++

Comentarios en C++

Identificadores en C++

Caracteres en C++

Tipos de datos en C++

Literales en C++

Variables y constantes

Operadores en C++

Casting

Estructura general de un programa C++

Salida con formato. Manipuladores

Leer caracteres y cadenas de caracteres

Estructuras de Control en C++ 

Funciones en C++

Paso de parámetros por valor y por referencia

Ambito de una variable

Arrays. Ejemplos

Paso de arrays como parámetros a funciones

Cadenas de caracteres

Generar números aleatorios

23 comentarios:

  1. Excelente información, se comprende muy bien C++, gracias.

    ResponderEliminar
  2. Por Favor ayuda!
    Realizar un Programa en Java, donde el usuario puede seleccionar en un menu principal las opciones:
    1.Sumatoria
    2. Multiplos de 3

    La primera opcion, debe solicitar un valor "N" para que se muestre como resultado, la sumatoria de todos los numeros desde la unidad hasta el valor de "N" . ( Por ejemplo si se ingresa el número 6, la sumatoria seria : 1+2+3+4+5+6 dando como resultado : 21

    La segunda opcion debe solicitar un valor "N" , y se deben de mostrar los multiplos existentes entre la unidad ingresada ( Por ejemplo si se ingresa el Valo 10, el resultado seria: 3, 6, 9.

    Los metodos a utilizar son:
    1-Para Mostrar el menu y capturar la opcion
    2-para capturar el valor de N.
    3-Para recibir "n" Y MOSTRAR LA SUMATORIA.
    4-Para recibir "n" y mostrar los multiplos de 3

    ResponderEliminar
    Respuestas
    1. Claro. Como te piden utilizar 4 métodos, puedes organizar el programa de la siguiente manera:

      import java.util.Scanner;

      public class MenuMetodos {

      static Scanner teclado = new Scanner(System.in);

      public static void main(String[] args) {

      int opcion;
      int n;

      opcion = mostrarMenu();

      switch (opcion) {
      case 1:
      n = capturarN();
      mostrarSumatoria(n);
      break;

      case 2:
      n = capturarN();
      mostrarMultiplosDe3(n);
      break;

      default:
      System.out.println("Opción no válida.");
      }
      }

      // Método 1: Mostrar menú y capturar opción
      public static int mostrarMenu() {
      System.out.println("===== MENÚ PRINCIPAL =====");
      System.out.println("1. Sumatoria");
      System.out.println("2. Múltiplos de 3");
      System.out.print("Seleccione una opción: ");
      return teclado.nextInt();
      }

      // Método 2: Capturar valor de N
      public static int capturarN() {
      System.out.print("Ingrese el valor de N: ");
      return teclado.nextInt();
      }

      // Método 3: Recibir N y mostrar la sumatoria
      public static void mostrarSumatoria(int n) {
      int suma = 0;

      for (int i = 1; i <= n; i++) {
      suma += i;
      }

      System.out.println("La sumatoria desde 1 hasta " + n + " es: " + suma);
      }

      // Método 4: Recibir N y mostrar los múltiplos de 3
      public static void mostrarMultiplosDe3(int n) {
      System.out.println("Múltiplos de 3 entre 1 y " + n + ":");

      for (int i = 1; i <= n; i++) {
      if (i % 3 == 0) {
      System.out.print(i + " ");
      }
      }
      }
      }

      Ejemplo de ejecución 1
      ===== MENÚ PRINCIPAL =====
      1. Sumatoria
      2. Múltiplos de 3
      Seleccione una opción: 1
      Ingrese el valor de N: 6

      La sumatoria desde 1 hasta 6 es: 21
      Ejemplo de ejecución 2
      ===== MENÚ PRINCIPAL =====
      1. Sumatoria
      2. Múltiplos de 3
      Seleccione una opción: 2
      Ingrese el valor de N: 10

      Múltiplos de 3 entre 1 y 10:
      3 6 9

      Este programa cumple exactamente con los 4 métodos solicitados:

      mostrarMenu()
      capturarN()
      mostrarSumatoria(int n)
      mostrarMultiplosDe3(int n)

      Eliminar
  3. hola buenas noches alguien me puede ayudar con este programa, José tiene un capital de 1.000.000 de pesos que decide invertir en su totalidad, distribuidos en dos negocios, en uno de los negocios gana el 2% mensual y en otro el 3% mensual sobre lo invertido y mes a mes los intereses se van acumulando como capital. Realizar un programa en Java para que conociendo el valor invertido (dado por teclado) en uno de los negocios, se cuente el número de meses que son necesarios para que con estos negocios José pueda comprar un automóvil usado cuyo valor es dado por teclado.

    ResponderEliminar
    Respuestas
    1. ¡Buenas noches! Claro que sí. Primero analicemos el problema:

      José tiene $1.000.000.
      Invierte una parte en un negocio que genera 2% mensual.
      El resto lo invierte en otro negocio que genera 3% mensual.
      Los intereses se acumulan al capital (interés compuesto).
      Se ingresa por teclado:
      El valor invertido en el negocio del 2%.
      El valor del automóvil.
      El programa debe calcular cuántos meses son necesarios para que el dinero acumulado alcance o supere el valor del automóvil.
      Lógica
      Capital total = 1.000.000
      Inversión 1 = valor ingresado.
      Inversión 2 = 1.000.000 - inversión 1.
      Cada mes:
      inversión1 = inversión1 × 1.02
      inversión2 = inversión2 × 1.03
      Se suman ambas inversiones.
      Se cuentan los meses hasta que el total sea mayor o igual al valor del automóvil.
      Programa en Java
      import java.util.Scanner;

      public class InversionJose {

      public static void main(String[] args) {

      Scanner teclado = new Scanner(System.in);

      double capitalTotal = 1000000;
      double inversion2Porc;
      double inversion3Porc;
      double valorAuto;
      int meses = 0;

      System.out.print("Ingrese el valor invertido al 2%: ");
      inversion2Porc = teclado.nextDouble();

      inversion3Porc = capitalTotal - inversion2Porc;

      System.out.print("Ingrese el valor del automóvil: ");
      valorAuto = teclado.nextDouble();

      double total = inversion2Porc + inversion3Porc;

      while (total < valorAuto) {

      inversion2Porc = inversion2Porc * 1.02;
      inversion3Porc = inversion3Porc * 1.03;

      total = inversion2Porc + inversion3Porc;
      meses++;
      }

      System.out.println("\nMeses necesarios: " + meses);
      System.out.println("Capital acumulado: $" + total);

      teclado.close();
      }
      }
      Ejemplo

      Entrada:

      Ingrese el valor invertido al 2%: 400000
      Ingrese el valor del automóvil: 1500000

      Salida aproximada:

      Meses necesarios: 14
      Capital acumulado: $1519xxx.xx

      Eliminar
  4. Esta muy facil, sino puedes retirate de la programacion xd

    ResponderEliminar
  5. HOLA QUE TAL ME PODRÍAN APOYAR POR FAVOR CON ESTE TEMA
    Haciendo uso de la estructura dinámica PILA:
    Crear un programa que calcule los múltiplos de 3 comprendidos entre el 1 y el 22 y los inserte en una PILA desplegando este proceso en pantalla.
    Posteriormente la PILA deberá ser vaciada, desplegando en pantalla el orden de salida de los elementos.

    ResponderEliminar
    Respuestas
    1. Hola Que tal, oye de casualidad si pudiste realizar ese programa o no? todavía necesitas apoyo?

      Eliminar
    2. Hola me podrias a ayudar con el codigo, no logro agregar la funcion que calcula el multiple de 3 de 1 a 22.

      Eliminar
    3. ¡Claro! El ejercicio pide utilizar una PILA (Stack), por lo que debes:

      Encontrar los múltiplos de 3 entre 1 y 22.
      Insertarlos en una pila mostrando cada inserción.
      Vaciar la pila mostrando cada extracción.
      Recordar que una pila trabaja con el principio LIFO (Last In, First Out): el último que entra es el primero que sale.
      Múltiplos de 3 entre 1 y 22
      3, 6, 9, 12, 15, 18, 21
      Programa en Java
      import java.util.Stack;

      public class PilaMultiplos {

      public static void main(String[] args) {

      Stack pila = new Stack<>();

      System.out.println("INSERTANDO ELEMENTOS EN LA PILA:");

      for (int i = 1; i <= 22; i++) {
      if (i % 3 == 0) {
      pila.push(i);
      System.out.println("Insertado: " + i);
      }
      }

      System.out.println("\nVACIANDO LA PILA:");

      while (!pila.isEmpty()) {
      int elemento = pila.pop();
      System.out.println("Sale: " + elemento);
      }
      }
      }
      Salida esperada
      INSERTANDO ELEMENTOS EN LA PILA:
      Insertado: 3
      Insertado: 6
      Insertado: 9
      Insertado: 12
      Insertado: 15
      Insertado: 18
      Insertado: 21

      VACIANDO LA PILA:
      Sale: 21
      Sale: 18
      Sale: 15
      Sale: 12
      Sale: 9
      Sale: 6
      Sale: 3
      Explicación
      push() inserta elementos en la pila.
      pop() extrae el elemento que está en la cima.
      isEmpty() verifica si la pila está vacía.
      Como la pila es LIFO, los elementos salen en orden inverso al que entraron.

      Eliminar
    4. Para Juan, aquí va el desarrollo:

      ¡Claro! Para ayudarte mejor, sería ideal que compartieras el código que ya tienes.

      Mientras tanto, si solo necesitas la función que encuentre los múltiplos de 3 entre 1 y 22 y los agregue a una pila, podría ser algo así:

      public static void cargarMultiplosDe3(Stack pila) {

      for (int i = 1; i <= 22; i++) {
      if (i % 3 == 0) {
      pila.push(i);
      System.out.println("Insertado en la pila: " + i);
      }
      }
      }

      Y desde el main la llamarías así:

      Stack pila = new Stack<>();

      cargarMultiplosDe3(pila);
      ¿Cómo funciona?
      El ciclo recorre los números del 1 al 22.
      i % 3 == 0 verifica si el número es múltiplo de 3.
      push(i) inserta el número en la pila.
      Se muestra en pantalla cada inserción.

      Si además quieres vaciar la pila:

      while (!pila.isEmpty()) {
      System.out.println("Sale: " + pila.pop());
      }

      Esto mostrará:

      Insertado en la pila: 3
      Insertado en la pila: 6
      Insertado en la pila: 9
      Insertado en la pila: 12
      Insertado en la pila: 15
      Insertado en la pila: 18
      Insertado en la pila: 21

      Sale: 21
      Sale: 18
      Sale: 15
      Sale: 12
      Sale: 9
      Sale: 6
      Sale: 3

      Eliminar
  6. HOLA ME PUEDEN AYUDAR CON ESTO EN DEV C++
    Se quiere realizar un programa que lea por teclado las 5
    notas obtenidas por un alumno A continuación debe
    mostrar todas las notas, la nota media, la nota más alta
    que ha sacado y la menor.

    ResponderEliminar
    Respuestas
    1. ¡Claro! Este ejercicio se puede resolver utilizando un arreglo (vector) para almacenar las 5 notas, y luego recorrerlo para calcular la media, la nota mayor y la menor.

      #include

      using namespace std;

      int main() {

      float notas[5];
      float suma = 0, promedio;
      float mayor, menor;

      // Lectura de las 5 notas
      for(int i = 0; i < 5; i++) {
      cout << "Ingrese la nota " << i + 1 << ": ";
      cin >> notas[i];
      }

      // Inicializar mayor y menor con la primera nota
      mayor = notas[0];
      menor = notas[0];

      // Mostrar notas y calcular suma, mayor y menor
      cout << "\nNotas ingresadas:\n";

      for(int i = 0; i < 5; i++) {
      cout << notas[i] << " ";

      suma += notas[i];

      if(notas[i] > mayor) {
      mayor = notas[i];
      }

      if(notas[i] < menor) {
      menor = notas[i];
      }
      }

      promedio = suma / 5;

      cout << "\n\nNota media: " << promedio;
      cout << "\nNota mas alta: " << mayor;
      cout << "\nNota mas baja: " << menor;

      return 0;
      }
      Ejemplo de ejecución
      Ingrese la nota 1: 15
      Ingrese la nota 2: 18
      Ingrese la nota 3: 12
      Ingrese la nota 4: 20
      Ingrese la nota 5: 16

      Notas ingresadas:
      15 18 12 20 16

      Nota media: 16.2
      Nota mas alta: 20
      Nota mas baja: 12

      Este código funciona perfectamente en Dev-C++ y cumple con los requisitos:

      Leer 5 notas.
      Mostrar todas las notas.
      Calcular la nota media.
      Encontrar la nota más alta.
      Encontrar la nota más baja.

      Eliminar
  7. programa que imprima el 25% del total del valor de cada uno de los elementos de un vector de 12 posiciones.

    ResponderEliminar
    Respuestas
    1. Si el ejercicio pide imprimir el 25% del valor de cada elemento de un vector de 12 posiciones, puedes hacerlo así:

      Java
      import java.util.Scanner;

      public class Vector25Porciento {
      public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);

      double[] vector = new double[12];

      // Llenar el vector
      for (int i = 0; i < 12; i++) {
      System.out.print("Ingrese el valor de la posición " + i + ": ");
      vector[i] = sc.nextDouble();
      }

      // Mostrar el 25% de cada elemento
      System.out.println("\n25% de cada elemento:");
      for (int i = 0; i < 12; i++) {
      System.out.println("Elemento " + i + ": " + (vector[i] * 0.25));
      }

      sc.close();
      }
      }
      C++
      #include
      using namespace std;

      int main() {
      double vector[12];

      // Llenar el vector
      for (int i = 0; i < 12; i++) {
      cout << "Ingrese el valor de la posicion " << i << ": ";
      cin >> vector[i];
      }

      // Mostrar el 25% de cada elemento
      cout << "\n25% de cada elemento:\n";
      for (int i = 0; i < 12; i++) {
      cout << "Elemento " << i << ": " << vector[i] * 0.25 << endl;
      }

      return 0;
      }
      Ejemplo

      Si el vector contiene:

      100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200

      La salida será:

      25
      50
      75
      100
      125
      150
      175
      200
      225
      250
      275
      300

      Porque el 25% de un número se calcula como:

      25% = valor × 0.25

      Eliminar
  8. Alguien sabe del héroe que hizo este blog?

    ResponderEliminar
  9. *Una empresa desea realizar un programa que permita ingresar los dólares que posee en la
    cuenta bancaria y también le permita ingresar el sueldo de cada uno de sus empleados (en
    total tiene solo 3 empleados), luego quiere se verifique si la suma de los 3 sueldo de los
    empleados ingresados es suficiente con los dólares que posee en la cuenta bancaria. En
    caso de ser suficiente el dinero en el banco entonces mostrar un mensaje en donde indique
    el saldo que le queda en su cuenta bancaria al momento de pagar el sueldo, caso contrario
    si no hay el saldo suficiente mostrar un mensaje de cuantos dólares le falta para pagar el
    sueldo de sus empleados. me podrian ayudar es par un atarea

    ResponderEliminar
    Respuestas
    1. ¡Claro! La lógica del ejercicio es:

      Ingresar el dinero disponible en la cuenta bancaria.
      Ingresar los sueldos de 3 empleados.
      Sumar los 3 sueldos.
      Comparar la suma con el saldo de la cuenta:
      Si el saldo alcanza, mostrar cuánto dinero queda.
      Si no alcanza, mostrar cuánto dinero falta.
      Java
      import java.util.Scanner;

      public class Empresa {
      public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);

      double saldoBanco;
      double sueldo1, sueldo2, sueldo3;
      double totalSueldos;

      System.out.print("Ingrese el saldo de la cuenta bancaria: ");
      saldoBanco = sc.nextDouble();

      System.out.print("Ingrese el sueldo del empleado 1: ");
      sueldo1 = sc.nextDouble();

      System.out.print("Ingrese el sueldo del empleado 2: ");
      sueldo2 = sc.nextDouble();

      System.out.print("Ingrese el sueldo del empleado 3: ");
      sueldo3 = sc.nextDouble();

      totalSueldos = sueldo1 + sueldo2 + sueldo3;

      if (saldoBanco >= totalSueldos) {
      System.out.println("El dinero es suficiente para pagar los sueldos.");
      System.out.println("Saldo restante: $" + (saldoBanco - totalSueldos));
      } else {
      System.out.println("El dinero no es suficiente para pagar los sueldos.");
      System.out.println("Faltan: $" + (totalSueldos - saldoBanco));
      }

      sc.close();
      }
      }
      C++
      #include
      using namespace std;

      int main() {
      double saldoBanco;
      double sueldo1, sueldo2, sueldo3;
      double totalSueldos;

      cout << "Ingrese el saldo de la cuenta bancaria: ";
      cin >> saldoBanco;

      cout << "Ingrese el sueldo del empleado 1: ";
      cin >> sueldo1;

      cout << "Ingrese el sueldo del empleado 2: ";
      cin >> sueldo2;

      cout << "Ingrese el sueldo del empleado 3: ";
      cin >> sueldo3;

      totalSueldos = sueldo1 + sueldo2 + sueldo3;

      if (saldoBanco >= totalSueldos) {
      cout << "El dinero es suficiente para pagar los sueldos." << endl;
      cout << "Saldo restante: $" << (saldoBanco - totalSueldos) << endl;
      } else {
      cout << "El dinero no es suficiente para pagar los sueldos." << endl;
      cout << "Faltan: $" << (totalSueldos - saldoBanco) << endl;
      }

      return 0;
      }
      Ejemplo de ejecución

      Entrada:

      Saldo banco: 5000
      Sueldo 1: 1200
      Sueldo 2: 1300
      Sueldo 3: 1000

      Salida:

      El dinero es suficiente para pagar los sueldos.
      Saldo restante: $1500

      Eliminar
  10. Los operarios de una empresa trabajan en dos turnos, uno diurno (D) y otro nocturno (N).
    Realizar un programa que calcule el jornal de un operario, sabiendo que, para el turno
    nocturno, el pago es de $4.5 la hora, y para el turno diurno de $3.5 la hora. Además, si es
    domingo, hay una paga adicional de $1.5 la hora.

    ResponderEliminar
    Respuestas
    1. ¡Claro! Para resolver este ejercicio se deben ingresar:

      El turno del operario (D para diurno o N para nocturno).
      La cantidad de horas trabajadas.
      Si trabajó en domingo o no.

      Luego calcular el jornal según las reglas:

      Turno diurno: $3.5 por hora
      Turno nocturno: $4.5 por hora
      Si es domingo: +$1.5 por cada hora trabajada
      Java
      import java.util.Scanner;

      public class JornalOperario {
      public static void main(String[] args) {

      Scanner sc = new Scanner(System.in);

      char turno;
      int horas;
      double pagoHora, jornal;
      char domingo;

      System.out.print("Ingrese el turno (D=Diurno, N=Nocturno): ");
      turno = sc.next().toUpperCase().charAt(0);

      System.out.print("Ingrese las horas trabajadas: ");
      horas = sc.nextInt();

      System.out.print("¿Es domingo? (S/N): ");
      domingo = sc.next().toUpperCase().charAt(0);

      if (turno == 'D') {
      pagoHora = 3.5;
      } else {
      pagoHora = 4.5;
      }

      if (domingo == 'S') {
      pagoHora += 1.5;
      }

      jornal = horas * pagoHora;

      System.out.println("El jornal del operario es: $" + jornal);

      sc.close();
      }
      }
      C++
      #include
      #include

      using namespace std;

      int main() {

      char turno, domingo;
      int horas;
      double pagoHora, jornal;

      cout << "Ingrese el turno (D=Diurno, N=Nocturno): ";
      cin >> turno;
      turno = toupper(turno);

      cout << "Ingrese las horas trabajadas: ";
      cin >> horas;

      cout << "¿Es domingo? (S/N): ";
      cin >> domingo;
      domingo = toupper(domingo);

      if (turno == 'D')
      pagoHora = 3.5;
      else
      pagoHora = 4.5;

      if (domingo == 'S')
      pagoHora += 1.5;

      jornal = horas * pagoHora;

      cout << "El jornal del operario es: $" << jornal << endl;

      return 0;
      }
      Ejemplo 1

      Entrada:

      Turno: D
      Horas: 8
      Domingo: N

      Cálculo:

      8 × 3.5 = $28

      Salida:

      El jornal del operario es: $28
      Ejemplo 2

      Entrada:

      Turno: N
      Horas: 8
      Domingo: S

      Cálculo:

      Pago por hora = 4.5 + 1.5 = 6.0
      Jornal = 8 × 6.0 = $48

      Salida:

      El jornal del operario es: $48

      Este ejercicio es un buen ejemplo de uso de condicionales (if) y entrada de datos por teclado.

      Eliminar
  11. Ejercicio propuesto:

    Una empresa desea realizar un programa que permita:

    Ingresar el saldo disponible en su cuenta bancaria.
    Ingresar el sueldo de 4 empleados.
    Calcular el total de sueldos.

    Luego el programa debe:

    Si el dinero alcanza, mostrar el saldo restante.
    Si no alcanza, mostrar cuánto dinero falta.

    Solución:

    ☕ JAVA
    import java.util.Scanner;

    public class Empresa4Empleados {
    public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    double saldo, sueldo, totalSueldos = 0;

    System.out.print("Ingrese el saldo de la empresa: ");
    saldo = sc.nextDouble();

    for (int i = 1; i <= 4; i++) {
    System.out.print("Ingrese sueldo del empleado " + i + ": ");
    sueldo = sc.nextDouble();
    totalSueldos += sueldo;
    }

    if (saldo >= totalSueldos) {
    System.out.println("El dinero es suficiente.");
    System.out.println("Saldo restante: $" + (saldo - totalSueldos));
    } else {
    System.out.println("El dinero no es suficiente.");
    System.out.println("Faltan: $" + (totalSueldos - saldo));
    }

    sc.close();
    }
    }
    💻 C++
    #include
    using namespace std;

    int main() {

    double saldo, sueldo, totalSueldos = 0;

    cout << "Ingrese el saldo de la empresa: ";
    cin >> saldo;

    for (int i = 1; i <= 4; i++) {
    cout << "Ingrese sueldo del empleado " << i << ": ";
    cin >> sueldo;
    totalSueldos += sueldo;
    }

    if (saldo >= totalSueldos) {
    cout << "El dinero es suficiente." << endl;
    cout << "Saldo restante: $" << (saldo - totalSueldos) << endl;
    } else {
    cout << "El dinero no es suficiente." << endl;
    cout << "Faltan: $" << (totalSueldos - saldo) << endl;
    }

    return 0;
    }

    ResponderEliminar