• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Задача О Площади Треугольника

  • Автор темы Kiss31
  • Дата начала
K

Kiss31

Почему не компиллируеться следующий код...В чем причина ошибки

#include"stdafx.h"
#include<iostream>
#include<math.h>
double c;
c=double sin(double x);
double area(double a,double b,double c)
{return (a*b*c)/2;}
int main()
{
using namespace std;

double a,b,x;
cout<<"Vitseslenie ploshadi treugolnika:"<<endl;
cout<<"Bvedite storoni treugolnika:"<<endl;
cout<<"Storona a:";
cin>>a;
cout<<"Storona b:";
cin>>b;
cout<<"Ugol:";
cin>>x;


cout<<"Ploshad treugolnika:"<<area(a,b,c)<<endl;
system("pause");
return 0;
}

Выдает следующие ошибки


1>------ Build started: Project: learn2, Configuration: Debug Win32 ------
1> learn2.cpp
1>learn2.cpp(6): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>learn2.cpp(6): error C2371: 'c' : redefinition; different basic types
1> learn2.cpp(5) : see declaration of 'c'
1>learn2.cpp(6): error C2062: type 'double' unexpected
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
 
R

rrrFer

ни компилятор, ни даже мы, не можем догадаться что тут имелось ввиду:
Код:
double c;
c = double sin(double x);

Сначала читаешь книжки, потом пишешь код. Наоборот не работает.
 
K

Kiss31

Я хочу присвоить переменной C синус угла.Т.е присвоить результат вычисления функции.Почему это нельзя сделать
 
R

rrrFer

Я хочу присвоить переменной C синус угла.Т.е присвоить результат вычисления функции.Почему это нельзя сделать
Это можно сделать, но не так и не в этом месте. А что делаешь ты:
Код:
double sin(double x);
я бы подумал что ты объявляешь функцию (иначе, зачем указаны типы возвращаемого значения и аргумента?), но никак не понял зачем все это присваивать c; Я подумал что ты хочешь ввести указатель на функцию или сделать что-то типа typedef, но ведь "double c;" ставит в полный тупик.

вызывается функция так:
Код:
c=sin(x);

НО чтобы это работало, ЗАРАНЕЕ, должны быть объявлены переменные c и x (у тебя объявлена только с), а еще, переменной x должно быть присвоено значение (синус КАКОГО угла?).

И не менее веселит МЕСТО, где этот код написан. Выполнение программы начнется с точки входа(main в твоем случае), в какой момент будет вычислен ваш синус неизвестного угла?

--------
про книжки я уже упоминал. Перед тем как писать код надо сформулировать для чего этот код и как он должен работать. У вас "Я хочу присвоить переменной C синус угла." чего-то не хватает.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!