|
|
|
| Здраствуйте ! Хочу попросить Вас помочь мне начать изучения языка С++. В наличае я имею книгу "С++ для чайников" 4-е издание Стефан Р. Дэвис. По ходу изучения языка С++ в данной книге я сразу же столкнулся с первой проблемой: Если я не ошибаюсь то данная книга предназначена для системы GNU C++? У меня ХР Майкросфт. Я незнаю где можно скачатьGNU C++ и подойдёт ли она под ХР? А возможно заменить GNU C++ на Borland C++ builder или Visual C++, и если можно то где можно скачать по изучении Borland C++ builder или Visual C++, для дальнеёшего изучения С++ ??????? Я практически незнаком ни с С ни с С++.Посоветуйте что нужно делать и с чего начинать человеку который только начинает изучении прогораммирования и С++.Пожалуйста помогите мне в выборе оптимальной программы для изучения С++ (нужной)............заранее спасибо Вам !!! | |
|
|
|
|
|
|
|
для: taax
(26.01.2008 в 13:02)
| | >GNU C++ для Windows XP
Вы можете ориентироваться на Dev-C++ - это порт компилятора GNU под Windows.
При изучении языка вы можете ориентироваться на любую из сред разработки - язык везде одинаковы, разные библиотеки, а также порядок сборки и компиляции программ. Если вы выберете Builder С++ или Visual С++ и у вас возникнут какие-то вопросы, вы можете смело обращаться на этот форум. Я так понимаю вы сейчас изучаете чистый C++ (без привязки к графическим библиотекам)? Тут подойдёт любая среда - каждая из них позволяет создавать консольные проекты. | |
|
|
|
|
|
|
|
для: cheops
(26.01.2008 в 13:20)
| | Я тоже учусь по этой книге, возникла следующая проблема:
В unixе я работать не умею, поэтому пользуюсь Dev-C++. Создал (вернее перепечатал) программу, скомпилировал ее (было написано, что компиляция прошал успешно), ввел значение, окно закрылось. А вот дальше нужно открыть окно с получившимся результатом (в книге написано нажать Alt+F5, но, видимо, "горячие клавиши" в GNU C++ и Dev-C++ не совпадают), а сделать это не удается. Помогите, кто может. Заранее благодарен!!! | |
|
|
|
|
|
|
|
для: Марат
(29.11.2008 в 01:38)
| | Вы можете поставить в конце system("pause"); - тогда окно не закроется, пока вы не нажмете любую клавишу.
http://www.softtime.ru/cpp/read.php?id_forum=2&id_theme=32 | |
|
|
|
|
|
|
|
для: cheops
(29.11.2008 в 14:55)
| | Я попробовал, не получается. Мне кажется, пока для меня легче лишний раз потыкать, чем что-то писать в код программы. Поэтому, может вы подскажете, как это сделать? | |
|
|
|
|
|
|
|
для: Марат
(29.11.2008 в 20:27)
| | можно сделать попроще,
В DevCpp есть
Сервис->Настройка инструментов-> ....
Там например я добавил такой инструмент
Заголовок : CMD
Программа: cmd
Рабочий каталог: <PROJECTPATH>
Параметры: /k <EXENAME>
"Две последних строки можно выбрать из доступных макросов"
И появилось меню Сервис->CMD
Нажав, запустите толькочто скомпилированный файл из коммандной строки
, и окно не закроется
Для того чтобы выходить по нажатию любой кнопки сделаите такие параметры
/k <EXENAME> & pause & exit
быструю кнопку не нашёл как добавить, и возможно что пробелы в путях к файлу могут помешать и нужно будет тогда что-то думать с двойными кавычками | |
|
|
|
|
|
|
|
для: exp
(29.11.2008 в 22:48)
| | Спасибо, но мне больше понравилось system("pause"); | |
|
|
|
|
|
|
|
для: Марат
(30.11.2008 в 10:07)
| | А с кодировками кто-нибудь может помочь? | |
|
|
|
|
|
|
|
для: Марат
(30.11.2008 в 13:03)
| | Юзайте (найдите/напишите) функцию перекодировки DOS=>WIN1251. и выводите текст через нее в ДОС приложениях. | |
|
|
|
|
|
|
|
для: ddhvvn
(30.11.2008 в 14:53)
| | Извините, но можно по-подробнее, словом, как "для тупых". Очень нужно!!! | |
|
|
|
|
|
|
|
для: Марат
(01.12.2008 в 12:31)
| | мне кажется что почтенный ddhvvn хотел объяснить что консольные окна в виндоус могут отображать русский алфавит
, только для этого нужно чтобы текст выводимых данных в программе был написан в кодировке cp866,
называемой DOS-кодировкой.
редакторы во многих компиляторах работают только сохраняя текст в кодировке cp1251.
Если сильно нужно , можно перед тем как компилировать, перекодировать текст,
например есть такой редактор AkelPad, просто перед компиляцией открыть им исходные файлы и "сохранить как cp866",
примерно такая есть опция в нём.
Или примерно так-же как в этой теме было написано про кнопку вызывающую cmd.exe ,
добавить кнопку , которая будет вызывать простенькую програмку, например на C,
даже можно сделать Bat-файл, всего только нужно прочитать, заменить 33 одних байта 33мя другими
, или забыл сколько букв в алфавите :), и записать файл.
Но cp866 позволяет рисовать в тексте всякие рамочки, закрашивать , ...
как koi8r (она-же cp20866) кажется тоже.
а такой подход с перекодировкой сильно затруднит рисование в редакторе :)
и по этому никто не торопится делать такую программку :)
Заставить редактор DevCpp сохранять файл в нужной кодировке, если и можно, то для этого придётся перекомпилировать DevCpp.exe, который ещё и видно упакован каким-то exe-упаковщиком
, а исходный код пока ещё не видел :), может быть даже он открыто распостраняется | |
|
|
|
|
|
|
|
для: Марат
(01.12.2008 в 12:31)
| | Случайно получился тут такой код ,) который выводит все символы, и их hex-значения
main() {
unsigned i, p;
unsigned char linebuf[17];
for( p = 0, i = 0; p < 256; p++ )
{
linebuf[i++] = p;
printf( "%.2x ", p );
if( i == 16 )
{
linebuf[i] = '\0';
printf( " %16s\n", linebuf );
i = 0;
}
}
getch();
} |
Интересно что компилируется в DevCpp даже так, без указания заголовочных файлов , stdio.h, conio.h ....
(Если в настройках C-компилятора стоит "Поддержка стандартных ANSI-программ==No")
Но всётаки есть то что мне не нравится с этим gcc-компилятором,)
то что у компиляторов, чтобы вставить ассемблерный код в С-программу , делается просто
_asm{
здесь простой код с intel-синтаксисом (если правильно называю)
}
на GCC используется какой-то AT&T-синтаксис ассемблера
http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html -здесь об этом по английски
и какойто он неудобный этот синтаксис | |
|
|
|
|
|
|
|
для: exp
(04.12.2008 в 11:25)
| | А чем Visual Studio не устраивает? | |
|
|
|
|
|
|
|
для: GeorgeIV
(04.12.2008 в 14:46)
| | У меня его пока нету , и не разу даже не видел что это такое ;)
Купил диск с 2003им кажется, других не нашёл в то время, а там несколько cab-архивов не хотят распаковаться,
обошёл чтобы не просило вставить диск, ещё другие cab'ы упёрлись, как-раз из основных каких-то.
PlatformSDK только установил , из интернета , три ночи качал по GPRS ;)
И так компилируются некоторые программки , если долго колдовать над коммандной строкой
, и вызывать программы из папки , куда установилось что-то похожее на .NET SDK
:) в магазин никак не доеду , должно-бы появиться наверное это 2008 | |
|
|
|
|
|
|
|
для: exp
(04.12.2008 в 18:03)
| | Вообще то, если канал позволяет, можно скачать официальную версию с сайта Микрософт. Я так скачивал и работаю на легальной копии. | |
|
|
|
|
|
|
|
для: GeorgeIV
(04.12.2008 в 19:00)
| | Это мне надо не спать неделями , чтобы скачать такой объём,)
Вспомнил тут одно обстоятельство , почему не всё хорошо то что в DevCpp,
Если хотябы просто написать программу
#include <здесь забыл какое слово>
using namespace std;
main()
{
cout << "HelloWorld" <<endl;
}
то exe-файл получается размером не меньше 0.2M
VC вроде должно получиться что-то около 6-и килобайт, хотя точно не скажу.
Нашёл как-то случайно сайт на котором можно было ввести в форме (в которой уже даже написано почти то-же) код и посмотреть результаты компиляции разными компиляторами, там такая-же разница в результатах при выборе gcc и vc получалась , но сколько нее пытался спустя пару дней найти этот адрес , так и не смог, помню только пару слов типа Compiler Compiliance в заголовке жирными буквами, и что небольшая такая страничка, мучал Гугля, не колется .)
И приходится стараться писать printf("HelloWorld\n") ;) | |
|
|
|
|
|
|
|
для: GeorgeIV
(04.12.2008 в 14:46)
| | Вот у меня Есть Visual Studio, но там можно создать лиюо проект либо отдельный файл, откуда следуют 2 пути:
1) если создавать проект, то там куча разных файлов образовывается, ещё вопрос какой именно проект выбирать там их тьма тьмущая... И если создаёшь то там сразу что то написано в файле *.cpp так что непонятно куда писать саму прогу...
2)если создавать отдельный файл *.cpp то его нельзя скомпилировать =((( не получается, да ещё и ошибки вылетают =(
Вот например текст:
//Fahrenheit = NCelsius * (212 - 32)/100 + 32
//
#include <stdio.h>
#include <iostream.h>
int main (int nNumberofArgs, char * pszArgs [ ] )
{ //Программа для преобразования
// градусов Цельсия в градусы Фаренгейта:
int nNCelsius;
cout <<"Введите температуру по Цельсию: ";
cin >> nNCelsius;
int nNFactor = 212 - 32;
int nFahrenheit = nNFactor * nNCelsius/100 + 32;
cout << "Температура по Фаренгейту: ";
cout << nFahrenheit;
return 0;
}
Работаает на DEV-C++ если дописать system("pause");
Если же такое написать в Visual Studio то вылетают ошибки о:
неизвестной iostream.h
неизвестной cin и т.д.
помогите если можете как данную прогу написать в Visual Studio 2008 и так чтобы потом можно было откомпилировать нормально... | |
|
|
|
|
|
|
|
для: DreamMaster
(15.10.2009 в 00:27)
| | Точно сейчас уже не уверен, что будет работать (настройки все попеределывал однажды, а оказалось что восстановление сохранённых настроек не совсем функционирует)
но должно работать
Файл->Создать->Проект
Выбираю Win32 -> Консольный проект
затем убираю галочку с "использовать предкомпилированные заголовки"
и ставлю галочку на "пустой проект"
Проект создаётся
Далее на папке проекта "Файлы исходного кода" Вызываю из контекстного меню "Добавить->Создать элемент"
Создаю пустой файл main.cpp
и потом в вашем коде нужно из #include вставить только один
#include <iostream>
и ниже дописать
using namespace std;
и всё . Потом построение->Перестроить проект
всё компилируется, запустить можно из Отладка->Начать отладку
, если поставить брэкпоинт на строчке с return , можно не писать system('pause');
Всё тоже самое можно сделать изменяя любой win32 проект
, но придётся немного копаться в свойствах проекта, и смотреть что каждая настройка делает с коммандной строкой для компилятора, или для линковщика
и под новые темы лучше заводить новые вопросы :) | |
|
|
|
|
|
|
|
для: Марат
(29.11.2008 в 01:38)
| | ЙО МаЙО, ПАпробуй сделать так
ВВодишь после int main() {
float c;
а потом в конце cin>>c;
return 0;
}
а че,мне помогло! | |
|
|
|
|
|
|
|
для: cheops
(26.01.2008 в 13:20)
| | Приветствую всех. Я как нестрано тоже учусь по этой книге... Нашёл на вашем форуме порт Dev-C++, срисовал с книги программу про всё те же градусы... У меня такая проблема: Вылезает 2 окна,1ое где черный фон (вероятно куда нужно вводить значения),2ое серый фон (вероятно должен быть ответ),однако в 1ое окно ничего не вводиться... В чём проблема? Скомпелировалось все чётко,без ошибок. | |
|
|
|
|
|
|
|
для: NoNA
(05.10.2009 в 21:20)
| | Под новый вопрос лучше завести все-таки отдельную тему и прикрепить файл с текстом программы, чтобы можно было воспроизвести ситуацию. | |
|
|
|
|
|
|
|
для: cheops
(26.01.2008 в 13:20)
| | удаленно | |
|
|
|
|
|
|
|
для: taax
(26.01.2008 в 13:02)
| | Привет! Вот у меня маленький вопросик: эта книга "С++ для чайников" насколько она хорошая и как она вам помогла? Я тоже ее приобрел и хочу сразу узнать поможет она или нет | |
|
|
|
|
|
|
|
для: phoenix
(21.02.2009 в 17:31)
| | Поторопился со вставками asm кода, и
оказалось компилируется ,) например такой код
main() {
char *buf = "Строка";
__asm__ ("push esi \n\
mov esi, %0"::"m"(buf));
__asm__ ("push 1 \n\
push esi \n\
push esi \n\
push 0 \n"
"call _MessageBoxA@16 \n"
"xor eax,eax\n\
pop esi"
);
printf("%s\n", buf);
getch();
putch(7); // символ 0x07
}
|
так-же вез #include`sов
только нужно кроме кроме выключения
"Проект-параметры-Компилятор-Компилятор С-поддержка стандартных ..."
ещё добавлять строку -masm=intel ? там где
"Проект-параметры-Параметры-'Компилятор'"
непонятно почему кроме messageboxёа ничего не показывает :) но работает
но хоть понять можно попробовать чего получается , если такой C:\Dev-Cpp\bin\gcc -S -masm=intel byte.c строкой всё в byte.s перегонять
А VS поставил всётаки, но никакого там C у меня почемуто , одно Cpp :) | |
|
|
|
|
|
|
|
для: exp
(05.06.2009 в 21:12)
| | А VS поставил всётаки, но никакого там C у меня почемуто , одно Cpp :) |
Там все есть. Как компилировать, как С или С++ сам задаешь в опциях проекта. | |
|
|
|
|
|
|
|
для: taax
(26.01.2008 в 13:02)
| | Короче, попробуй юзать Virtual Box в качестве линукса =) | |
|
|
|
|
|
|
|
для: taax
(26.01.2008 в 13:02)
| | Новый вопрос про ошибки компиляции перенесены в новую тему. Пожалуйста заводите новые темы под новые вопросы. | |
|
|
|
|
|
|
|
для: cheops
(07.11.2011 в 13:11)
| | Компилирую исходник примерно такой командой: gcc -s hello.c -o hello.exe
Что в данном случае означает ключ -s(s - маленькая).
Догадываюсь, что это strip. | |
|
|
|