Gracias por las respuestas.Pues pon una condicion de que cuando le pidas la base, sea e o n. Declaras un char y lo lees, si es base e, le insertas el neperiano, si es n, les pides que te inserte el valor de la base.
En pseudo.
var
c: caracter;
i: entero;
base: real;
fvar
leer_caracter(c);
si c = "e" entonces base := 2.718281;
sino entonces
leer_entero(i)
base := (real) i;
fsi
Ya se por donde vas pero creo que no me has entendido bien según tu sería así: float base,exponente,argumento;
char base2;
cin>>base;
cin>>base2;
if(base2=='e')
{
base=2.718281;
}
El problema de esto es que tienes que introducir dos datos y aparte de saber que primero tienes que introducir una letra y después un númeno ya había pensado en esto pero me pareció una verdadera chapuza El dódigo:
case('l'):
cout<<"\ncalculo de logaritmos"<<endl;
cout<<"\nintroduce la base del logaritmo"<<endl;
float base,exponente,argumento;
cin>>base;
cout<<"\nintroduce el argumento"<<endl;
cin>>argumento;
exponente=(log(argumento))/(log(base));
cout<<"\nEl logaritmo de "<<argumento<<" de base "<<base<<"es "<<exponente<<endl;
cout<<"\nQuieres guardar el resultado en la memoria?"<<endl;
cin>>preg;
A ver cuando te pida la base que puedas introducir una letra o un número pero para ello tienes que declarar antes la variable en donde se va a cargar ese valor.
Una pregunta ¿Los strings admiten numeros?? si es así ¿Se podría declarar un string y que después lo lea y dependiendo de si lee la letra 'e' o un numero se pueda cargar el valor en una variable o en otra??
Gracias por las respuestas ;