C++ требуется выражение
в строчках 77 и 86 требуется выражение, я не особо понимаю как это можно сделать, можете помочь. Если не сложно можете оценить код, буду рад вашим замечаниям, т.к я только начал изучать сpp.
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
void showMenu()
{
cout << "Выберите операцию:" << endl;
cout << "1. Сложение" << endl;
cout << "2. Вычитание" << endl;
cout << "3. Умножение" << endl;
cout << "4. Деление" << endl;
cout << "5. Возведение в степень" << endl;
cout << "6. Процент" << endl;
}
// Функции для операций
double add(double a, double b) {
return a + b;
}
double subtract(double a, double b) {
return a - b;
}
double multiply(double a, double b) {
return a * b;
}
double divide(double a, double b) {
if (b != 0) {
return a / b;
}
else {
cout << "Ошибка: Деление на ноль!" << endl;
return 0; // Или можно выбросить исключение
}
}
int main() {
double num1, num2;
char operation;
cout << "Введите первое число: ";
cin >> num1;
cout << "Введите операцию (+, -, *, /): ";
cin >> operation;
cout << "Введите второе число: ";
cin >> num2;
switch (operation) {
case '+':
cout << "Результат: " << add(num1, num2) << endl;
break;
case '-':
cout << "Результат: " << subtract(num1, num2) << endl;
break;
case '*':
cout << "Результат: " << multiply(num1, num2) << endl;
break;
case '/':
cout << "Результат: " << divide(num1, num2) << endl;
break;
default:
cout << "Ошибка: Неверная операция!" << endl;
break;
}
return 0;
using namespace std;
double add(const vector<double>&numbers);
{
double sum = 0;
for (double num;)
{
sum += num;
}
return sum;
}
double multiply(const vector<double>&numbers); {
double product = 1;
for (double num = )
{
product *= num;
}
return product;
}
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
// Функции для операций
double add(double a, double b) {
return a + b;
}
double subtract(double a, double b) {
return a - b;
}
double multiply(double a, double b) {
return a * b;
}
double divide(double a, double b) {
if (b != 0) {
return a / b;
}
else {
cout << "Ошибка: Деление на ноль!" << endl;
return 0; // Или можно выбросить исключение
}
}
// Функции для работы с векторами
double add(const vector<double>& numbers) {
double sum = 0;
for (double num : numbers) {
sum += num;
}
return sum;
}
double multiply(const vector<double>& numbers) {
double product = 1;
for (double num : numbers) {
product *= num;
}
return product;
}
int main() {
double num1, num2;
char operation;
cout << "Введите первое число: ";
cin >> num1;
cout << "Введите операцию (+, -, , /): ";
cin >> operation;
cout << "Введите второе число: ";
cin >> num2;
switch (operation) {
case '+':
cout << "Результат: " << add(num1, num2) << endl;
break;
case '-':
cout << "Результат: " << subtract(num1, num2) << endl;
break;
case '':
cout << "Результат: " << multiply(num1, num2) << endl;
break;
case '/':
cout << "Результат: " << divide(num1, num2) << endl;
break;
default:
cout << "Ошибка: Неверная операция!" << endl;
break;
}
return 0;
}
#include <iostream>
#include <vector>
#include <cmath>
#include <stdexcept>
#include <limits>
void showMenu() {
std::cout << "Выберите операцию:\n"
<< "1. Сложение\n"
<< "2. Вычитание\n"
<< "3. Умножение\n"
<< "4. Деление\n"
<< "5. Возведение в степень\n"
<< "6. Процент\n";
}
double add(double a, double b) { return a + b; }
double subtract(double a, double b) { return a - b; }
double multiply(double a, double b) { return a * b; }
double divide(double a, double b) {
if (b == 0) {
throw std::runtime_error("Ошибка: Деление на ноль!");
}
return a / b;
}
double power(double base, double exponent) {
return std::pow(base, exponent);
}
double percentage(double value, double percent) {
return (value * percent) / 100.0;
}
double add(const std::vector<double>& numbers) {
return std::accumulate(numbers.begin(), numbers.end(), 0.0);
}
double multiply(const std::vector<double>& numbers) {
return std::accumulate(numbers.begin(), numbers.end(), 1.0, std::multiplies<double>());
}
int main() {
double num1, num2;
char operation;
std::cout << "Введите первое число: ";
while (!(std::cin >> num1)) {
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cout << "Неверный ввод. Пожалуйста, введите число: ";
}
showMenu();
std::cout << "Выберите операцию (1-6): ";
std::cin >> operation;
std::cout << "Введите второе число: ";
while (!(std::cin >> num2)) {
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cout << "Неверный ввод. Пожалуйста, введите число: ";
}
try {
double result;
switch (operation) {
case '1': result = add(num1, num2); break;
case '2': result = subtract(num1, num2); break;
case '3': result = multiply(num1, num2); break;
case '4': result = divide(num1, num2); break;
case '5': result = power(num1, num2); break;
case '6': result = percentage(num1, num2); break;
default: throw std::runtime_error("Ошибка: Неверная операция!");
}
std::cout << "Результат: " << result << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
return 1;
}
return 0;
}
Поставь после строки return 0; еще } и выкинь всё дальнейшее, которое ни в какие ворота не лезет.
типа нужно всю портянку просмотреть или строчки посчитать?