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

Знаю С, написать ничего толкового не могу, нужен совет опытных - C++

Восстановить пароль Регистрация
 
 
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 369
Завершенные тесты: 2
15.12.2013, 01:30     Знаю С, написать ничего толкового не могу, нужен совет опытных #1
Всем привет! года так 1.5 назад начал учить язык С/С++, итог тому, выучил С, в принципе знаю 80% языка, но проблема вот в чем, я не могу написать ничего толкового, абсолютно, пишу только никому не нужные консольные приложения и в очередной раз закрепляю знания, а как написать что-то большее, я не знаю и даже не представляю с чего начать? Подскажите пожалуйста, может есть какая литература, которая не просто сам язык раскрывает, скажем так, а где еще будут даваться задачи, а то КПД от обучения С у меня 0... Кто с чего начал скажите пожалуйста... Может вы задачи дадите мне, а я реализую...

А то надоело писать всякие калькуляторы и прочие "Хеллоу ворлды".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 01:30     Знаю С, написать ничего толкового не могу, нужен совет опытных
Посмотрите здесь:

Нужен совет! C++
C++ Нужен совет
Нужен совет C++
C++ Маленькая кучках глупых вопросов (отвечайте по проще, я еще ничего не знаю ;)
C++ необходим совет опытных программистов c++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
15.12.2013, 01:45     Знаю С, написать ничего толкового не могу, нужен совет опытных #2
ASCII, как вам идея написания простенького текстового редактора, чтобы можно было редактировать код, написанный на разных языках, и чтобы синтаксис подсвечивался, и строки были пронумерованны? Уже делали?
_lunar_
Graphics API Developer
1197 / 1123 / 76
Регистрация: 03.05.2011
Сообщений: 2,741
15.12.2013, 01:45     Знаю С, написать ничего толкового не могу, нужен совет опытных #3
ну так перейдите с консоли на GUI.
за полтора года вам ни разу не захотелось написать аудио\видео плеер, трейнер для игры, поработать с directx, написать библиотеку или hook?
язык C\C++ универсален, на нём можно написать практически всё что угодно. Всё зависит от вашей фантазии.
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 369
Завершенные тесты: 2
15.12.2013, 01:49  [ТС]     Знаю С, написать ничего толкового не могу, нужен совет опытных #4
Цитата Сообщение от StackOverflow Посмотреть сообщение
ASCII, как вам идея написания простенького текстового редактора, чтобы можно было редактировать код, написанный на разных языках, и чтобы синтаксис подсвечивался, и строки были пронумерованны? Уже делали?
Вот честно скажу, даже ума не приложу как это можно сделать...
Вот когда я 3 года учил php, то не решимых задач не было, сразу алгоритм вырисовыволся в голове, что и как сделаю, только подумав о идее, а тут...
Я за пределами консольных приложений полный 0 =((

Добавлено через 1 минуту
Цитата Сообщение от _lunar_ Посмотреть сообщение
ну так перейдите с консоли на GUI.
за полтора года вам ни разу не захотелось написать аудио\видео плеер, трейнер для игры, поработать с directx, написать библиотеку или hook?
язык C\C++ универсален, на нём можно написать практически всё что угодно. Всё зависит от вашей фантазии.
приходило конечно на ум, но все заканчивалось тем, что я понимал, что не осилю этого, ибо знаний недостаточно и опять начинал копать язык...
я просто не знаю в какую сторону смотреть скажем так... Ибо куда не глянь, везде свои библиотеки, а свои библиотеки "Серьезные" создать не могу, в одиночку подобное OpenGL ведь не напишешь...
FreeLanceHelp
Заблокирован
15.12.2013, 01:54     Знаю С, написать ничего толкового не могу, нужен совет опытных #5
Цитата Сообщение от _lunar_ Посмотреть сообщение
ну так перейдите с консоли на GUI.
за полтора года вам ни разу не захотелось написать аудио\видео плеер, трейнер для игры, поработать с directx, написать библиотеку или hook?
язык C\C++ универсален, на нём можно написать практически всё что угодно. Всё зависит от вашей фантазии.
Не подскажите с чего начать для написания трейнера для игры. как вклинится в процесс игры? и тому подобное...
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
15.12.2013, 02:00     Знаю С, написать ничего толкового не могу, нужен совет опытных #6
Большие приложение просто так "с коленки" не пишутся. Выучите UML (это займёт 1 час времени). Почитайте книги на тему паттернов, рефакторинга, и разработки крупных проектов (желательно читать всё на английском, иначе вам хорошим программистом, скорей всего не стать). Сначала разрабатывать ничего не нужно. Возьмите какой-нибудь средний готовый опен-сорсный проект. Откомпилируйте его. Попробуйте разобраться в какой-либо функции - что-то прикрутить или изменить (с умом конечно). В конце-концов устройтесь в какую-то контору. Пусть вам там будут платить копейки, но вы получите опыт, который читая книги не приобретёшь. Ну, надеюсь, вы поняли в каком направлении двигаться...
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 369
Завершенные тесты: 2
15.12.2013, 02:03  [ТС]     Знаю С, написать ничего толкового не могу, нужен совет опытных #7
Цитата Сообщение от xtorne21st Посмотреть сообщение
Большие приложение просто так "с коленки" не пишутся. Выучите UML (это займёт 1 час времени). Почитайте книги на тему паттернов, рефакторинга, и разработки крупных проектов (желательно читать всё на английском, иначе вам хорошим программистом, скорей всего не стать). Сначала разрабатывать ничего не нужно. Возьмите какой-нибудь средний готовый опен-сорсный проект. Откомпилируйте его. Попробуйте разобраться в какой-либо функции - что-то прикрутить или изменить (с умом конечно). В конце-концов устройтесь в какую-то контору. Пусть вам там будут платить копейки, но вы получите опыт, который читая книги не приобретёшь. Ну, надеюсь, вы поняли в каком направлении двигаться...
а Вы могли бы дать литературу какую-нибудь, по тому что Вы перечислили?
Работать сейчас не могу, я первокурсник на очном, 18 лет, просто времени не будет.
у меня есть исходники игры от диснея, Корсары 2: Пираты карибского моря, написано все ясно, но что это за функции и что за типы данных я как говорится в душе не ... =)))
Заранее спасибо.
_lunar_
Graphics API Developer
1197 / 1123 / 76
Регистрация: 03.05.2011
Сообщений: 2,741
15.12.2013, 02:04     Знаю С, написать ничего толкового не могу, нужен совет опытных #8
Цитата Сообщение от FreeLanceHelp Посмотреть сообщение
Не подскажите с чего начать для написания трейнера для игры. как вклинится в процесс игры? и тому подобное...
всё очень просто - нужно найти идентификатор процесса и его хендл, далее WriteProcessMemory. Немного посложнее это поиск базовых адресов, здесь лучше воспользоваться CheatEngine или ArtMoney.
C++
1
2
3
4
HWND hWnd = FindWindow(NULL, "limbo");
DWORD pID;
GetWindowThreadProcessId(hWnd, &pID);
HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID);
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
15.12.2013, 02:08     Знаю С, написать ничего толкового не могу, нужен совет опытных #9
ASCII, Возьмите что-то поменьше... А из авторов - GoF, Рихтер для начала. И побольше работать с уже готовым кодом...
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 369
Завершенные тесты: 2
15.12.2013, 02:10  [ТС]     Знаю С, написать ничего толкового не могу, нужен совет опытных #10
Цитата Сообщение от xtorne21st Посмотреть сообщение
ASCII, Возьмите что-то поменьше... А из авторов - GoF, Рихтер для начала. И побольше работать с уже готовым кодом...
А можно полное название, что-то вроде - Г. Шилдт Полный справочник по С?
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
15.12.2013, 02:16     Знаю С, написать ничего толкового не могу, нужен совет опытных #11
Цитата Сообщение от ASCII Посмотреть сообщение
А можно полное название, что-то вроде - Г. Шилдт Полный справочник по С?
Погугрите: Рихтер - рефакторинг. Ну и просто GoF
_lunar_
Graphics API Developer
1197 / 1123 / 76
Регистрация: 03.05.2011
Сообщений: 2,741
15.12.2013, 02:22     Знаю С, написать ничего толкового не могу, нужен совет опытных #12
Цитата Сообщение от ASCII Посмотреть сообщение
я просто не знаю в какую сторону смотреть скажем так...
ну смотрите, чтобы к примеру написать GUI нужна функция WinMain. Идём на MSDN и смотрим что передаёт
C++
1
2
3
4
5
6
int CALLBACK WinMain(
  _In_  HINSTANCE hInstance,
  _In_  HINSTANCE hPrevInstance,
  _In_  LPSTR lpCmdLine,
  _In_  int nCmdShow
);
без LRESULT WinMain "не заведётся", рисуем
C++
1
2
3
4
5
6
7
8
9
10
11
12
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_DESTROY:
        {
            PostQuitMessage(0);
            return 0;
        }
    }
    return DefWindowProc(hWnd, message, wParam, lParam);
}
заполняем WinMain (ничего сложного, стандартные классы)
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
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEX wc;
    ZeroMemory(&wc, sizeof(WNDCLASSEX));
    wc.cbSize = sizeof(WNDCLASSEX);
    wc.style = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc = WindowProc;
    wc.hInstance = hInstance;
    wc.hCursor = LoadCursor(0, IDC_ARROW);
    wc.lpszClassName = L"WindowClass";
    RegisterClassEx(&wc);
    HWND hWnd = CreateWindowEx(0, L"WindowClass", L"WinForm", WS_SYSMENU | WS_MINIMIZEBOX,
        (GetSystemMetrics(SM_CXSCREEN) - 640) / 2, (GetSystemMetrics(SM_CYSCREEN) - 480) / 2, 640, 480, 0, 0, hInstance, 0);
    ShowWindow(hWnd, nCmdShow);
    MSG msg;
    while (1)
    {
        while (PeekMessage(&msg, 0, 0, 0, 1))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        if (msg.message == WM_QUIT) break;
    }
    return msg.wParam;
}
на выходе получили оконное приложение. Немного позабавимся - добавим надпись в окне программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void label(HWND hWnd)
{
    static HWND hwnd;
    int x, w, y, h;
    y = 10; h = 20;
    x = 10; w = 50;
    hwnd = CreateWindow(L"static", L"",
        WS_CHILD | WS_VISIBLE | WS_TABSTOP,
        x, y, w, h,
        hWnd, (HMENU)(501),
        (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE), NULL);
    SetWindowText(hwnd, L"label");
}
передадим метод в WinMain
C++
1
2
3
ShowWindow(hWnd, nCmdShow);
label(hWnd);
MSG msg;
все описания легко находятся на MSDN.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
15.12.2013, 02:25     Знаю С, написать ничего толкового не могу, нужен совет опытных #13
_lunar_, Как по мне, не очень хороший пример начинать разбираться с системно-зависемых низкоуровневых библиотек. Освоение одной такой функции занимает 10-30 минут. Лучше начать с какой-нибудь хорошо структурированой библиотеки... В С++ это безусловно Qt.
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 369
Завершенные тесты: 2
15.12.2013, 02:27  [ТС]     Знаю С, написать ничего толкового не могу, нужен совет опытных #14
Цитата Сообщение от _lunar_ Посмотреть сообщение
ну смотрите, чтобы к примеру написать GUI нужна функция WinMain. Идём на MSDN и смотрим что передаёт
C++
1
2
3
4
5
6
int CALLBACK WinMain(
  _In_  HINSTANCE hInstance,
  _In_  HINSTANCE hPrevInstance,
  _In_  LPSTR lpCmdLine,
  _In_  int nCmdShow
);
без LRESULT WinMain "не заведётся", рисуем
C++
1
2
3
4
5
6
7
8
9
10
11
12
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_DESTROY:
        {
            PostQuitMessage(0);
            return 0;
        }
    }
    return DefWindowProc(hWnd, message, wParam, lParam);
}
заполняем WinMain (ничего сложного, стандартные классы)
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
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEX wc;
    ZeroMemory(&wc, sizeof(WNDCLASSEX));
    wc.cbSize = sizeof(WNDCLASSEX);
    wc.style = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc = WindowProc;
    wc.hInstance = hInstance;
    wc.hCursor = LoadCursor(0, IDC_ARROW);
    wc.lpszClassName = L"WindowClass";
    RegisterClassEx(&wc);
    HWND hWnd = CreateWindowEx(0, L"WindowClass", L"WinForm", WS_SYSMENU | WS_MINIMIZEBOX,
        (GetSystemMetrics(SM_CXSCREEN) - 640) / 2, (GetSystemMetrics(SM_CYSCREEN) - 480) / 2, 640, 480, 0, 0, hInstance, 0);
    ShowWindow(hWnd, nCmdShow);
    MSG msg;
    while (1)
    {
        while (PeekMessage(&msg, 0, 0, 0, 1))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        if (msg.message == WM_QUIT) break;
    }
    return msg.wParam;
}
на выходе получили оконное приложение. Немного позабавимся - добавим надпись в окне программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void label(HWND hWnd)
{
    static HWND hwnd;
    int x, w, y, h;
    y = 10; h = 20;
    x = 10; w = 50;
    hwnd = CreateWindow(L"static", L"",
        WS_CHILD | WS_VISIBLE | WS_TABSTOP,
        x, y, w, h,
        hWnd, (HMENU)(501),
        (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE), NULL);
    SetWindowText(hwnd, L"label");
}
передадим метод в WinMain
C++
1
2
3
ShowWindow(hWnd, nCmdShow);
label(hWnd);
MSG msg;
все описания легко находятся на MSDN.
тут же еще все эти типы надо знать, а их в каждой библиотеке полно своих
_lunar_
15.12.2013, 02:31
  #15

Не по теме:

xtorne21st, я отталкиваюсь от времени изучения языка ТС, и подумал что возможно это знакомо.

StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
15.12.2013, 02:42     Знаю С, написать ничего толкового не могу, нужен совет опытных #16
_lunar_,

Не по теме:

GNU/Linux наше всё!



Добавлено через 7 минут
ASCII, а ни разу не хотели попробовать написать что-нибудь для мобильных устройств? Знаете С - не займёт много времени познакомиться с теми же Java или ObjC.
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 369
Завершенные тесты: 2
15.12.2013, 03:10  [ТС]     Знаю С, написать ничего толкового не могу, нужен совет опытных #17
Цитата Сообщение от StackOverflow Посмотреть сообщение
_lunar_,

Не по теме:

GNU/Linux наше всё!



Добавлено через 7 минут
ASCII, а ни разу не хотели попробовать написать что-нибудь для мобильных устройств? Знаете С - не займёт много времени познакомиться с теми же Java или ObjC.
мне это не интересно вообще честно говоря...

Добавлено через 24 минуты
а можете дать конкретную задачу? И если можете список литературы для ее реализации?

Добавлено через 21 секунду
для компьютера
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
15.12.2013, 03:13     Знаю С, написать ничего толкового не могу, нужен совет опытных #18
ASCII, так предложили ведь уже? Вы просто возьмитесь. Появятся ли сразу знания и умения - нет. Появятся конкретные вопросы - да.
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 369
Завершенные тесты: 2
15.12.2013, 03:15  [ТС]     Знаю С, написать ничего толкового не могу, нужен совет опытных #19
Цитата Сообщение от StackOverflow Посмотреть сообщение
ASCII, так предложили ведь уже? Вы просто возьмитесь. Появятся ли сразу знания и умения - нет. Появятся конкретные вопросы - да.
ок, беру самую первую)

Добавлено через 40 секунд
попробую сделать текстовый редактор, посмотрим что выйдет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2013, 03:19     Знаю С, написать ничего толкового не могу, нужен совет опытных
Еще ссылки по теме:

Нужен совет а то не знаю как начать C++
Нужен совет, как правильно написать клас C++
C++ Требуется совет опытных программистов

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

Или воспользуйтесь поиском по форуму:
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
15.12.2013, 03:19     Знаю С, написать ничего толкового не могу, нужен совет опытных #20
ASCII,

Не по теме:

Чтож, в таком случае, пожелаю вам удачи!)

Yandex
Объявления
15.12.2013, 03:19     Знаю С, написать ничего толкового не могу, нужен совет опытных
Ответ Создать тему
Опции темы

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