Калькулятор на языке C++

Простейший калькулятор, который считает площадь равностороннего треугольна. Написал код :

#include <iostream>
#include <cmath>

main () {
    int a, b, c;
    b = 2;
    setlocale(LC_ALL, "Russian");
    printf ("Введите стороны треугольника \n");
    scanf ("%s" "%d", &a, &b);
    c = ((pow (a, b) * sqrt (3 ))/ 4);
    printf("Результат: %d \n",c);
    getchar();
}

В итоге вместо нормального ответа получается не то, что нужно. Помогите новичку.введите сюда описание изображения


Ответы (1 шт):

Автор решения: Harry

У вас предельно странная математика... И если уж у вас С++ - воспользуйтесь средствами C++. Даже если вы используете средства - используйте их верно:

scanf ("%s" "%d", &a, &b);

Тут вы пытаетесь вводить строковое слово в целочисленную переменную a, затем - число в переменную b. Кстати, какие два числа - для равностороннего-то треугольника? Тем более возведение одного в степень, равную второму?...

#include <iostream>
#include <cmath>

int main () 
{
    double a;
    setlocale(LC_ALL, "Russian");
    cout << "Введите сторону треугольника: "; // Он же РАВНОСТОРОННИЙ!
    cin >> a;
    cout << "S = " << a*a*sqrt(3)/4 << endl;
}

Думаю, рассмотрев отличия моего кода от вашего, вы и сами поймете, что к чему?

→ Ссылка