ayuda en completar una calculadora en c++

Iniciado por Erecc, 30 Noviembre 2011, 16:55 PM

0 Miembros y 1 Visitante están viendo este tema.

Erecc

este es mi codigo

#include <iostream>
#include <string>
#include <cmath>
using namespace std;

int main(){

//declaraciones y las iniciamos

double numero1 = 1;
char operador = ' ';
double numero2 = 0;
double resultado = 1;

//inicio de while para que una vez mostrado el resultado vuelva a este punto
do{
//input

cout << "Calculadora V 1.0" << endl;
cout << "Para salir de la aplicacion introduce 0" << endl;
cout << "Introduce una operacion: ";

// a continuacion se introduce la secuencia
// el primer valor introducido lo guarda en numero1
cin >> numero1;

//utilizaremos numero1 como sumatorio de toda la operacion
resultado=numero1;

// sigue coguiendo operandos y operadores
do{
//guardamos el tipo de operacion
cin.get(operador);

//expresiones

//en este if realizara las operaciones en las que es necesario dos operandos ( 2 OPERANDOS )
if( operador == '+' || operador == '-' || operador == '*' || operador == '/' ){

//se guarda el segundo numero
cin >> numero2;

//operaciones con dos operandos
if ( operador == '+' ){

resultado = resultado + numero2;

}else if ( operador == '-' ){

resultado = resultado - numero2;

}else if ( operador == '*' ){

resultado = resultado * numero2;

}else if ( operador == '/' ){

resultado = resultado / numero2;

}

//la otra opcion que podria ocurrir es que fuera 0 el numero1
} else if( numero1 == 0 ){

return 0;

}

// se sale de este while cuando ya se haya realizado todas las operaciones de la expresion matematica
}while ( operador != '\n' );

//output

cout << "El resultado es: " << resultado << endl <<endl;

}while(numero1 != 0);//cierra el while principal que permite volver a meter otra operacion o salirse si es 0

}



necesito añadirle raíces cuadradas (con carácter r) y con numero positivo, si no lo es tiene que dar mensaje de error, factorial (con el caracter !) y exponencial (con numeros enteros, y no puedo usar la función Pow)

además tengo que hacer que se pueda usar el resultado de una operación como operando de la siguiente (como cualquier calculadora), pero no tengo ni idea de como hacerlo XDD además si aprietas la c (como en las calculadoras se tiene que borrar y poner a cero pra seguir operando) y con la x se cierra el programa.

si podéis ayudarme  os lo agradecería mucho ^^ os dejo una pequeña introducción de mi código en el mismo, y gracias de verdad.

slog

Hola,

Para la raiz cuadrada puedes usar la función sqrt de la libreria cmath. sqrt(numero). O bien elevar el numero a (1/2).

salu2.