Я попытался написать программу, которая получает корни числа, например, если вы введете 3 в меню, она попытается найти третий корень вашего числа, поэтому, если вы ввели 8, она даст вам 2, но есть проблема. Я использую цикл for, и если я попытаюсь определить else для моего условия в цикле, он напечатает cout столько раз, сколько определен цикл. Что мне делать, чтобы исправить это? Кто-нибудь может мне помочь? Должен ли я использовать вместо этого? И, пожалуйста, старайтесь, чтобы ваши ответы были простыми и очевидными. Вот мой код:
system("cls");
system("color 78");
int roots;
cout << "Which root are you trying to find out?" << endl;
cin >> roots;
switch (roots)
{
case 1:
{
system("cls");
double po;
cout << "Please enter the number you wnat to see its first root: " << endl;
cin >> po;
cout << "Your number's first root is: " << po << endl;
Backhome();
}
break;
case 2:
{
system("cls");
double p;
cout <<"Please enter the number you want to find its second root:"<< endl;
cin >> p;
cout <<"Your number's second root is: "<< sqrt(p) << endl;
cout << "Your number's second root is: " << "-" << sqrt(p) << endl;
Backhome();
}
break;
case 3:
{
system("cls");
double th;
cout << "Please enter the number you want to find its third root: "<< endl;
cin >> th;
for (int i= -10000 ; i <= 10000; i++)
{
if ((i*i*i) == th)
{
cout << "Your number's third root is: " << i << endl;
}
else
{
cout << "Your number doesn't have a third root." << endl;
}
}
Backhome();
}
break;
case 4:
{
system("cls");
double foot;
cout << "Enter the number you want to see its fourth root: " << endl;
cin >> foot;
for (int i = -10000; i <= 10000; i++)
{
if ((i*i*i*i) == foot)
{
cout << "Your number's fourth root is: " << i << endl;
}
else
{
cout << "Your number doesn't have a fourth root." << endl;
}
}
Backhome();
}
break;
case 5:
{
system("cls");
double pive;
cout << "Enter the number you want to see its fifth root: " << endl;
cin >> pive;
for (int i = -10000; i <= 10000; i++)
{
if ((i*i*i*i*i) == pive)
{
cout << "Your number's fifth root is: " << i << endl;
}
else
{
cout << "Your number doesn't have a fifth root." << endl;
}
}
Backhome();
}
(Короче говоря, проблема в том, что elses в циклах печатаются столько раз, сколько определен цикл, и я не хочу, чтобы это произошло. Буду признателен за вашу помощь.)