Как исправить недопустимые операнды в проблемах с бинарными выражениями ('const char * и' double ') - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь создать программу, которая вычисляет площадь и окружность круга.Но я продолжаю получать сообщение об ошибке

error: invalid operands to binary expression ('const char *' and 'double') 

в две строки, и я не знаю, как ее решить, вот код:

int main()
{
    const double MY_PI = 3.14159265;
    double radius;

    cout << "Program calculates the area and circumference of a circle" << endl;
    cout << "enter circle radius" << endl;
    cin >> radius;

    double area = MY_PI * (radius*radius);
    double circumference = 2 * MY_PI*radius;

    //these are the lines with errors
    double AREA_STR = "Area of circle with radius " + radius + " is " + area;
    double CIRCUM_STR = "Circumference of a circle with radius " + radius + " is " + circumference;

    cout << AREA_STR << endl;
    cout << CIRCUM_STR << endl;

    return 0;
}

1 Ответ

0 голосов
/ 22 января 2019

Переменные AREA_STR и CIRCUM_STR относятся к типу double, где вы пытаетесь поместить несколько const char* (строк), что дает вам ошибку.

Вам нужно просто:

std::cout << "Area of circle with radius " << radius << " is " << area << '\n';
std::cout <<  "Circumference of a circle with radius " << radius << " is " << circumference << '\n';

В случае, если они нужны вам в одной переменной, double s (то есть область , радиус и окружность ) должны быть покрыты std :: to_string ()

#include <string>

const std::string AREA_STR = "Area of circle with radius " + std::to_string(radius) + " is " + std::to_string(area);
const std::string CIRCUM_STR = "Circumference of a circle with radius " + std::to_string(radius) + " is " + std::to_string(circumference);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...