Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
#1

Ошибка на cout и cin - C++

05.02.2013, 01:28. Просмотров 1473. Ответов 13
Метки нет (Все метки)

немогу понять в чем ошибка, есть код программы, вроде бы все правильно написано, но возможно я где-то допустил ошибку, но почему-то в упор невижу
ругается на cout и cin и на "<<" ">>", может я что-то с библиотеками напутал? или что не так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <math.h>
void main ()
{
    int Ax,Ay,Bx,By,d,Cx,Cy,Dx,Dy,u,xc,yc;
    cout << "input Ax:";
    cin >> Ax;
    cout << "input Ay:";
    cin >> Ay;
    cout << "input Bx:";
    cin >> Bx;
    cout << "input By:";
    cin >> By;
    d = sqrt((Ax-Bx)*(Ax-Bx)+(Ay-By)*(Ay-By))/2;
    if (Ax==Bx)
    {
        Cx=Ax-d;
        Cy=Ay+(By-Ay)/2;
        Dx=Ax+d;
        Dy=By;
    }
    else if (Ay==By)
    {
        Cy=Ay-d;
        Cx=Ax+(Bx-Ax)/2;
        Dy=Ay+d;
        Dx=Cx;
    }
    else
    {
        xc= Ax+(Bx-Ax)/2;
        yc= Ay+(By-Ay)/2;
        u= atan((By-yc)/(Bx-xc));
        Cx= xc+d*cos(u+3.14/2);
        Cy=yc+d*sin(u+3.14/2);
        Dx=xc+d*cos(u-3.14/2);
        Dy=yc+d*sin(u-3.14/2);
    }
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2013, 01:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка на cout и cin (C++):

Ошибка при работе с cin и cout - C++
Здравствуйте, задам детский вопрос: почему не работает? int d; cout &lt;&lt; &quot;Введите значение числа D: &quot;&lt;&lt; endl; cin &gt;&gt; d; // ...

Cin cout - C++
записать через сin cout printf (&quot;a=&quot;, i); scanf (&quot;%f&quot;, &amp;a);

cin cout - C++
Как выводить через cin cout а не через printf. А то получается ерунда #include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;string&gt; ...

Cout cin - C++
Ребят, мы пишем cout &lt;&lt; .... и cin &gt;&gt; .... Как называются эти операторы &lt;&lt; и &gt;&gt;? И что они делают?

операторы cin, cout - C++
Здравствуйте! Написала элементарную программу: #include &lt;iostream&gt; using namespace std; int main() { cout&lt;&lt; &quot;Введите...

НЕ находит cin cout - C++
Вроде бы подключил заголовочные файлы. Почему не находит cin и cout они же вроде бы должны быть в iostream #include &lt;stdafx.h&gt; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mr.kto
93 / 92 / 1
Регистрация: 18.08.2012
Сообщений: 309
05.02.2013, 01:37 #2
итернал, Вы используете среду разработки Visual Studio? Если да, тогда после библиотек подключите пространство имен
C#
1
using namespace std;
1
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
05.02.2013, 01:56  [ТС] #3
Mr.kto, а можно вас попросить обьяснить почему необходимо подключать даное пространство, просто у нас на учебе если мы изпользуем то чему нас не учили необходимо это обьяснить, это как раз является тем самым случаем, ну главу в какой-нибуть книги где это можно прочитать
0
Mr.kto
93 / 92 / 1
Регистрация: 18.08.2012
Сообщений: 309
05.02.2013, 02:12 #4
итернал, msdn, не хочу много писать, в гугле полным полно информации.
PS У вас на учебе очень старенькие компиляторы.
0
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
05.02.2013, 02:13  [ТС] #5
да можно и не писать, я не дурак, думаю и сам смогу разобрать, главное знать в какой теме искать
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
05.02.2013, 02:18 #6
итернал, вам все-таки С или С++?
В С не существует хедера iostream, там за ввод/вывод отвечает stdio.h вместе с функциями printf и scanf.
Если все же С++, то:
было время существовал iostream.h, в котором cout и cin были определены в глобальном пространстве имен (полное имя было ::cout и ::cin)
После, стандарт решил пересмотреть свою позицию и включил данные объекты в пространство имен std и хедер был переименован в iostream
К сожалению, такой старый компилятор, как Borland существовал до выхода этих новых стандартов и до сих пор ничего не знает ни о пространстве имен ни о iostream, имея лишь первый вариант данного хедера с объектами cout и cin заместо std::cout и std::cin. Нормальные Новые же компиляторы напротив, не знают ничего о iostream.h и определяют данные объекты в пространстве имен std. Т.к. писать каждый раз std::cout и std::cin некоторые считают накладным, то они просто сваливают все функции и объекты из пространства имен std в глобальное пространство и, встречая знакомое название, компилятор автоматически подставляет std::
Итог: если у вас борланд сожгите его и скачайте что-то поновее используйте iostream.h и cout, cin
если у вас современный компилятор (VS, mingw, intel) используйте iostream и std::cin, std::cout, либо пищите предварительно using namespace std; и используйте cin, cout в своем коде.
1
Mr.kto
93 / 92 / 1
Регистрация: 18.08.2012
Сообщений: 309
05.02.2013, 02:21 #7
MrGluck, молодец, а то мне так лень объяснять
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
05.02.2013, 02:22 #8
Цитата Сообщение от итернал Посмотреть сообщение
void main ()
и по стандарту int main
0
Mr.kto
93 / 92 / 1
Регистрация: 18.08.2012
Сообщений: 309
05.02.2013, 02:24 #9
MrGluck, но тогда уж и
C++
1
return
добавьте
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
05.02.2013, 02:38 #10
Цитата Сообщение от Mr.kto Посмотреть сообщение
MrGluck, но тогда уж и
Код C++
1
return
добавьте
По стандарту С++, если не указать return 0; в конце тела функции main, то компилятор это воспримет как EXIT_SUCCESS то бишь также вернет 0.
0
Mr.kto
93 / 92 / 1
Регистрация: 18.08.2012
Сообщений: 309
05.02.2013, 02:42 #11
Цитата Сообщение от MrGluck Посмотреть сообщение
По стандарту С++, если не указать return 0; в конце тела функции main, то компилятор это воспримет как EXIT_SUCCESS то бишь также вернет 0.
Да, есть такое, но не у всех компиляторов!
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
05.02.2013, 02:48 #12
Mr.kto, те, которые поддерживают стандарт, должны.
VS и mingw точно, builder не знаю, не работал с ним.

Стандарт:
3.6.1 Main function
2) An implementation shall not predefine the main function. This function shall not be overloaded. It shall
have a return type of type int, but otherwise its type is implementation-defined. All implementations shall
allow both of the following definitions of main:
int main() { /* ... */ }
and
int main(int argc, char* argv[]) { /* ... */ }
In the latter form argc shall be the number of arguments passed to the program from the environment
in which the program is run. If argc is nonzero these arguments shall be supplied in argv[0]
through argv[argc-1] as pointers to the initial characters of null-terminated multibyte strings (ntmbs
s) (17.5.2.1.4.2) and argv[0] shall be the pointer to the initial character of a ntmbs that represents the
name used to invoke the program or "". The value of argc shall be non-negative. The value of argv[argc]
shall be 0.
5)A return statement in main has the effect of leaving the main function (destroying any objects with automatic
storage duration) and calling std::exit with the return value as the argument. If control reaches the end
of main without encountering a return statement, the effect is that of executing
return 0;
1
Mr.kto
93 / 92 / 1
Регистрация: 18.08.2012
Сообщений: 309
05.02.2013, 02:57 #13
MrGluck, вы занимаетесь профессиональной разработкой приложений на С/С++?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
05.02.2013, 03:30 #14
Цитата Сообщение от Mr.kto Посмотреть сообщение
MrGluck, вы занимаетесь профессиональной разработкой приложений на С/С++?

Не по теме:

в душе то да
на деле лишь учусь

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2013, 03:30
Привет! Вот еще темы с ответами:

Перегрузка cin/cout - C++
Надо перегрузить операторы для некого класса. У меня есть два базовых класса, в одном 2 поля, в другом 3 поля. В производном классе(от етих...

Cin и cout не компилируется - C++
Начал изучать С++, и возникли проблемы с cin и cout, пишет Undefined symbol, хотя std прописан. Если пишу std::cin то выдает 'cout' is...

перезагрузка cin, cout - C++
Помогите корректно перезагрузить эти два оператора! #include &lt;iostream&gt; using namespace std; class Fractions{ public: ...

Не работают cin и cout - C++
Компилю на С++. Впервые. Использую Borland C++ Builder 6.0 Прочитал много разных самоучителей, энциклопедий по С++ Создаю приложение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.02.2013, 03:30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru