Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 455
1

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

15.12.2013, 01:30. Показов 1701. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! года так 1.5 назад начал учить язык С/С++, итог тому, выучил С, в принципе знаю 80% языка, но проблема вот в чем, я не могу написать ничего толкового, абсолютно, пишу только никому не нужные консольные приложения и в очередной раз закрепляю знания, а как написать что-то большее, я не знаю и даже не представляю с чего начать? Подскажите пожалуйста, может есть какая литература, которая не просто сам язык раскрывает, скажем так, а где еще будут даваться задачи, а то КПД от обучения С у меня 0... Кто с чего начал скажите пожалуйста... Может вы задачи дадите мне, а я реализую...

А то надоело писать всякие калькуляторы и прочие "Хеллоу ворлды".
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2013, 01:30
Ответы с готовыми решениями:

Дипломный проект | Нужен совет опытных програмистов
Доброго времени суток, я студент и у меня на носу дипломный проект, который я планирую писать на...

Нужен совет а то не знаю как начать
Здравствуйте уважаемые программеры хотелось бы узнать какие книги изучить чтобы хорошо...

Нужен совет Опытных =)
1. Доменное имя мого сайта: krasnuha.net.ru 2. И есть у меня еще зарегистрированые домены с...

Нужен совет опытных!
Здравствуйте я начинающий веб-дизайнер (совсем начинающий) и не опытный хочу сделать главную...

20
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
15.12.2013, 01:45 2
ASCII, как вам идея написания простенького текстового редактора, чтобы можно было редактировать код, написанный на разных языках, и чтобы синтаксис подсвечивался, и строки были пронумерованны? Уже делали?
1
Эксперт С++
3574 / 2828 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 22
15.12.2013, 01:45 3
ну так перейдите с консоли на GUI.
за полтора года вам ни разу не захотелось написать аудио\видео плеер, трейнер для игры, поработать с directx, написать библиотеку или hook?
язык C\C++ универсален, на нём можно написать практически всё что угодно. Всё зависит от вашей фантазии.
1
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 455
15.12.2013, 01:49  [ТС] 4
Цитата Сообщение от StackOverflow Посмотреть сообщение
ASCII, как вам идея написания простенького текстового редактора, чтобы можно было редактировать код, написанный на разных языках, и чтобы синтаксис подсвечивался, и строки были пронумерованны? Уже делали?
Вот честно скажу, даже ума не приложу как это можно сделать...
Вот когда я 3 года учил php, то не решимых задач не было, сразу алгоритм вырисовыволся в голове, что и как сделаю, только подумав о идее, а тут...
Я за пределами консольных приложений полный 0 =((

Добавлено через 1 минуту
Цитата Сообщение от _lunar_ Посмотреть сообщение
ну так перейдите с консоли на GUI.
за полтора года вам ни разу не захотелось написать аудио\видео плеер, трейнер для игры, поработать с directx, написать библиотеку или hook?
язык C\C++ универсален, на нём можно написать практически всё что угодно. Всё зависит от вашей фантазии.
приходило конечно на ум, но все заканчивалось тем, что я понимал, что не осилю этого, ибо знаний недостаточно и опять начинал копать язык...
я просто не знаю в какую сторону смотреть скажем так... Ибо куда не глянь, везде свои библиотеки, а свои библиотеки "Серьезные" создать не могу, в одиночку подобное OpenGL ведь не напишешь...
0
Заблокирован
15.12.2013, 01:54 5
Цитата Сообщение от _lunar_ Посмотреть сообщение
ну так перейдите с консоли на GUI.
за полтора года вам ни разу не захотелось написать аудио\видео плеер, трейнер для игры, поработать с directx, написать библиотеку или hook?
язык C\C++ универсален, на нём можно написать практически всё что угодно. Всё зависит от вашей фантазии.
Не подскажите с чего начать для написания трейнера для игры. как вклинится в процесс игры? и тому подобное...
1
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
15.12.2013, 02:00 6
Большие приложение просто так "с коленки" не пишутся. Выучите UML (это займёт 1 час времени). Почитайте книги на тему паттернов, рефакторинга, и разработки крупных проектов (желательно читать всё на английском, иначе вам хорошим программистом, скорей всего не стать). Сначала разрабатывать ничего не нужно. Возьмите какой-нибудь средний готовый опен-сорсный проект. Откомпилируйте его. Попробуйте разобраться в какой-либо функции - что-то прикрутить или изменить (с умом конечно). В конце-концов устройтесь в какую-то контору. Пусть вам там будут платить копейки, но вы получите опыт, который читая книги не приобретёшь. Ну, надеюсь, вы поняли в каком направлении двигаться...
1
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 455
15.12.2013, 02:03  [ТС] 7
Цитата Сообщение от xtorne21st Посмотреть сообщение
Большие приложение просто так "с коленки" не пишутся. Выучите UML (это займёт 1 час времени). Почитайте книги на тему паттернов, рефакторинга, и разработки крупных проектов (желательно читать всё на английском, иначе вам хорошим программистом, скорей всего не стать). Сначала разрабатывать ничего не нужно. Возьмите какой-нибудь средний готовый опен-сорсный проект. Откомпилируйте его. Попробуйте разобраться в какой-либо функции - что-то прикрутить или изменить (с умом конечно). В конце-концов устройтесь в какую-то контору. Пусть вам там будут платить копейки, но вы получите опыт, который читая книги не приобретёшь. Ну, надеюсь, вы поняли в каком направлении двигаться...
а Вы могли бы дать литературу какую-нибудь, по тому что Вы перечислили?
Работать сейчас не могу, я первокурсник на очном, 18 лет, просто времени не будет.
у меня есть исходники игры от диснея, Корсары 2: Пираты карибского моря, написано все ясно, но что это за функции и что за типы данных я как говорится в душе не ... =)))
Заранее спасибо.
0
Эксперт С++
3574 / 2828 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 22
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);
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
15.12.2013, 02:08 9
ASCII, Возьмите что-то поменьше... А из авторов - GoF, Рихтер для начала. И побольше работать с уже готовым кодом...
0
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 455
15.12.2013, 02:10  [ТС] 10
Цитата Сообщение от xtorne21st Посмотреть сообщение
ASCII, Возьмите что-то поменьше... А из авторов - GoF, Рихтер для начала. И побольше работать с уже готовым кодом...
А можно полное название, что-то вроде - Г. Шилдт Полный справочник по С?
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
15.12.2013, 02:16 11
Цитата Сообщение от ASCII Посмотреть сообщение
А можно полное название, что-то вроде - Г. Шилдт Полный справочник по С?
Погугрите: Рихтер - рефакторинг. Ну и просто GoF
0
Эксперт С++
3574 / 2828 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 22
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.
1
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
15.12.2013, 02:25 13
_lunar_, Как по мне, не очень хороший пример начинать разбираться с системно-зависемых низкоуровневых библиотек. Освоение одной такой функции занимает 10-30 минут. Лучше начать с какой-нибудь хорошо структурированой библиотеки... В С++ это безусловно Qt.
1
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 455
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.
тут же еще все эти типы надо знать, а их в каждой библиотеке полно своих
0
_lunar_
15.12.2013, 02:31
  #15

Не по теме:

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

0
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
15.12.2013, 02:42 16
_lunar_,

Не по теме:

GNU/Linux наше всё!:jokingly:



Добавлено через 7 минут
ASCII, а ни разу не хотели попробовать написать что-нибудь для мобильных устройств? Знаете С - не займёт много времени познакомиться с теми же Java или ObjC.
0
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 455
15.12.2013, 03:10  [ТС] 17
Цитата Сообщение от StackOverflow Посмотреть сообщение
_lunar_,

Не по теме:

GNU/Linux наше всё!:jokingly:



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

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

Добавлено через 21 секунду
для компьютера
0
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
15.12.2013, 03:13 18
ASCII, так предложили ведь уже? Вы просто возьмитесь. Появятся ли сразу знания и умения - нет. Появятся конкретные вопросы - да.
0
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 455
15.12.2013, 03:15  [ТС] 19
Цитата Сообщение от StackOverflow Посмотреть сообщение
ASCII, так предложили ведь уже? Вы просто возьмитесь. Появятся ли сразу знания и умения - нет. Появятся конкретные вопросы - да.
ок, беру самую первую)

Добавлено через 40 секунд
попробую сделать текстовый редактор, посмотрим что выйдет
0
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
15.12.2013, 03:19 20
ASCII,

Не по теме:

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

1
15.12.2013, 03:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2013, 03:19
Помогаю со студенческими работами здесь

Нужен совет опытных программистов на C#
Всем добрый день! Я здесь абсолютно новенький! Так что прошу сразу не кидать камнями если задаю...

Нужен совет опытных программистов
Задача: Написать систему логирования LS кода, подсчета производительности (как долго исполняется LS...

нужен совет опытных верстальщиков
Итак, всем привет. Решил зарегистрироваться на этом форуме так , как при верстке дизайна сайта я...

Новичку нужен совет опытных в yii
Привет всем только что закончит уроки по yii...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru