top of page

SEMANA 13 

26 / 02 / 2024

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram

CODIGO:

#include <iostream>
#include <cmath>

using namespace std;

void calcularFlexionHuecos(double F, double L, double D_exterior, double D_interior) {
    double momento_inercia = M_PI / 64 * (pow(D_exterior, 4) - pow(D_interior, 4));
    double esfuerzo_flexion_huecos = (F * L) / momento_inercia;
    cout << "Esfuerzo de flexión en ejes huecos: " << esfuerzo_flexion_huecos << " Pa\n";
}

void calcularFlexionRango(double F, double L, double D_exterior, double D_interior, double rango_min, double rango_max) {
    for (double i = rango_min; i <= rango_max; i += 0.1) {
        double momento_inercia = M_PI / 64 * (pow(D_exterior, 4) - pow(D_interior, 4));
        double esfuerzo_flexion_rango = (F * L) / momento_inercia;
        cout << "Esfuerzo de flexión con variable en rango (" << i << "): " << esfuerzo_flexion_rango << " Pa\n";
    }
}

void calcularFlexionRangoDoble(double F, double L, double D_exterior, double D_interior, double rango_min_1, double rango_max_1, double rango_min_2, double rango_max_2) {
    for (double i = rango_min_1; i <= rango_max_1; i += 0.1) {
        for (double j = rango_min_2; j <= rango_max_2; j += 0.1) {
            double momento_inercia = M_PI / 64 * (pow(D_exterior, 4) - pow(D_interior, 4));
            double esfuerzo_flexion_rango_doble = (F * L) / momento_inercia;
            cout << "Esfuerzo de flexión con variables en rango (" << i << ", " << j << "): " << esfuerzo_flexion_rango_doble << " Pa\n";
        }
    }
}

void ASIGNAR() {
    static int A[10]; // static es necesario para que los valores no se pierdan en el bucle
    for (int i = 1; i <= 10; i++) {
        cout << "A[" << i << "] = ";
        cin >> A[i];
    }
}

void MOSTRAR() {
    static int A[10]; // static es necesario para que los valores no se pierdan en el bucle
    for (int i = 1; i <= 10; i++) {
        cout << "A[" << i << "] = " << A[i] << endl;
    }
}

void SUMAR() {
    static int A[10]; // static es necesario para que los valores no se pierdan en el bucle
    int SUMA = 0;
    for (int i = 1; i <= 10; i++) {
        SUMA = SUMA + A[i];
    }
    cout << "La suma de los elementos del vector A[] = " << SUMA << endl;
}

void CODIGOS() {
    static char B[256]; // static es necesario para que los valores no se pierdan en el bucle
    for (int i = 1; i <= 256; i++) {
        B[i] = char(i);
        cout << "B[" << i << "] = " << B[i] << endl;
    }
    cout << endl;
    cout << char(161);

    cout << "Listado de alfabeto \n";
    for (int i = 65; i <= 90; i++) {
        cout << "B[" << i << "] = " << B[i] << endl;
    }
}

int main() {
    int opcion;
    double F, L, D_exterior, D_interior, rango_min, rango_max, rango_min_1, rango_max_1, rango_min_2, rango_max_2;

    do {
        cout << "Seleccione una opción:\n";
        cout << "1. Calcular esfuerzo de flexión en ejes huecos.\n";
        cout << "2. Calcular esfuerzo de flexión en ejes huecos con una variable en rango.\n";
        cout << "3. Calcular esfuerzo de flexión en ejes huecos con dos variables en rango.\n";
        cout << "4. Asignar datos a un vector.\n";
        cout << "5. Mostrar datos de un vector.\n";
        cout << "6. Suma de los elementos de un vector.\n";
        cout << "7. Listado de códigos ASCII.\n";
        cout << "Ingrese el número de la opción (0 para salir): ";
        cin >> opcion;

        switch (opcion) {
            case 1:
                cout << "Ingrese la fuerza aplicada (F): ";
                cin >> F;
                cout << "Ingrese la longitud del eje (L): ";
                cin >> L;
                cout << "Ingrese el diámetro exterior del eje (D_exterior): ";
                cin >> D_exterior;
                cout << "Ingrese el diámetro interior del eje (D_interior): ";
                cin >> D_interior;
                calcularFlexionHuecos(F, L, D_exterior, D_interior);
                break;

            case 2:
                cout << "Ingrese la fuerza aplicada (F): ";
                cin >> F;
                cout << "Ingrese la longitud del eje (L): ";
                cin >> L;
                cout << "Ingrese el diámetro exterior del eje (D_exterior): ";
                cin >> D_exterior;
                cout << "Ingrese el diámetro interior del eje (D_interior): ";
                cin >> D_interior;
                cout << "Ingrese el valor mínimo del rango: ";
                cin >> rango_min;
                cout << "Ingrese el valor máximo del rango: ";
                cin >> rango_max;
                calcularFlexionRango(F, L, D_exterior, D_interior, rango_min, rango_max);
                break;

            case 3:
                cout << "Ingrese la fuerza aplicada (F): ";
                cin >> F;
                cout << "Ingrese la longitud del eje (L): ";
                cin >> L;
                cout << "Ingrese el diámetro exterior del eje (D_exterior): ";
                cin >> D_exterior;
                cout << "Ingrese el diámetro interior del eje (D_interior): ";
                cin >> D_interior;
                cout << "Ingrese el valor mínimo del primer rango: ";
                cin >> rango_min_1;
                cout << "Ingrese el valor máximo del primer rango: ";
                cin >> rango_max_1;
                cout << "Ingrese el valor mínimo del segundo rango: ";
                cin >> rango_min_2;
                cout << "Ingrese el valor máximo del segundo rango: ";
                cin >> rango_max_2;
                calcularFlexionRangoDoble(F, L, D_exterior, D_interior, rango_min_1, rango_max_1, rango_min_2, rango_max_2);
                break;

            case 4:
                ASIGNAR();
                break;

            case 5:
                MOSTRAR();
                break;

            case 6:
                SUMAR();
                break;

            case 7:
                CODIGOS();
                break;

            default:
                if (opcion != 0)
                    cout << "Opción no válida. Por favor, seleccione nuevamente.\n";
                break;
        }
    } while (opcion != 0);

    return 0;
}

 

image.png
image.png
image.png
image.png
image.png

Contacto

Siempre estoy en búsqueda de nuevas oportunidades. Vamos a conectarnos.

914-123-456

bottom of page