Programas Parte 2

Calculadora de Edad Exacta en C++

Este programa realiza las siguientes funciones:

  1. Solicita fecha actual y fecha de nacimiento
  2. Convierte ambas fechas a d铆as totales
  3. Calcula la diferencia en d铆as
  4. Convierte el resultado a a帽os, meses y d铆as
  5. Considera a帽os de 360 d铆as y meses de 30 d铆as
/* PROGRAMA DE C脕LCULO DE EDAD EXACTA */
#include<iostream>
using namespace std;

main() {
    int aa, an, ma, mn, da, dn, fn, fa, eda, edm, edd, a, b;
    
    // Entrada de datos
    cout << " INGRESE EL ANIO ACTUAL ";
    cin >> aa;
    cout << " INGRESE EL MES ACTUAL ";
    cin >> ma;
    cout << " INGRESE EL DIA ACTUAL ";
    cin >> da;
    
    cout << "\nINGRESE EL ANIO NACIMIENTO ";
    cin >> an;
    cout << " INGRESE EL MES DE NACIMIENTO ";
    cin >> mn;
    cout << " INGRESE EL DIA DE NACIMIENTO ";
    cin >> dn;
    
    // C谩lculo de d铆as totales
    fa = aa * 360 + ma * 30 + da;
    fn = an * 360 + mn * 30 + dn;
    
    if (fa > fn) {
        a = fa - fn;
        eda = a / 360;      // C谩lculo de a帽os
        b = a % 360;        // Resto para meses
        edm = b / 30;       // C谩lculo de meses
        edd = b % 30;       // Resto para d铆as
        
        cout << "\nTIENE " << eda 
             << " ANIOS CON " << edm 
             << " MESES Y " << edd 
             << " DIAS DE EDAD";
    } else {
        cout << "\nERROR: Fecha de nacimiento posterior a fecha actual";
    }
}

Ordenar Tres N煤meros en C++

Este programa realiza las siguientes funciones:

  1. Solicita tres valores num茅ricos al usuario
  2. Compara los valores para determinar el mayor, intermedio y menor
  3. Utiliza estructuras condicionales anidadas para las comparaciones
  4. Muestra los n煤meros ordenados de mayor a menor
  5. Maneja diferentes casos de ordenamiento mediante l贸gica condicional
/* PROGRAMA PARA ORDENAR 3 N脷MEROS DE MAYOR A MENOR */
#include<iostream>
using namespace std;

main() {
    int a, b, c, p, s, t;
    
    // Entrada de datos
    cout << " INGRESE EL PRIMER VALOR ";
    cin >> a;
    cout << " INGRESE EL SEGUNDO VALOR ";
    cin >> b;
    cout << " INGRESE EL TERCER VALOR ";
    cin >> c;
    
    // L贸gica de ordenamiento
    if(a > b) {
        p = a;
        s = b;
    } else {
        p = b;
        s = a;
    }
    
    if(c > p) {
        t = s;
        s = p;
        p = c;
    } else {
        if(c > s) {
            t = s;
            s = c;
        } else {
            t = c;
        }
    }
    
    // Mostrar resultados
    cout << p << " " << s << " " << t;
}

Clasificaci贸n de Estudiantes por Notas en C++

Este programa realiza las siguientes funciones:

  1. Solicita tres notas acad茅micas al usuario
  2. Clasifica al estudiante en categor铆as seg煤n sus notas
  3. Utiliza condiciones l贸gicas combinadas con operadores AND/OR
  4. Eval煤a diferentes escenarios de rendimiento acad茅mico
  5. Muestra una clasificaci贸n entre SB, MB, REGULAR o PASAJERO
/* PROGRAMA DE CLASIFICACI脫N DE ESTUDIANTES POR NOTAS */
#include<iostream>
using namespace std;

main() {
    int a, b, c;
    
    // Entrada de notas
    cout << " INGRESE LA PRIMERA NOTA ";
    cin >> a;
    cout << " INGRESE LA SEGUNDA NOTA ";
    cin >> b;
    cout << " INGRESE LA TERCERA NOTA ";
    cin >> c;
    
    // L贸gica de clasificaci贸n
    if (a >= 14 && b >= 14 && c >= 14) {
        cout << " ESTUDIANTE SB ";
    }
    else {
        if ((a >= 14 && b >= 14) || (a >= 14 && c >= 14) || (b >= 14 && c >= 14)) {
            cout << " ESTUDIANTE MB ";
        }
        else {
            if (a >= 14 || b >= 14 || c >= 14) {
                cout << " ESTUDIANTE REGULAR ";
            }
            else {
                cout << " ESTUDIANTE PASAJERO ";
            }
        }
    }
}

Clasificaci贸n Estudiantil por Conteo de Notas en C++

Este programa realiza las siguientes funciones:

  1. Solicita tres notas acad茅micas al usuario
  2. Cuenta la cantidad de notas mayores o iguales a 14
  3. Clasifica al estudiante basado en el conteo de buenas notas
  4. Utiliza un sistema de contador incremental
  5. Muestra categor铆as: SB, MB, Regular o Pasajero
/* PROGRAMA DE CLASIFICACI脫N POR CONTEO DE NOTAS */
#include<iostream>
using namespace std;

main() {
    int a, b, c, ac = 0; // Inicializaci贸n expl铆cita del contador
    
    // Entrada de datos
    cout << " INGRESE LA PRIMERA NOTA ";
    cin >> a;
    cout << " INGRESE LA SEGUNDA NOTA ";
    cin >> b;
    cout << " INGRESE LA TERCERA NOTA ";
    cin >> c;
    
    // Conteo de notas v谩lidas
    if (a >= 14) ac++;
    if (b >= 14) ac++;
    if (c >= 14) ac++;
    
    // Clasificaci贸n seg煤n conteo
    if (ac == 3) {
        cout << " ESTUDIANTE SB";
    }
    else if (ac == 2) {
        cout << " ESTUDIANTE MB";
    }
    else if (ac == 1) {
        cout << " ESTUDIANTE REGULAR";
    }
    else {
        cout << " ESTUDIANTE PASAJERO";
    }
}

Calculadora Multifunci贸n en C++

Este programa realiza las siguientes funciones:

  1. Muestra un men煤 interactivo con 4 opciones
  2. Calcula 谩reas de figuras geom茅tricas (tri谩ngulo, rect谩ngulo, cuadrado)
  3. Calcula velocidad (espacio/tiempo)
  4. Utiliza estructura switch-case para control de flujo
  5. Maneja entrada y validaci贸n de datos num茅ricos
/* PROGRAMA MULTIFUNCI脫N CON MEN脷 INTERACTIVO */
#include<iostream>
using namespace std;

main() {
    int b, h, a;
    char op;
    
    // Mostrar men煤 de opciones
    cout << " OPCIONES DE TRABAJO \n\n";
    cout << " a.- 脕REA TRI脕NGULO \n";
    cout << " b.- 脕REA RECT脕NGULO \n";
    cout << " e.- 脕REA CUADRADO \n";
    cout << " d.- C脕LCULO DE VELOCIDAD \n\n";
    cout << " INGRESE LA OPCI脫N SELECCIONADA: ";
    cin >> op;

    switch(op) {
        case 'a': // Tri谩ngulo
            cout << "\nINGRESE EL VALOR DE LA BASE: ";
            cin >> b;
            cout << "INGRESE EL VALOR DE LA ALTURA: ";
            cin >> h;
            a = b * h / 2;
            cout << "\nEL 脕REA DEL TRI脕NGULO ES: " << a;
            break;
            
        case 'b': // Rect谩ngulo
            cout << "\nINGRESE EL VALOR DE LA BASE: ";
            cin >> b;
            cout << "INGRESE EL VALOR DE LA ALTURA: ";
            cin >> h;
            a = b * h;
            cout << "\nEL 脕REA DEL RECT脕NGULO ES: " << a;
            break;
            
        case 'e': // Cuadrado
            cout << "\nINGRESE EL VALOR DEL LADO: ";
            cin >> b;
            a = b * b;
            cout << "\nEL 脕REA DEL CUADRADO ES: " << a;
            break;
            
        case 'd': // Velocidad
            int e, t;
            cout << "\nINGRESE EL VALOR DE ESPACIO (m): ";
            cin >> e;
            cout << "INGRESE EL VALOR DE TIEMPO (s): ";
            cin >> t;
            cout << "\nLA VELOCIDAD ES: " << e / t << " m/s";
            break;
            
        default:
            cout << "\nERROR: Opci贸n no v谩lida";
    }
}

Repetici贸n de Palabra con While en C++

Este programa realiza las siguientes funciones:

  1. Solicita un n煤mero de repeticiones al usuario
  2. Limpia la pantalla usando system("cls")
  3. Utiliza estructura while para repetici贸n controlada
  4. Muestra un contador num茅rico junto a la palabra HOLA
  5. Incluye manejo b谩sico de flujo de control
/* PROGRAMA DE REPETICI脫N DE PALABRA CON WHILE */
#include<iostream>
using namespace std;

main() {
    int n, i = 1;
    
    // Entrada de datos
    cout << " REPETICIONES CON WHILE \n";
    cout << " INGRESE EL N脷MERO DE REPETICIONES: ";
    cin >> n;
    
    system("cls"); // Limpiar pantalla (Windows)
    
    // Estructura de repetici贸n
    while(i <= n) {
        cout << i << " HOLA \n";
        i++; // Incremento del contador
    }
}

Repetici贸n con Estructura Do-While en C++

Este programa realiza las siguientes funciones:

  1. Solicita un n煤mero de repeticiones al usuario
  2. Limpia la pantalla con system("cls")
  3. Utiliza estructura do-while para garantizar al menos una ejecuci贸n
  4. Muestra un contador incremental con la palabra HOLA
  5. Demuestra el flujo de control post-condition
/* PROGRAMA DE REPETICI脫N CON DO-WHILE */
#include<iostream>
using namespace std;

main() {
    int n, i;
    
    // Configuraci贸n inicial
    cout << " REPETICIONES CON DO-WHILE \n";
    cout << " INGRESE EL N脷MERO DE REPETICIONES: ";
    cin >> n;
    
    system("cls"); // Limpieza de pantalla (Windows)
    
    i = 1; // Inicializaci贸n del contador
    
    // Estructura de repetici贸n do-while
    do {
        cout << i << " HOLA \n";
        i++; // Actualizaci贸n del contador
    } while(i <= n); // Verificaci贸n post-ejecuci贸n
}

Repetici贸n con Estructura For en C++

Este programa realiza las siguientes funciones:

  1. Solicita un n煤mero de repeticiones al usuario
  2. Limpia la pantalla usando system("cls")
  3. Utiliza estructura for para control de repeticiones
  4. Muestra un contador con la palabra HOLA
  5. Demuestra el uso b谩sico de bucles controlados
/* PROGRAMA DE REPETICI脫N CON FOR */
#include<iostream>
using namespace std;

main() {
    int n;
    
    // Entrada de datos
    cout << " REPETICIONES CON FOR \n";
    cout << " INGRESE EL N脷MERO DE REPETICIONES: ";
    cin >> n;
    
    system("cls"); // Limpieza de pantalla (Windows)
    
    // Estructura for corregida
    for(int i = 1; i <= n; i++) {
        cout << i << " HOLA \n";
    }
}

Repetici贸n Controlada con While en C++

Este programa realiza las siguientes funciones:

  1. Solicita un n煤mero de repeticiones al usuario
  2. Limpia la pantalla con system("cls")
  3. Utiliza estructura while para control de flujo
  4. Muestra un contador num茅rico incremental
  5. Garantiza la ejecuci贸n exacta de N repeticiones
/* PROGRAMA DE REPETICI脫N CON WHILE MEJORADO */
#include<iostream>
using namespace std;

main() {
    int n, i;
    
    // Configuraci贸n inicial
    cout << " REPETICIONES CON WHILE \n";
    cout << " INGRESE EL N脷MERO DE REPETICIONES: ";
    cin >> n;
    
    system("cls"); // Limpieza de pantalla (Windows)
    
    i = 1; // Inicializaci贸n del contador
    
    // Estructura de control while
    while(i <= n) {
        cout << i << " HOLA \n";
        i++; // Actualizaci贸n del contador
    }
}

Sumatoria de N Valores en C++

Este programa realiza las siguientes funciones:

  1. Solicita la cantidad de n煤meros a sumar
  2. Utiliza estructura do-while para lectura de valores
  3. Realiza acumulaci贸n de la suma en cada iteraci贸n
  4. Muestra el resultado total de la sumatoria
  5. Implementa contador autom谩tico de ingresos
/* PROGRAMA DE SUMATORIA DE VALORES */
#include<iostream>
using namespace std;

main() {
    int n, i, x, s;
    
    // Configuraci贸n inicial
    cout << " INGRESE LA CANTIDAD DE NUMEROS A LEER: ";
    cin >> n;
    
    i = 1; // Contador de iteraciones
    s = 0; // Inicializaci贸n del acumulador

    // Proceso de lectura y suma
    do {
        cout << " INGRESE EL " << i << "潞 VALOR: ";
        cin >> x;
        s += x; // Acumulaci贸n
        ++i; // Incremento del contador
    } while(i <= n);

    // Resultado final
    cout << "\nEL RESULTADO DE LA SUMA ES: " << s;
}

Sumatoria de N Valores con While en C++

Este programa realiza las siguientes funciones:

  1. Solicita la cantidad de n煤meros a sumar
  2. Utiliza estructura while para control de repeticiones
  3. Acumula valores ingresados en variable suma
  4. Muestra resultado final con formato claro
  5. Implementa contador num茅rico para ingresos
/* PROGRAMA DE SUMATORIA CON WHILE MEJORADO */
#include<iostream>
using namespace std;

main() {
    int n, i, x, s;
    
    // Entrada de configuraci贸n
    cout << " INGRESE LA CANTIDAD DE N脷MEROS A LEER: ";
    cin >> n;
    
    // Inicializaci贸n de variables
    i = 1;   // Contador de iteraciones
    s = 0;   // Acumulador de suma

    // Proceso de lectura de valores
    while(i <= n) {
        cout << " INGRESE EL " << i << "潞 VALOR: ";
        cin >> x;
        s += x;  // Acumulaci贸n con operador compuesto
        ++i;     // Incremento del contador
    }

    // Resultado final
    cout << "\nEL RESULTADO DE LA SUMA ES: " << s;
}

Sumatoria de N Valores con For en C++

Este programa realiza las siguientes funciones:

  1. Solicita la cantidad de n煤meros a sumar
  2. Utiliza estructura for para control preciso de iteraciones
  3. Acumula valores ingresados en variable suma
  4. Muestra resultado final con formato claro
  5. Implementa contador autom谩tico en el bucle
/* PROGRAMA DE SUMATORIA CON FOR */
#include<iostream>
using namespace std;

main() {
    int n, x, s;
    
    // Entrada de configuraci贸n
    cout << " INGRESE LA CANTIDAD DE N脷MEROS A LEER: ";
    cin >> n;
    
    // Inicializaci贸n del acumulador
    s = 0;

    // Bucle de recolecci贸n de datos
    for(int i = 1; i <= n; i++) {
        cout << " INGRESE EL " << i << "潞 VALOR: ";
        cin >> x;
        s += x;  // Acumulaci贸n con operador compuesto
    }

    // Resultado final
    cout << "\nEL RESULTADO DE LA SUMA ES: " << s;
}

Generador de Secuencia Num茅rica en C++

Este programa realiza las siguientes funciones:

  1. Solicita al usuario la cantidad de n煤meros a generar
  2. Utiliza un bucle for para control preciso de iteraciones
  3. Muestra una secuencia num茅rica ordenada
  4. Presenta cada n煤mero con su posici贸n en la secuencia
  5. Implementa un contador autom谩tico integrado
/* PROGRAMA GENERADOR DE SECUENCIA NUM脡RICA */
#include<iostream>
using namespace std;

main() {
    int n;
    
    // Entrada de configuraci贸n
    cout << " INGRESE LA CANTIDAD DE N脷MEROS A IMPRIMIR: ";
    cin >> n;
    
    // Generaci贸n de secuencia
    for(int i = 1; i <= n; i++) {
        cout << "\n POSICI脫N " << i << " ➔ VALOR: " << i;
    }
}

Generador de N煤meros Pares en C++

Este programa realiza las siguientes funciones:

  1. Solicita la cantidad de n煤meros pares a generar
  2. Utiliza un algoritmo eficiente para generar pares
  3. Muestra cada n煤mero con su posici贸n en la secuencia
  4. Incrementa de 2 en 2 para garantizar paridad
  5. Mantiene un formato de salida claro y organizado
/* PROGRAMA GENERADOR DE N脷MEROS PARES */
#include<iostream>
using namespace std;

main() {
    int n;
    
    // Entrada de configuraci贸n
    cout << " INGRESE LA CANTIDAD DE N脷MEROS A IMPRIMIR: ";
    cin >> n;
    
    // Generaci贸n de n煤meros pares
    for(int i = 1, j = 2; i <= n; i++, j += 2) {
        cout << "\n EL " << i << "潞 N脷MERO PAR ES: " << j;
    }
}

Generador de N煤meros Impares en C++

Este programa realiza las siguientes funciones:

  1. Solicita la cantidad de n煤meros impares a generar
  2. Utiliza un algoritmo eficiente para generar impares
  3. Muestra cada n煤mero con su posici贸n en la secuencia
  4. Incrementa de 2 en 2 para garantizar imparidad
  5. Mantiene un formato de salida claro y organizado
/* PROGRAMA GENERADOR DE N脷MEROS IMPARES */
#include<iostream>
using namespace std;

main() {
    int n;
    
    // Entrada de configuraci贸n
    cout << " INGRESE LA CANTIDAD DE N脷MEROS A IMPRIMIR: ";
    cin >> n;
    
    // Generaci贸n de n煤meros impares
    for(int i = 1, j = 1; i <= n; i++, j += 2) {
        cout << "\n EL " << i << "潞 N脷MERO IMPAR ES: " << j;
    }
}

Generador de N煤meros Pares con Un Solo Contador

Este programa realiza las siguientes funciones:

  1. Solicita la cantidad de n煤meros pares a generar
  2. Utiliza una variable 煤nica para el c谩lculo
  3. Genera n煤meros pares mediante operaci贸n matem谩tica
  4. Muestra posici贸n y valor correspondiente
  5. Optimiza el uso de variables en memoria
/* PROGRAMA DE N脷MEROS PARES */
#include<iostream>
using namespace std;

main() {
    int n;
    
    // Configuraci贸n inicial
    cout << " INGRESE LA CANTIDAD DE N脷MEROS A IMPRIMIR: ";
    cin >> n;
    
    // Generaci贸n de n煤meros pares
    for(int i = 1; i <= n; i++) {
        cout << "\n POSICI脫N " << i << " ➔ PAR: " << (i * 2);
    }
}

Generador de N煤meros Impares con Un Solo Contador

Este programa realiza las siguientes funciones:

  1. Solicita la cantidad de n煤meros impares a generar
  2. Utiliza f贸rmula matem谩tica directa (2i-1)
  3. Genera la secuencia sin variables temporales
  4. Muestra posici贸n y valor correspondiente
  5. Optimiza el uso de recursos de memoria
/* PROGRAMA DE N脷MEROS IMPARES */
#include<iostream>
using namespace std;

main() {
    int n;
    
    // Configuraci贸n inicial
    cout << " INGRESE LA CANTIDAD DE N脷MEROS A IMPRIMIR: ";
    cin >> n;
    
    // Generaci贸n eficiente de impares
    for(int i = 1; i <= n; i++) {
        cout << "\n POSICI脫N " << i << " ➔ IMPAR: " << (2*i - 1);
    }
}

Generador de Serie Num茅rica Alternante

Este programa genera la siguiente serie matem谩tica:

  1. Patr贸n: 1, -3, 5, -7, 9, -11,...
  2. Cada t茅rmino se calcula como (2n-1) * (-1)n+1
  3. Alterna signos positivos y negativos
  4. Muestra posici贸n y valor de cada t茅rmino
  5. Optimizado con c谩lculo directo sin variables temporales
/* PROGRAMA DE SERIE ALTERNANTE OPTIMIZADO */
#include<iostream>
using namespace std;

main() {
    int n;
    
    // Configuraci贸n inicial
    cout << " INGRESE LA CANTIDAD DE T脡RMINOS A GENERAR: ";
    cin >> n;
    
    // Generaci贸n de la serie
    for(int i = 1; i <= n; i++) {
        int termino = (2*i - 1) * ((i % 2) ? 1 : -1);
        cout << "\n T脡RMINO " << i << " ➔ " << termino;
    }
}

Generador de Serie Aritm茅tica Alternante

Este programa genera la siguiente serie matem谩tica:

  1. Patr贸n: 7, -11, 15, -19, 23, -27...
  2. F贸rmula general: (4n + 3) × (-1)n+1
  3. Alternancia de signos en t茅rminos pares
  4. Incremento constante de 4 unidades en valor absoluto
  5. Optimizado con c谩lculo matem谩tico directo
/* PROGRAMA DE SERIE ARITM脡TICA ALTERNANTE */
#include<iostream>
using namespace std;

main() {
    int n;
    
    // Configuraci贸n inicial
    cout << " INGRESE LA CANTIDAD DE T脡RMINOS A GENERAR: ";
    cin >> n;
    
    // Generaci贸n de la serie optimizada
    for(int i = 1; i <= n; i++) {
        int termino = (4*i + 3) * ((i % 2) ? 1 : -1);
        cout << "\n T脡RMINO " << i << " ➔ " << termino;
    }
}

Generador de Serie Aritm茅tica con While

Este programa genera la siguiente serie matem谩tica:

  1. Patr贸n: 7, -11, 15, -19, 23, -27...
  2. F贸rmula general: (4i + 3) × (-1)i+1
  3. Alternancia de signos en t茅rminos pares
  4. Control de flujo con estructura while
  5. Optimizado con c谩lculo matem谩tico directo
/* PROGRAMA DE SERIE ALTERNANTE CON WHILE */
#include<iostream>
using namespace std;

main() {
    int n, i = 1;
    
    // Configuraci贸n inicial
    cout << " INGRESE LA CANTIDAD DE T脡RMINOS: ";
    cin >> n;

    // Generaci贸n de la serie con while
    while(i <= n) {
        int termino = (4*i + 3) * ((i % 2) ? 1 : -1);
        cout << "\n T脡RMINO " << i << " ➔ " << termino;
        i++;
    }
}

Generador de Serie Aritm茅tica Optimizado

Este programa genera la serie 7, -11, 15, -19... corrigiendo y simplificando la l贸gica original:

  1. F贸rmula general: (4i + 3) × (-1)i+1
  2. Control de signos mediante paridad del 铆ndice
  3. Eliminaci贸n de variables innecesarias
  4. Mecanismo de alternancia simplificado
  5. Mensajes de usuario mejorados
/* PROGRAMA DE SERIE CORREGIDO Y OPTIMIZADO */
#include<iostream>
using namespace std;

main() {
    int n, i = 1;
    
    // Configuraci贸n inicial
    cout << " INGRESE LA CANTIDAD DE T脡RMINOS: ";
    cin >> n;

    // Generaci贸n de la serie con do-while optimizado
    do {
        int termino = (4*i + 3) * ((i % 2) ? 1 : -1);
        cout << "\n T脡RMINO " << i << " ➔ " << termino;
    } while(++i <= n);
}

Generador de Serie con Alternancia Din谩mica

Este programa genera la serie 7, 11, -15, 19, 23, 27, 31, -35... con este patr贸n:

  1. T茅rmino general: 4i + 3
  2. Negativos en posiciones: 3, 8, 15, 24... (diferencias +5, +7, +9...)
  3. Control din谩mico de signos con dos variables
  4. L贸gica simplificada y auto-ajustable
/* PROGRAMA DE SERIE COMPLEJA OPTIMIZADO */
#include<iostream>
using namespace std;

main() {
    int n, i = 1, next_neg = 3, step = 5;
    
    // Configuraci贸n inicial
    cout << " INGRESE LA CANTIDAD DE T脡RMINOS: ";
    cin >> n;

    // Generaci贸n de la serie
    while(i <= n) {
        int termino = 4*i + 3;
        
        if(i == next_neg) {
            termino *= -1;
            next_neg += step;
            step += 2;
        }
        
        cout << "\n " << i << "° T脡RMINO: " << termino;
        i++;
    }
}