Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2008, 12:12
RoDaVi
Invitado
 
Mensajes: n/a
Puntos:
Necesito el contenido y obtengo la dirección del campo

Que tengan todos un muy buen dia
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:
#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;
}
Desde ya muchas gracias por la ayuda que deseen brindarme
Un gran abrazo
El autodidacta DanielC++