# data[].attributes.body
#include <iostream>

#include <stack>

#include <string>

using namespace std;

void apilar(stack<int>& pila) {

cout << "Introduce los valores a apilar (deja vacío para terminar):" << endl;

string entrada;

int valor;

do {

getline(cin, entrada);

if (!entrada.empty()) {

valor = stoi(entrada);

pila.push(valor);

}

} while (!entrada.empty());

}

void desapilar(stack<int>& pila) {

if (pila.empty()) {

cout << "La pila está vacía. No se puede desapilar." << endl;

return;

}

cout << "Introduce el valor a desapilar: ";

int valorADesapilar;

cin >> valorADesapilar;

cin.ignore(); // Limpiar el buffer del teclado

stack<int> pilaAux;

bool encontrado = false;

// Desapilar hasta encontrar el valor o vaciar la pila

while (!pila.empty()) {

int valor = pila.top();

pila.pop();

if (valor == valorADesapilar && !encontrado) {

encontrado = true;

cout << "Valor desapilado: " << valor << endl;

} else {

pilaAux.push(valor);

}

}

// Restaurar los elementos en la pila original

while (!pilaAux.empty()) {

pila.push(pilaAux.top());

pilaAux.pop();

}

if (!encontrado) {

cout << "El valor no se encuentra en la pila." << endl;

}

}

void mostrarPila(stack<int> pila) {

if (pila.empty()) {

cout << "La pila está vacía." << endl;

} else {

cout << "Valores en la pila (empezando por el último introducido):" << endl;

while (!pila.empty()) {

cout << pila.top() << " ";

pila.pop();

}

cout << endl;

}

}

void destruirPila(stack<int>& pila) {

while (!pila.empty()) {

pila.pop();

}

cout << "Pila destruida." << endl;

}

int main() {

stack<int> pila;

int opcion;

string continuar;

do {

cout << "Manipulación de pilas en C++" << endl;

cout << "1. Apilar" << endl;

cout << "2. Desapilar" << endl;

cout << "3. Mostrar pila" << endl;

cout << "4. Destruir pila" << endl;

cout << "5. Salir" << endl;

cout << "Elige tu opción: ";

cin >> opcion;

cin.ignore(); // Limpiar el buffer del teclado

switch (opcion) {

case 1:

apilar(pila);

break;

case 2:

desapilar(pila);

break;

case 3:

mostrarPila(pila);

break;

case 4:

destruirPila(pila);

break;

case 5:

cout << "Saliendo del programa." << endl;

break;

default:

cout << "Opción no válida." << endl;

}

if (opcion != 5) {

cout << "Continuar (presiona Enter): ";

getline(cin, continuar);

}

} while (opcion != 5);

return 0; // Devuelve 0 al final del programa

}

# data[].attributes.body
#include

#include

using namespace std;

void gotoxy(int x, int y) {

COORD coord;

coord.X = x;

coord.Y = y;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);

}

void setColor(int foreground, int background) {

HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

WORD wAttributes = foreground + (background << 4);

SetConsoleTextAttribute(hConsole, wAttributes);

}

double calcularSeno(double numero) {

return sin(numero * M_PI / 180.0);

}

double calcularMedia(double numero1, double numero2) {

return (numero1 + numero2) / 2.0;

}

double calcularPotencia(double base, double exponente) {

return pow(base, exponente);

}

int main() {

double numeroSeno, numero1Media, numero2Media, basePotencia, exponentePotencia;

// Establecer color azul en fondo y blanco en texto

setColor(15, 1);

gotoxy(10, 5);

cout << "Calculadora de seno, media y potencia" << endl;

gotoxy(10, 7);

cout << "Ingrese un número para calcular su seno: ";

cin >> numeroSeno;

gotoxy(10, 9);

cout << "Ingrese el primer número para calcular la media: ";

cin >> numero1Media;

gotoxy(10, 11);

cout << "Ingrese el segundo número para calcular la media: ";

cin >> numero2Media;

gotoxy(10, 13);

cout << "Ingrese la base para calcular la potencia: ";

cin >> basePotencia;

gotoxy(10, 15);

cout << "Ingrese el exponente para calcular la potencia: ";

cin >> exponentePotencia;

double senoResultado = calcularSeno(numeroSeno);

double mediaResultado = calcularMedia(numero1Media, numero2Media);

double potenciaResultado = calcularPotencia(basePotencia, exponentePotencia);

gotoxy(10, 17);

cout << "El seno de " << numeroSeno << " es " << senoResultado << endl;

gotoxy(10, 19);

cout << "La media de " << numero1Media << " y " << numero2Media << " es " << mediaResultado << endl;

gotoxy(10, 21);

cout << "La potencia de " << basePotencia << " elevado a " << exponentePotencia << " es " << potenciaResultado << endl;

// Restablecer color por defecto

setColor(15, 0);

return 0;

}

# data[].attributes.attachment_link.readable_text
#include <iostream>
#include <cmath>
#include <windows.h> // para usar gotoxy y cambiar color

using namespace std;

void gotoxy(int x, int y) {
    COORD coord;
    coord.X = x;
    coord.Y = y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}

void setColor(int foreground, int background) {
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    WORD wAttributes = foreground + (background << 4);
    SetConsoleTextAttribute(hConsole, wAttributes);
}

double calcularSeno(double numero) {
    return sin(numero * M_PI / 180.0);
}

double calcularMedia(double numero1, double numero2) {
    return (numero1 + numero2) / 2.0;
}

double calcularPotencia(double base, double exponente) {
    return pow(base, exponente);
}

int main() {
    double numeroSeno, numero1Media, numero2Media, basePotencia, exponentePotencia;

    // Establecer color azul en fondo y blanco en texto
    setColor(15, 1);

    gotoxy(10, 5);
    cout << "Calculadora de seno, media y potencia" << endl;

    gotoxy(10, 7);
    cout << "Ingrese un n�mero para calcular su seno: ";
    cin >> numeroSeno;

    gotoxy(10, 9);
    cout << "Ingrese el primer n�mero para calcular la media: ";
    cin >> numero1Media;

    gotoxy(10, 11);
    cout << "Ingrese el segundo n�mero para calcular la media: ";
    cin >> numero2Media;

    gotoxy(10, 13);
    cout << "Ingrese la base para calcular la potencia: ";
    cin >> basePotencia;

    gotoxy(10, 15);
    cout << "Ingrese el exponente para calcular la potencia: ";
    cin >> exponentePotencia;

    double senoResultado = calcularSeno(numeroSeno);
    double mediaResultado = calcularMedia(numero1Media, numero2Media);
    double potenciaResultado = calcularPotencia(basePotencia, exponentePotencia);

    gotoxy(10, 17);
    cout << "El seno de " << numeroSeno << " es " << senoResultado << endl;

    gotoxy(10, 19);
    cout << "La media de " << numero1Media << " y " << numero2Media << " es " << mediaResultado << endl;

    gotoxy(10, 21);
    cout << "La potencia de " << basePotencia << " elevado a " << exponentePotencia << " es " << potenciaResultado << endl;

    // Restablecer color por defecto
    setColor(15, 0);

    return 0;
}
