Crean me que es la primera ves que uso estructuras
y prototipos con funciones y precisamente por ser
la primera ves no creo haberlo echo tan mal (risas)
el caso es que empecé con 30 errores y después de
muuuuuchas horas logre compilar el código pero el
caso es que el resultado que obtengo es la dirección
de memoria del campo y no el contenido.-
Me agradaría que además de marcarme el error
que estoy cometiendo, me dijeran en que debería
mejorar la sintaxis (luego le voy a agregar "Memoria" y a
validar si en ves de números se ingresaran por ej. letras)
Código:
Desde ya muchas gracias por la ayuda que deseen brindarme#include <iostream> #include <cstdlib> using namespace std; struct calcular { double valorUno; double valorDos; double resultado; }; double resultado(string signo); void ingValores(); int main(int argc, char *argv[]) { ingValores(); calcular rv; int opcion = 0; while(1) { system("cls"); cout << "Que deseas hacer..?\n"; cout << "\n[1]-Sumar\n"; cout << "[2]-Restar\n"; cout << "[3]-Multiplicar\n"; cout << "[4]-Dividir\n"; cout << "[5]-Cambiar los valores\n"; cout << "[6]-Salir\n"; cout << "\nSeleccione: "; cin >> opcion; switch(opcion) { case 1: resultado("Sumar"); break; case 2: resultado("Restar"); break; case 3: resultado("Multiplicar"); break; case 4: resultado("Dividir"); break; case 5: ingValores(); break; case 6: exit(0); } cout << "\n"; cout << "Apriete una tecla para seleccionar..."; system("pause>nul"); } return EXIT_SUCCESS; } double resultado(string signo) { calcular rv; if(signo == "Sumar") { rv.resultado = rv.valorUno + rv.valorDos; cout << "El resultado de sumar: " << rv.valorUno << " + " << rv.valorDos << " = " << rv.resultado; } if(signo == "Restar") { rv.resultado = rv.valorUno - rv.valorDos; cout << "El resultado de restar: " << rv.valorUno << " - " << rv.valorDos << " = " << rv.resultado; } if(signo == "Multiplicar") { rv.resultado = rv.valorUno * rv.valorDos; cout << "El resultado de multiplicar: " << rv.valorUno << " * " << rv.valorDos << " = " << rv.resultado; } if(signo == "Dividir") { rv.resultado = rv.valorUno / rv.valorDos; cout << "El resultado de dividir: " << rv.valorUno << " / " << rv.valorDos << " = " << rv.resultado; } } void ingValores() { calcular rv; cout << "Ingresa un valor..:"; cin >> rv.valorUno; cout << "Ingresa otro......:"; cin >> rv.valorDos; }
Un gran abrazo
El autodidacta DanielC++