Так что я пытаюсь сделать калькулятор, который работает с несколькими операторами. Я делаю некоторые программы калькуляторов, которые работают с 2-мя номерами (используется переключатель), но когда я пытаюсь использовать более двух чисел, я не могу заставить его работать. У меня есть идея, как это сделать, но я не могу ее реализовать (я новичок в программировании). Эта строка не работает, но это то, что я думаю: result = a op [0] b op [1] c; Так вот код:C++ несколько операторов калькулятор
// Simple arithmetic calculator.
#include <iostream>
using namespace std;
int main()
{
float a, b, c, result;
char op[2];
// Get numbers and mathematical operator from user input
cin >> a >> op[0] >> b >> op[1] >> c;
result = a op[0] b op[1] c; // result = a + b - c if op[0]=+ and op[1]=-
// Output result
cout << result << endl;
return 0;
}
вот другой код, но не работает
// CalculatorSwitch.cc
// Simple arithmetic calculator using switch() selection.
#include <iostream>
using namespace std;
int main()
{
float a, b, c, result;
char operation,operation2;
// Get numbers and mathematical operator from user input
cin >> a >> operation >> b >> operation2 >> c;
// Character constants are enclosed in single quotes
switch(operation)
{
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
result = a/b;
break;
default:
cout << "Invalid operation. Program terminated." << endl;
return -1;
}
switch(operation2)
{
case '+':
result = b + c;
break;
case '-':
result = b - c;
break;
case '*':
result = b * c;
break;
case '/':
result = b/c;
break;
default:
cout << "Invalid operation. Program terminated." << endl;
return -1;
}
}
так, если я правильно использовать его с более чем 2-х чисел, я должен создать второй выключатель второй оператор, но я получил неправильные результаты .. поэтому я хочу сделать первый код работы.
Вы не заметили, что это даже не компилируется? –
Если 'switch' работал с двумя номерами, почему бы вам не использовать, например. 'switch' здесь для трех чисел? – SaschaP