Здравствуйте!
Нужна прога на С++
В общем нужен калькулятор с возможностью считать в различных системах счисления.

4 Окт 2019 в 18:43
168 +1
0
Ответы
1

Конечно, вот пример программы на С++ для калькулятора с возможностью работы в различных системах счисления:

#include <iostream>
#include <cmath>
#include <string>
using namespace std;
int main() {
int choice;
string num1, num2;
int base;
cout << "Введите первое число: ";
cin >> num1;
cout << "Введите второе число: ";
cin >> num2;
cout << "Выберите систему счисления (2, 8, 10, 16): ";
cin >> base;
cout << "Выберите операцию:\n";
cout << "1. Сложение\n";
cout << "2. Вычитание\n";
cout << "3. Умножение\n";
cout << "4. Деление\n";
cin >> choice;
long long int result;
switch (base) {
case 2:
result = stoi(num1, nullptr, 2);
switch(choice) {
case 1:
result += stoi(num2, nullptr, 2);
break;
case 2:
result -= stoi(num2, nullptr, 2);
break;
case 3:
result *= stoi(num2, nullptr, 2);
break;
case 4:
result /= stoi(num2, nullptr, 2);
break;
default:
cout << "Неправильно введена операция\n";
return 1;
}
cout << "Результат: " << bitset<32>(result) << endl;
break;
case 8:
result = stoi(num1, nullptr, 8);
switch(choice) {
case 1:
result += stoi(num2, nullptr, 8);
break;
case 2:
result -= stoi(num2, nullptr, 8);
break;
case 3:
result *= stoi(num2, nullptr, 8);
break;
case 4:
result /= stoi(num2, nullptr, 8);
break;
default:
cout << "Неправильно введена операция\n";
return 1;
}
cout << "Результат: " << oct << result << endl;
break;
case 10:
result = stoi(num1);
switch(choice) {
case 1:
result += stoi(num2);
break;
case 2:
result -= stoi(num2);
break;
case 3:
result *= stoi(num2);
break;
case 4:
result /= stoi(num2);
break;
default:
cout << "Неправильно введена операция\n";
return 1;
}
cout << "Результат: " << result << endl;
break;
case 16:
result = stoi(num1, nullptr, 16);
switch(choice) {
case 1:
result += stoi(num2, nullptr, 16);
break;
case 2:
result -= stoi(num2, nullptr, 16);
break;
case 3:
result *= stoi(num2, nullptr, 16);
break;
case 4:
result /= stoi(num2, nullptr, 16);
break;
default:
cout << "Неправильно введена операция\n";
return 1;
}
cout << "Результат: " << hex << result << endl;
break;
default:
cout << "Неправильно выбрана система счисления\n";
return 1;
}
return 0;
}

Это основной шаблон программы, который можно доработать и расширить по вашему желанию. Надеюсь, это поможет вам с вашим заданием на C++! Если у вас есть какие-либо вопросы или нужна дополнительная помощь, не стесняйтесь спрашивать.

19 Апр 2024 в 14:38
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир