Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/76: Рейтинг темы: голосов - 76, средняя оценка - 4.86
Smirnoffmc
0 / 0 / 0
Регистрация: 23.06.2010
Сообщений: 8
1

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

24.06.2010, 10:57. Просмотров 14057. Ответов 16
Метки нет (Все метки)

Добрый день господа,очень хочу попросить совета профессионалов.
Учусь программированию на С++,С,но столкнулся с дилеммой,что выбрать к примеру:Visual C,или Dev?
Пользую учебник Харви&Пола Дейтелов,там все прекрасно описано,доступно,но есть маленькое "Но",там нет ни слова о том,какой компилятор взять.
Dev на многое ругается,хоть и интерфейс у него русскоязычный и вполне удобный,Visual тоже нравится,но функционал у него мне кажется лучше.
Если возможно,не гнобите чайник,помогите пожалуйста советом,буду премного благодарен.
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2010, 10:57
Ответы с готовыми решениями:

Какой компилятор выбрать для лучшего изучения С++ по книге Берна Страуструпа?п
Какой компилятор выбрать для лучшего изучения С++ по книге Берна Страуструпа?...

Какой компилятор и IDE C++ лучше
Планирую писать огромное консольное приложение. Единственное ограничение это...

Какой компилятор выбрать
Пишу диплом... Мне надо в документации указать почему я выбрал именно язык с++,...

Какой компилятор C++ выбрать?
Какой компилятор C++ сейчас наиболее популярный под Windows? Имеется ввиду...

Какой графический интерфейс лучше выбрать
Доброго времени суток. Учу потихоньку C++, решаю задачки в консольке, но...

16
Daynine
8 / 8 / 1
Регистрация: 18.11.2009
Сообщений: 24
24.06.2010, 11:28 2
Dev - необновляется с 2006 (или 2005) чтоли года. Если он тебе понравился можеш попробовать wxDEV C++. Вообще в принципе выбор компилятора зависит от тебя: где удобнее etc. В принципе код (ну с небольшими доработками) пойдет под все компиляторы.

ЗЫ. Сам использую BorlandX и VS 2008
1
PointsEqual
ниначмуроФ
840 / 524 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
24.06.2010, 11:33 3
так что нужно? вы про компиляторы говроите или про IDE?

Добавлено через 3 минуты
Smirnoffmc, среды разработки вот тут можно посмотреть
Бесплатные среды (IDE) для программирования на С/С++
1
Smirnoffmc
0 / 0 / 0
Регистрация: 23.06.2010
Сообщений: 8
24.06.2010, 16:00  [ТС] 4
Спасибо товарищи,выручили очень,я за недостатком времени не посмотрел,что dev не обновляется=(
пытался прогать,а он ругается=)
0
easybudda
Модератор
Эксперт CЭксперт С++
10113 / 6019 / 1510
Регистрация: 25.07.2009
Сообщений: 11,408
24.06.2010, 16:14 5
Smirnoffmc, На самом деле есть стандарт как для языка С, так и для языка С++. Если программа написана в соответствии со стандартом и компилятор этот стандарт поддерживает, то проблем при компиляции возникать не должно. К примеру стандарт ANSI C 89 поддерживают и компиляторы gcc и мелкомягкие cl. Другое дело, что разные компиляторы часто поддерживают конструкции, не соответствующие никаким стандартам, соответственно и код, написанный с использованием этих конструкций другими компиляторами правильно обрабатываться не будет.

Цитата Сообщение от Smirnoffmc Посмотреть сообщение
пытался прогать,а он ругается
Вы бы прежде, чем на компилятор ругаться, выложили, что там "напрогали" и какие ошибки выдаются...
1
Smirnoffmc
0 / 0 / 0
Регистрация: 23.06.2010
Сообщений: 8
25.06.2010, 14:37  [ТС] 6
Я просто пока еще достаточно ламер=) но стараюсь разобраться.
Спасибо за помощь=)


Тема:прога использует 6 операторов if,что бы сравнить 2 введенных пользователем числа.
Если условие в любом из операторов истинно,то выполняется оператор printf.
Там,где выделено красным,а именно строка scanf("%d%d", &num1 ,&num2");

Мой Dev-C++4.9.9.2 пишет следующее в журнале компиляции:
Компилятор: Default compiler
Выполнение g++.exe...
g++.exe "D:\Borland\Dev-Cpp\Безымянный1.cpp" -o "D:\Borland\Dev-Cpp\Безымянный1.exe" -g3 -I"D:\Borland\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"D:\Borland\Dev-Cpp\include\c++\3.4.2\backward" -I"D:\Borland\Dev-Cpp\include\c++\3.4.2\mingw32" -I"D:\Borland\Dev-Cpp\include\c++\3.4.2" -I"D:\Borland\Dev-Cpp\include" -L"D:\Borland\Dev-Cpp\lib" -g3
D:\Borland\Dev-Cpp\Безымянный1.cpp: In function `int main()':
D:\Borland\Dev-Cpp\Безымянный1.cpp:9: error: missing terminating " character
D:\Borland\Dev-Cpp\Безымянный1.cpp:10: error: expected `)' before "if"
Выполнение завершено


Буду очень признателен,хочу разобраться,и почему происходит ошибка=)




Вот и код проги:

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
#include"stdio.h"
 
main()
 {
    int num1, num2;
     printf("Enter two integers,and will tell you\n");
      printf("The relationships they satisfy\n");
   
  scanf("%d%d", &num1 ,&num2"); // !!!
if (num1==num2)
     printf("%d is equal to %d\n, num1, num2");
if (num1!=num2)
     printf("%d is not equal to %d\n, num1, num2");
if (num1<num2)
     printf("%d is less than %d\n, num1, num2");
if (num1>num2)
     printf("%d is greater than %d\n, num1, num2");
if (num1<=num2)
     printf("%d is less than or equal to %d\n, num1, num2");
if (num1>=num2)
     printf("%d is greater or equal to %d\n, num1, num2");   
     
return 0;
     }

Добавлено через 53 секунды
Буду благодарен за ссылочку на стандарт=)
0
fasked
Эксперт С++
4982 / 2561 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
25.06.2010, 14:40 7
Цитата Сообщение от Smirnoffmc Посмотреть сообщение
scanf("%d%d", &num1 ,&num2");
C
1
scanf(%d%d", &num1, &num2);
зачем же кавычка в конце?
кстати о ней вам и пытались донести в выданных ошибках
1
Smirnoffmc
0 / 0 / 0
Регистрация: 23.06.2010
Сообщений: 8
25.06.2010, 15:00  [ТС] 8
Спасибо ОГРОМНОЕ=)))я просто пока еще совсем мало об этом знаю.

Добавлено через 4 минуты
Здорово,она начала работать без ошибок=)))))
0
illuminati
20 / 20 / 5
Регистрация: 14.06.2010
Сообщений: 108
25.06.2010, 15:17 9
кхм, а зачем пользователю говорить о том что числа не равны, если в итоге программа скажет что одно число больше другого?
по-моему лучше так:
C
1
2
3
4
5
6
7
8
9
if (num1==num2)
printf("%d is equal to %d\n, num1, num2");
else
{
if (num1<num2)
printf("%d is less than %d\n, num1, num2");
if (num1>num2)
printf("%d is greater than %d\n, num1, num2");
}
Добавлено через 1 минуту
пишите сначала алгоритм перед написанием программ...
1
easybudda
Модератор
Эксперт CЭксперт С++
10113 / 6019 / 1510
Регистрация: 25.07.2009
Сообщений: 11,408
25.06.2010, 15:39 10
"хитрый" вариант того же самого
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main(void){
    int a, b;
    printf("A = ");
    scanf("%d", &a);
    printf("B = ");
    scanf("%d", &b);
    printf("A is %s B\n", ( a == b ) ? "equal to" : ( a < b ) ? "less then" : "greater then");
    return 0;
}
1
illuminati
20 / 20 / 5
Регистрация: 14.06.2010
Сообщений: 108
25.06.2010, 16:46 11
easybudda, тернарная операция веселая штука, но сдесь говорилось про if ...
0
easybudda
25.06.2010, 16:48
  #12

Не по теме:

illuminati, ну мало ли, про что тут говорилось... Тут и компилятор по началу плохой был - текст с ошибкой не компилировал... ;)

0
Smirnoffmc
0 / 0 / 0
Регистрация: 23.06.2010
Сообщений: 8
25.06.2010, 17:58  [ТС] 13
Ну лан чмырить Вам меня=)откуда же я знал? я только начинаю=)) изучаю вечерами и ночами,когда время есть....
0
illuminati
20 / 20 / 5
Регистрация: 14.06.2010
Сообщений: 108
25.06.2010, 18:30 14
Smirnoffmc, повторюсь, перед тем как пытаться написать ту или иную программу, набросай на листочке алгоритм, или хотя бы пошагово списком, как ты представляешь себе решение задания, очень помогает экономить время(я так понимаю у тебя его нет)

easybudda, я понял, это было сродни "раз пошла такая пьянка на счет оптимизации, то вот и тернарная)))", сори за оффтоп)
1
%binary%
52 / 11 / 1
Регистрация: 04.02.2011
Сообщений: 126
26.03.2011, 19:22 15
Вот вам ссылка на IDE Dev-C++ с компилятором mingv

http://sourceforge.net/projects/dev-...p.exe/download

И вот, если требуется помощь, или просто захотите поделиться своими достижениями.

http://www.facebook.com/home.php?sk=group_190069384367667&ap=1
0
vitaska
90 / 90 / 15
Регистрация: 04.02.2010
Сообщений: 162
26.03.2011, 22:44 16
мой вам совет code::blocks как альтернатива VisualStudio и Dev C++
0
%binary%
52 / 11 / 1
Регистрация: 04.02.2011
Сообщений: 126
27.03.2011, 12:40 17
Вот вам программа для решения квадратных уравнений.

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
 
int main(void)
{
    setlocale(LC_ALL,"Rus");
    system("color f0");
    system("title sqrt v 1.1");
    double a,b,c,d,x1,x2,s;
    std::cout << " введите a ";
    std::cin >> a;
    if (a==0)
    {
            std::cout << " линейное уравнение";
            std::cout << std::endl;
            std::cout << std::endl;
            std::cout << " начать снова? ";
            std::cin >> s;
            if (s==0)
            {
                     std::cout << " до встречи!";
                     system("pause >nul");
                     return -2;
            }
            if (s>0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            if (s<0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            return -1;
    }
    std::cout << " введите b ";
    std::cin >> b;
    if (b==0)
    {
            std::cout << " неполное квадратное уравнение";
            std::cout << std::endl;
            std::cout << std::endl;
            std::cout << " начать снова? ";
            std::cin >> s;
            if (s==0)
            {
                     std::cout << " до встречи!";
                     system("pause >nul");
                     return -2;
            }
            if (s>0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            if (s<0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            return -1;
    }
    std::cout << " введите c ";
    std::cin >> c;
    if (c==0)
    {
            std::cout << " неполное квадратное уравнение";
            std::cout << std::endl;
            std::cout << std::endl;
            std::cout << " начать снова? ";
            std::cin >> s;
            if (s==0)
            {
                     std::cout << " до встречи!";
                     system("pause >nul");
                     return -2;
            }
            if (s>0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            if (s<0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            return -1;
    }
    d=b*b-4*a*c;
    std::cout << " дискриминант = " << d;
    std::cout << std::endl;
    if (d<0)
    {
            std::cout << " уравнение не имеет решений";
            std::cout << std::endl;
            std::cout << std::endl;
            std::cout << " начать снова? ";
            std::cin >> s;
            if (s==0)
            {
                     std::cout << " до встречи!";
                     system("pause >nul");
                     return -2;
            }
            if (s>0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            if (s<0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            return -1;
    }
    if (d==0)
    {
            x1=-b/(2*a);
            std::cout << " x = " << x1;
            std::cout << std::endl;
            std::cout << std::endl;
            std::cout << " начать снова? ";
            std::cin >> s;
            if (s==0)
            {
                     std::cout << " до встречи!";
                     system("pause >nul");
                     return -2;
            }
            if (s>0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            if (s<0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            return -1;
    }
    if (d>0)
    {
            x1=(-b+sqrt(d))/(2*a);
            std::cout << " x1 = " << x1;
            std::cout << std::endl;
            x2=(-b-sqrt(d))/(2*a);
            std::cout << " x2 = " << x2;
            std::cout << std::endl;
            std::cout << std::endl;
            std::cout << " начать снова? ";
            std::cin >> s;
            if (s==0)
            {
                     std::cout << " до встречи!";
                     system("pause >nul");
                     return -2;
            }
            if (s>0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            if (s<0)
            {
                     system("start sqrt(v_1.1).exe");
                     return -2;
            }
            return -1;
    }
    return 0;
}
0
27.03.2011, 12:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2011, 12:40

Где скачать какой-нибудь компилятор С++ для программ под DOS
Народ!!! Подскажите, пожалуйста, где скачать какой-нибудь компилятор С++ для...

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

Какой учебник лучше для изучения С++
Л. Джонс - С++ за 21 день Р.Лафоре 4е издание - Объектно-ориентированное...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

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