Как выйти из нескольких вложенных циклов?
По задумке после выполнения математической операции код должен повторяться и заново выводить ввод операции.Но на деле получается выйти только из одного цикла,если писать Break.А завершать программу полностью должен case 'br',но получилось так,что он бесполезен
#include <iostream>
#include <math.h>
using namespace std;
float sum(float a, float b) {
return(a + b);
}
float sum(float a, float b,float c) {
return(a + b + c);
}
float min(float a, float b) {
return(a - b);
}
float min(float a, float b, float c) {
return(a - b - c);
}
float mult(float a, float b) {
return(a * b);
}
float mult(float a, float b,float c) {
return(a * b * c);
}
float div(float a, float b) {
return(a / b);
}
float div(float a, float b, float c) {
return(a / b / c);
}
float square(float a) {
return(a * a);
}
float cube(float a) {
return(a * a * a);
}
float root(float a, float b) {
return(pow(a, 1 / b));
}
float degree(float a, float b) {
return(pow(a, b));
}
void main() {
char command;
cout << "commands:" << "\n" << "+" << "\n" << "-" << "\n" << "*" << "\n" << "/" << "\n" << "*2 - square" << "\n" << "*3 - cube" << "\n" << "// - root" << "\n" << "** - degree" <<"\n"<<"br - break"<< endl;
cin >> command;
for (int num;;) {
float a, b, c;
switch (command)
{
case '+':
cout << "enter the number of numbers (2 or 3)" << endl;
cin >> num;
if (num == 2) {
float a, b;
cout << "enter 2 numbers" << endl;
cin >> a >> b;
cout << "result:" << sum(a, b) << endl;
return;
}
else if (num == 3) {
float a, b, c;
cout << "enter 3 numbers" << endl;
cin >> a >> b >> c;
cout << "result:" << "\n" << sum(a, b, c) << endl;
return;
}
else
cout << "error" << endl;
break;
case '-':
cout << "enter the number of numbers (2 or 3)" << endl;
cin >> num;
if (num == 2) {
float a, b;
cout << "enter 2 numbers" << endl;
cin >> a >> b;
cout << "result:" << "\n" << min(a, b) << endl;
return;
}
else if (num == 3) {
float a, b, c;
cout << "enter 3 numbers" << endl;
cin >> a >> b >> c;
cout << "result:" <<"\n" << min(a, b, c) << endl;
return;
}
else
cout << "enter another value" << endl;
break;
case '*':
cout << "enter the number of numbers (2 or 3)" << endl;
cin >> num;
if (num == 2) {
cout << "enter 2 numbers" << endl;
cin >> a >> b;
cout << "result:" << "\n" << mult(a, b) << endl;
return;
}
else if (num == 3) {
cout << "enter 3 numbers" << endl;
cin >> a >> b >> c;
cout << "result:" << "\n" << mult(a, b, c) << endl;
return;
}
else
cout << "enter another value" << endl;
break;
case '/':
cout << "enter the number of numbers (2 or 3)" << endl;
cin >> num;
if (num == 2) {
cout << "enter 2 numbers" << endl;
cin >> a >> b;
cout << "result:" << "\n" << div(a, b) << endl;
return;
}
else if (num == 3) {
cout << "enter 3 numbers" << endl;
cin >> a >> b >> c;
cout << "result:" << "\n" << div(a, b, c) << endl;
return;
}
else
cout << "enter another value" << endl;
break;
case '*2':
cout << "enter the number" << endl;
cin >> a;
cout << "result:" << "\n" << square(a) << endl;
return;
case '*3':
cout << "enter the number" << endl;
cin >> a;
cout << "result:" << "\n" << cube(a) << endl;
return;
case '//':
cout << "enter number and degree" << endl;
cin >> a >> b;
cout << "result:" << "\n" << root(a, b) << endl;
return;
case '**':
cout << "enter number and degree" << endl;
cin >> a >> b;
cout << "result:" << "\n" << degree(a, b) << endl;
return;
case 'br':
cout << "end" << endl;
return ;
default:
cout << "error" << endl;
return;
}
}
}