Hay muchos "detalles" en tu código.
Para mejorar tu eficiencia te recomiendo
-No usar conio.h (como dice el comentario de arriba es una librería no-estándar)
-Usa double en vez de float: En realidad no hay gran diferencia entre usar ambos en cuanto a memoria o rendimiento y se recomienda encarecidamente trabajar con double ya que tiene un nivel mas alto de precisión y evita así la perdida de valores, de la misma manera se recomienda trabajar siempre con int en vez de usar short y evitar los unsigned a menos que sea extremadamente necesario.
-Aprende a usar el switch
-Reusa tu codigo, si lees puedes encontrar que muchas veces repites el mismo codigo.
-Las opciones deberían ser un numero entero int.
Tu programa retocado quedaría así:
P.D1: Asumo que no sabes crear funciones por eso no las utilizo al igual que el switch
P.D2: El uso de cin.get() aunque es mejor que el uso de getch() no estan vistos como buenas practicas, aunque para lo que buscas esta bien.
Para mejorar tu eficiencia te recomiendo
-No usar conio.h (como dice el comentario de arriba es una librería no-estándar)
-Usa double en vez de float: En realidad no hay gran diferencia entre usar ambos en cuanto a memoria o rendimiento y se recomienda encarecidamente trabajar con double ya que tiene un nivel mas alto de precisión y evita así la perdida de valores, de la misma manera se recomienda trabajar siempre con int en vez de usar short y evitar los unsigned a menos que sea extremadamente necesario.
-Aprende a usar el switch
-Reusa tu codigo, si lees puedes encontrar que muchas veces repites el mismo codigo.
-Las opciones deberían ser un numero entero int.
Tu programa retocado quedaría así:
Código (cpp) [Seleccionar]
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char** argv) {
double suma=0, resta=0, multi=0, divi=0, a, b, resultado, B, P;
int opcion;
cout<<"¿CUAL ES TU OPREPACION?"<<endl;
cout<<"\n1. Sumar";
cout<<"\n2. Restar";
cout<<"\n3. Multiplicar";
cout<<"\n4. Dividir";
cout<<"\n5. Potenciar";
cout<<"\n6. Raiz"<<endl;
cin>>opcion;
//Primero vez si es una potencia o raiz para evitar leer los valores una y otra vez
if(opcion==5){
cout<<"Ingrese La Base"<<endl;
cin>>B;
cout<<"Ingrese La Potencia"<<endl;
cin>>P;
double resultado= pow(B,P);
cout<<" El resultado De "<<B<<" Elevado A La "<<P<<" Es Igual A "<<resultado<<endl;
cin.get();
return 1;
}
if(opcion==6){
cout<<"Ingrese El Tipo De Raiz"<<endl;
cin>>B;
cout<<"Ingrese El numero"<<endl;
cin>>P;
resultado= pow(P,(1/B));
cout<<" La raiz a la "<<B<<" De "<<P<<" Es Igual A "<<resultado<<endl;
cin.get();
return 1;
}
// Si no es potencia ni raiz podemos leer los 2 valores siempre igual
cout<<"Ingrese El Primer Numero"<<endl;
cin>>a;
cout<<"Ingrese El Segundo Numero"<<endl;
cin>>b;
if(opcion==1){
suma= a + b;
cout<<"El resultado De La Suma Es:"<<suma<<endl;
cin.get();
return 1;
}
if(opcion==2){
resta= a - b;
cout<<"El resultado De La Resta Es:"<<resta<<endl;
cin.get();
return 1;
}
if(opcion==3){
multi= a * b;
cout<<"El resultado De La Multiplicacion Es:"<<multi<<endl;
cin.get();
return 1;
}
if(opcion==4){
divi= a / b;
cout<<"El resultado De La Divicion Es:"<<divi<<endl;
cin.get();
return 1;
}
//Si el usuario coloca una opcion invalida
cout << "Opcion invalidad por favor ingrese una entrada valida (del 1 al 6)";
cin.get();
return 0;
}
P.D1: Asumo que no sabes crear funciones por eso no las utilizo al igual que el switch
P.D2: El uso de cin.get() aunque es mejor que el uso de getch() no estan vistos como buenas practicas, aunque para lo que buscas esta bien.