#include <iostream>
#include <string>
template<typename T>
T power(T n, T p)
{
T result = 1;
for (T i = 0; i < p; i++)
{
result = result * n;
}
return result;
}
template<typename T>
T readPow() {
T power_;
T number;
std::cout << "Введите число: ";
std::cin >> number;
std::cout << "Введите степень: ";
std::cin >> power_;
return power(number, power_);
}
int main()
{
setlocale(LC_ALL, "Russian");
int chose;
std::cout << "Выберите действие: ";
std::cin >> chose;
switch (chose)
{
case 1:
std::cout << readPow<int>() << std::endl;
break;
case 2:
std::cout << readPow<double>() << std::endl;
break;
case 3:
std::cout << readPow<float>() << std::endl;
break;
case 4:
std::cout << readPow<long>() << std::endl;
break;
}
}
Оставлю это тут, может пригодится.
И вы уверены, что с char тоже нужно ? Ведь если прочитать char через cin, то в него будет записано не введенное число, а код введенного символа. Так если ввести 5, то по факту там будет число 53 (где то в этом районе).