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

Как быстро найти ошибку? - C++

Восстановить пароль Регистрация
 
 
MorfixProton
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 194
24.03.2014, 15:51     Как быстро найти ошибку? #1
У меня ошибка в коде и я уже после часа поисков уже не выдержал и мне нужна помощь. Компилятор ничего не говорит, просто не компилит.
C++ (Qt)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include  <iostream.h>
#include <conio.h>
#include  <match.h>
using namespace std;
int main()
{
 
struct stPointOfTreangle
{
double x;
double y;
double z;
};
 
struct stLineOfTreangle
{
stPointOfTreangle pA;
stPointOfTreangle pB;
double LongOfLine;
};
 
struct stTreangle
{
stLineOfTreangle a;
stLineOfTreangle b;
stLineOfTreangle c;
};
 
struct  stProperties
{
double angle1, angle2, angle3, P, s;
};
 
struct stPointOfTreangle CoordsP1 = {3, 0, 0};
struct stPointOfTreangle CoordsP2 = {0, 4, 0};
struct stPointOfTreangle CoordsP3 = {0, 0, 5};
 
stLineOfTreangle LineA;
LineA.pA=CoordsP1;
LineA.pB=CoordsP2;
LineA.LongOfLine=0;
 
stLineOfTreangle LineA;
LineB.pA= CoordsP2;
LineB.pB= CoordsP3;
LineB.LongOfLine = 0;
 
stLineOfTreangle LineA;
LineC.pA= CoordsP1;
LineC.pB= CoordsP3;
LineC.LongOfLine = 0;
 
stTreangle Treangle1;
Treangle1.a=LineA;
Treangle1.b=LineB;
Treangle1.c=LineC;
 
LineA.LongOfLine = sqrt((LineA.pB.x-LineA.pA.x)* (LineA.pB.x-LineA.pA.x)+(LineA.pB.y-LineA.pA.y)* (LineA.pB.y-LineA.pA.y)+(LineA.pB.z-LineA.pA.z)* (LineA.pB.z-LineA.pA.z)
 
LineB.LongOfLine = sqrt((LineB.pB.x-LineB.pA.x)* (LineB.pB.x-LineB.pA.x)+(LineB.pB.y-LineA.pA.y)* (LineB.pB.y-LineB.pA.y)+(LineB.pB.z-LineA.pA.z)* (LineB.pB.z-LineB.pA.z)
 
LineC.LongOfLine = sqrt((LineC.pB.x-LineC.pA.x)* (LineC.pB.x-LineC.pA.x)+(LineC.pB.y-LineC.pA.y)* (LineC.pB.y-LineC.pA.y)+(LineC.pB.z-LineC.pA.z)* (LineC.pB.z-LineC.pA.z)
 
stProperties Treangle1Properties;
 
Treangle1Properties.P = LineA.LongOfLine+ LineB.LongOfLine+ LineC.LongOfLine;
 
Treangle1Properties.S = sqrt((Treangle1Properties.P/2)*(( Treangle1Properties.P/2)- LineA.LongOfLine)* ((Treangle1Properties.P/2)*(( Treangle1Properties.P/2)- LineB.LongOfLine)* ((Treangle1Properties.P/2)*(( Treangle1Properties.P/2)- LineC.LongOfLine)
 
cout << “AB=<< LineA.LongOfLine << endl;
cout << “BC=<< LineB.LongOfLine << endl;
cout << “AC=<< LineC.LongOfLine << endl;
cout << “P=<< LineC.LongOfLine << endl;
cout << “S=<< LineC.LongOfLine << endl;
Getch();
 
Return 0;
}
P.S.
Больше никогда не буду так называть переменные.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
24.03.2014, 15:56     Как быстро найти ошибку? #2
Цитата Сообщение от MorfixProton Посмотреть сообщение
Как быстро найти ошибку?
Бороться и искать.

Цитата Сообщение от MorfixProton Посмотреть сообщение
Компилятор ничего не говорит, просто не компилит.
Очень мужественный компилятор у вас.
Вот вы нажимаете какую-нибудь кнопочку Run и... Что происходит? Пришлите скриншот этого самого.

Добавлено через 1 минуту
У меня на ваш код он ругается, что просто караул.
MorfixProton
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 194
24.03.2014, 16:00  [ТС]     Как быстро найти ошибку? #3
Добавлено через 1 минуту
Да в этом коде где-то одна или несколько глупых ошибок самых элементарных типо пропустил точку с запятой или букву
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
24.03.2014, 16:04     Как быстро найти ошибку? #4
MorfixProton, загружайте пожалуйста изображение прямо на форум. Чтобы оно не потерялось. Да и мало ли что.
http://www.cyberforum.ru/about-forum...tml#post594251
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
24.03.2014, 16:05     Как быстро найти ошибку? #5
MorfixProton, Нет файла iostream.h, есть iostream. Остальные заголовочные файлы тоже проверьте на правописание.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
24.03.2014, 16:08     Как быстро найти ошибку? #6
Цитата Сообщение от 0x10 Посмотреть сообщение
Нет файла iostream.h
Это чего это вдруг?
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
24.03.2014, 16:13     Как быстро найти ошибку? #7
SatanaXIII, давайте не будем тут устраивать гоп-driven-development с наездами "а если найду?". Мне влом пускаться в исторический экскурс и, поправив очки, рассказывать где этот файл лежит сейчас и почему не надо его подключать.
MorfixProton
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 194
24.03.2014, 16:15  [ТС]     Как быстро найти ошибку? #8
Одна ошибка есть:
C++ (Qt)
1
2
3
4
5
cout << “AB=<< LineA.LongOfLine << endl;
cout << “BC=<< LineB.LongOfLine << endl;
cout << “AC=<< LineC.LongOfLine << endl;
cout << “P=<< LineC.LongOfLine << endl;
cout << “S=<< LineC.LongOfLine << endl;
А должно быть:
C++ (Qt)
1
2
3
4
5
cout << "AB=" << LineA.LongOfLine << endl;
cout << "BC=" << LineB.LongOfLine << endl;
cout << "AC=" << LineC.LongOfLine << endl;
cout << "P=" << LineC.LongOfLine << endl;
cout << "S=" << LineC.LongOfLine << endl;
Но программа продолжает не работать.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
24.03.2014, 16:18     Как быстро найти ошибку? #9
MorfixProton, выше про заголовочные файлы почитайте.
И начните уже вместо "ааа, ничего не работат" указывать ошибки, о которых сообщает компилятор.
MorfixProton
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 194
24.03.2014, 16:19  [ТС]     Как быстро найти ошибку? #10
Ошибка номер 2 найдена:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
stLineOfTreangle LineA;
LineA.pA=CoordsP1;
LineA.pB=CoordsP2;
LineA.LongOfLine=0;
 
stLineOfTreangle LineA;
LineB.pA= CoordsP2;
LineB.pB= CoordsP3;
LineB.LongOfLine = 0;
 
stLineOfTreangle LineA;
LineC.pA= CoordsP1;
LineC.pB= CoordsP3;
LineC.LongOfLine = 0;
А должно быть:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
stLineOfTreangle LineA;
LineA.pA=CoordsP1;
LineA.pB=CoordsP2;
LineA.LongOfLine=0;
 
stLineOfTreangle LineB;
LineB.pA= CoordsP2;
LineB.pB= CoordsP3;
LineB.LongOfLine = 0;
 
stLineOfTreangle LineC;
LineC.pA= CoordsP1;
LineC.pB= CoordsP3;
LineC.LongOfLine = 0;
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
24.03.2014, 16:20     Как быстро найти ошибку? #11
Цитата Сообщение от MorfixProton Посмотреть сообщение
struct stPointOfTreangle CoordsP1 = {3, 0, 0};
struct stPointOfTreangle CoordsP2 = {0, 4, 0};
struct stPointOfTreangle CoordsP3 = {0, 0, 5};
Это Вы так объявляете объекты структуры?
MorfixProton
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 194
24.03.2014, 16:21  [ТС]     Как быстро найти ошибку? #12
Цитата Сообщение от 0x10 Посмотреть сообщение
И начните уже вместо "ааа, ничего не работат" указывать ошибки, о которых сообщает компилятор.
Я вобщето уже 2 ошибки нашол.
Цитата Сообщение от 0x10 Посмотреть сообщение
Нет файла iostream.h, есть iostream.
Без разницы как писать.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
24.03.2014, 16:26     Как быстро найти ошибку? #13
Намекну ещё раз.
struct stPointOfTreangle CoordsP1 = {3, 0, 0};
struct stPointOfTreangle CoordsP2 = {0, 4, 0};
struct stPointOfTreangle CoordsP3 = {0, 0, 5};
Вы уверенны, что здесь всё верно? Насколько я знаю структуры(не отрицаю, что не знаю), то должно быть так
stPointOfTreangle CoordsP1 = {3, 0, 0};
stPointOfTreangle CoordsP2 = {0, 4, 0};
stPointOfTreangle CoordsP3 = {0, 0, 5};
MorfixProton
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 194
24.03.2014, 16:28  [ТС]     Как быстро найти ошибку? #14
Цитата Сообщение от Тамика Посмотреть сообщение
Вы уверенны, что здесь всё верно? Насколько я знаю структуры(не отрицаю, что не знаю), то должно быть так
stPointOfTreangle CoordsP1 = {3, 0, 0};
stPointOfTreangle CoordsP2 = {0, 4, 0};
stPointOfTreangle CoordsP3 = {0, 0, 5};
Да точно! Спасибо.

Добавлено через 27 секунд
Но прога всё равно не робит.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
24.03.2014, 16:28     Как быстро найти ошибку? #15
Тамика, первый вариант тоже допустим на правах сишного наследия.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
24.03.2014, 16:30     Как быстро найти ошибку? #16
Цитата Сообщение от MorfixProton Посмотреть сообщение
Но прога всё равно не робит.
LineA.LongOfLine = sqrt((LineA.pB.x-LineA.pA.x)* (LineA.pB.x-LineA.pA.x)+(LineA.pB.y-LineA.pA.y)* (LineA.pB.y-LineA.pA.y)+(LineA.pB.z-LineA.pA.z)* (LineA.pB.z-LineA.pA.z))
Проверьте эти строки. Там скобки не хватает в конце каждой.

Добавлено через 40 секунд
И вряд ли есть библиотека <match.h>
Скорее - <math.h>
MorfixProton
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 194
24.03.2014, 16:35  [ТС]     Как быстро найти ошибку? #17
C++ (Qt)
1
2
3
4
5
LineA.LongOfLine = sqrt((LineA.pB.x-LineA.pA.x)* (LineA.pB.x-LineA.pA.x)+(LineA.pB.y-LineA.pA.y)* (LineA.pB.y-LineA.pA.y)+(LineA.pB.z-LineA.pA.z)* (LineA.pB.z-LineA.pA.z));
 
LineB.LongOfLine = sqrt((LineB.pB.x-LineB.pA.x)* (LineB.pB.x-LineB.pA.x)+(LineB.pB.y-LineB.pA.y)* (LineB.pB.y-LineB.pA.y)+(LineB.pB.z-LineB.pA.z)* (LineB.pB.z-LineB.pA.z));
 
LineC.LongOfLine = sqrt((LineC.pB.x-LineC.pA.x)* (LineC.pB.x-LineC.pA.x)+(LineC.pB.y-LineC.pA.y)* (LineC.pB.y-LineC.pA.y)+(LineC.pB.z-LineC.pA.z)* (LineC.pB.z-LineC.pA.z));
Тут и ";" не хватает вроде.
Ну я уже поставил.

Добавлено через 2 минуты
C++ (Qt)
1
double angle1, angle2, angle3, P, s;
А должно быть так:
C++ (Qt)
1
double angle1, angle2, angle3, P, S;
Забыл, что регистро-зависимый язык.

Добавлено через 1 минуту
C++ (Qt)
1
Treangle1Properties.S = sqrt((Treangle1Properties.P/2)*(( Treangle1Properties.P/2)- LineA.LongOfLine)* ((Treangle1Properties.P/2)*(( Treangle1Properties.P/2)- LineB.LongOfLine)* ((Treangle1Properties.P/2)*(( Treangle1Properties.P/2)- LineC.LongOfLine));
Показывает токо теперь эту строчку и название ошибки expected.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
24.03.2014, 16:35     Как быстро найти ошибку? #18
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вы катастрофически невнимательно пишете код.
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include  <iostream>
#include <conio.h>
#include  <math.h>
using namespace std;
 
int main()
{
 
struct stPointOfTreangle
{
double x;
double y;
double z;
};
 
struct stLineOfTreangle
{
stPointOfTreangle pA;
stPointOfTreangle pB;
double LongOfLine;
};
 
struct stTreangle
{
stLineOfTreangle a;
stLineOfTreangle b;
stLineOfTreangle c;
};
 
struct  stProperties
{
double angle1, angle2, angle3, P, S;
};
 
struct stPointOfTreangle CoordsP1 = {3, 0, 0};
struct stPointOfTreangle CoordsP2 = {0, 4, 0};
struct stPointOfTreangle CoordsP3 = {0, 0, 5};
 
stLineOfTreangle LineA;
LineA.pA=CoordsP1;
LineA.pB=CoordsP2;
LineA.LongOfLine=0;
 
stLineOfTreangle LineB;
LineB.pA= CoordsP2;
LineB.pB= CoordsP3;
LineB.LongOfLine = 0;
 
stLineOfTreangle LineC;
LineC.pA= CoordsP1;
LineC.pB= CoordsP3;
LineC.LongOfLine = 0;
 
stTreangle Treangle1;
Treangle1.a=LineA;
Treangle1.b=LineB;
Treangle1.c=LineC;
 
LineA.LongOfLine = sqrt((LineA.pB.x-LineA.pA.x)* (LineA.pB.x-LineA.pA.x)+(LineA.pB.y-LineA.pA.y)* (LineA.pB.y-LineA.pA.y)+(LineA.pB.z-LineA.pA.z)* (LineA.pB.z-LineA.pA.z));
 
LineB.LongOfLine = sqrt((LineB.pB.x-LineB.pA.x)* (LineB.pB.x-LineB.pA.x)+(LineB.pB.y-LineA.pA.y)* (LineB.pB.y-LineB.pA.y)+(LineB.pB.z-LineA.pA.z)* (LineB.pB.z-LineB.pA.z));
 
LineC.LongOfLine = sqrt((LineC.pB.x-LineC.pA.x)* (LineC.pB.x-LineC.pA.x)+(LineC.pB.y-LineC.pA.y)* (LineC.pB.y-LineC.pA.y)+(LineC.pB.z-LineC.pA.z)* (LineC.pB.z-LineC.pA.z));
 
stProperties Treangle1Properties;
 
Treangle1Properties.P = LineA.LongOfLine+ LineB.LongOfLine+ LineC.LongOfLine;
 
Treangle1Properties.S = sqrt((Treangle1Properties.P/2)*(( Treangle1Properties.P/2)- LineA.LongOfLine)* ((Treangle1Properties.P/2)*(( Treangle1Properties.P/2)- LineB.LongOfLine)* ((Treangle1Properties.P/2)*(( Treangle1Properties.P/2)- LineC.LongOfLine))));
 
cout << "AB=" << LineA.LongOfLine << endl;
cout << "BC=" << LineB.LongOfLine << endl;
cout << "AC=:" << LineC.LongOfLine << endl;
cout << "P=:" << LineC.LongOfLine << endl;
cout << "S=" << LineC.LongOfLine << endl;
getch();
 
return 0;
}
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
24.03.2014, 16:40     Как быстро найти ошибку? #19
MorfixProton, Return и Getch надо return и getch

Не по теме:

Чем то мне это напоминает рассказ о лишенном компьютеров детстве, когда автор решает задачу в тетрадке.



Добавлено через 4 минуты
Цитата Сообщение от MorfixProton Посмотреть сообщение
Показывает токо теперь эту строчку и название ошибки expected.
по-моему пропущены две правые скобки
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2014, 16:43     Как быстро найти ошибку?
Еще ссылки по теме:

Как быстро вывести в консоль C++
C++ Как быстро найти константы в уравнении плоскости?
Как рандомно заполнить вектор? Не могу найти ошибку C++

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

Или воспользуйтесь поиском по форуму:
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
24.03.2014, 16:43     Как быстро найти ошибку? #20
Цитата Сообщение от dimcoder Посмотреть сообщение
по-моему пропущены две правые скобки
В ошибках этого кода можно увязнуть навсегда и жизнь больше никогда не станет прежней...
Вот у меня уже краски мира сего пропали. Лишь черные и белые цвета.
Yandex
Объявления
24.03.2014, 16:43     Как быстро найти ошибку?
Ответ Создать тему
Опции темы

Текущее время: 13:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru