Вопрос-Ответ (C++)
|
|
Kornival | Дата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1 |
The Witcher
Сейчас нет на сайте
| Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.
Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
|
|
| |
0x90 | Дата: Вторник, 15 Ноября 2011, 23:04 | Сообщение # 41 |
участник
Сейчас нет на сайте
| А что делает класс a?
Сообщение отредактировал 0x90 - Вторник, 15 Ноября 2011, 23:07 |
|
| |
SWFcreator | Дата: Вторник, 15 Ноября 2011, 23:12 | Сообщение # 42 |
участник
Сейчас нет на сайте
| пример. у меня два класса: строка - массив символов и текст - массив строк. каждый ввод getch добавляется символ в строку, после ентера - новая строка.
Сообщение отредактировал SWFcreator - Вторник, 15 Ноября 2011, 23:13 |
|
| |
0x90 | Дата: Вторник, 15 Ноября 2011, 23:34 | Сообщение # 43 |
участник
Сейчас нет на сайте
| Понятно. Во первых два класса тебе не нужны, одного хватит с лихвой(вообще-то решение такой задачи без ООП было бы "естественнее"), во вторых никакие реаллоки тебе не тоже не нужны, для строки используй буфер фиксированного размера(или выделяй пул и увеличивай по мере надобности), для "текста"-контейнер хранящий твои строки.
|
|
| |
SWFcreator | Дата: Вторник, 15 Ноября 2011, 23:46 | Сообщение # 44 |
участник
Сейчас нет на сайте
| Без ООП работает практически без проблем, но как то некрасиво выглядит. Вот решил переписать по новой, для разнообразия попробовать классы. Теперь в коде все понятно и ясно, зато не работает . А про пул ничего не слышал, но книга длинная, дойду. Спасибо за совет.
|
|
| |
|
Animan2010 | Дата: Вторник, 13 Декабря 2011, 15:50 | Сообщение # 46 |
постоянный участник
Сейчас нет на сайте
| после switch(choose) точку с запятой не надо вроде бы.
Anima Games Animan Publishing
|
|
| |
|
SWFcreator | Дата: Вторник, 20 Декабря 2011, 21:43 | Сообщение # 48 |
участник
Сейчас нет на сайте
| Кто знает как быстро обновлять консоль, незаметно для глаза? Я делаю это циклом cout-system("cls"), но это слишком медленно и рябит в глазах. Желательно без ВинАпи, т.к. с ним не дружу, но если др. выхода нет, сойдет и он. Давно интересует этот вопрос, кто подскажет работающий способ, огромное спасибо и + однозначно.
Сообщение отредактировал SWFcreator - Вторник, 20 Декабря 2011, 21:48 |
|
| |
warzes | Дата: Среда, 21 Декабря 2011, 09:50 | Сообщение # 49 |
участник
Сейчас нет на сайте
| Quote (SWFcreator) Кто знает как быстро обновлять консоль, незаметно для глаза? Я делаю это циклом cout-system("cls"), но это слишком медленно и рябит в глазах. Желательно без ВинАпи, т.к. с ним не дружу, но если др. выхода нет, сойдет и он. Давно интересует этот вопрос, кто подскажет работающий способ, огромное спасибо и + однозначно. Двойной буфер тебе поможет. Рисуешь кадр затем готовишь в памяти следующий, рисуешь его и т.д.. Вообщем так - заводишь массив 80 на 20 (вроде столько вмещается в консоль), заполняешь этот массив символами. как только массив будет заполнен, просто и элементарно его рисуешь из левого верхнего угла в правый нижний (или как удобней), при этом предыдущий кадр стирать не надо (все одно затрется данными из массива), как только закончится рисование, снова редактируешь массив, снова его выводишь. Более эффективно - если массив глобальный, а функции рисования вносят только изменения. Бесконечный цикл может быть таким:
1) Вызываешь команды "рисования". Здесь ты сообщаешь что надо рисовать текст. При этом эти команды не рисуют на самом деле а редактируют массив (задний буфер - так это называется). 2) Командами из 1) до конца доделываешь буфер 3) выводишь буфер (массив) на экран 4) обрабатываешь остльное и повторяешь с первого
Мой блог Вики DirectX
|
|
| |
SWFcreator | Дата: Среда, 21 Декабря 2011, 16:20 | Сообщение # 50 |
участник
Сейчас нет на сайте
| Спасибо, напиши, как выводить поверх выведенного буфера с начальной координаты, а не следом. Функция какая-то?
|
|
| |
[SS] | Дата: Среда, 21 Декабря 2011, 17:14 | Сообщение # 51 |
был не раз
Сейчас нет на сайте
| Подскажите как и где подключить к Code::Blocks движок? (незнал куда написать)
|
|
| |
Els | Дата: Среда, 21 Декабря 2011, 17:31 | Сообщение # 52 |
почетный гость
Сейчас нет на сайте
| Вот показуеться как hge подключают
|
|
| |
warzes | Дата: Четверг, 22 Декабря 2011, 06:23 | Сообщение # 53 |
участник
Сейчас нет на сайте
| SWFcreator, используй что-нибудь на подобии - conio, curses, ncurses и т.д. Если пишешь на винду, то поищи в MSDN, там на net платформе вроде что-то есть... Добавлено (22.12.2011, 06:23) --------------------------------------------- А, вот на винапи - http://msdn.microsoft.com/en-us/library/windows/desktop/ms686025(v=vs.85).aspx
И собственно список консольных команд - http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073(v=vs.85).aspx
Мой блог Вики DirectX
|
|
| |
SWFcreator | Дата: Пятница, 23 Декабря 2011, 02:05 | Сообщение # 54 |
участник
Сейчас нет на сайте
| Спасибо большое, функция по первой ссылке - самое оно.
|
|
| |
xPFaN | Дата: Воскресенье, 25 Декабря 2011, 00:03 | Сообщение # 55 |
был не раз
Сейчас нет на сайте
| У меня вопрос. Экспериментирую с консольными проектами. Делаю ввод текста в консоли. Суть вопроса в том. Для ввода текста с клавы я использую cin. Возможно ли каким ли образом приравнять cin к key и использовать key заместо cin. А так же привык в Basic вводить переменные Dim. Возможно ли приравнять int к Dim и вводить переменные посредством Dim?
|
|
| |
0x90 | Дата: Воскресенье, 25 Декабря 2011, 00:19 | Сообщение # 56 |
участник
Сейчас нет на сайте
| Не уверен, что правильно понял вопрос, но может вам нужно следуюющее: Code #define key cin #define dim int // вообще-то для этого есть typedef, да фиг с ним. Дальше можно просто юзать key>>buffer или dim a[100].
|
|
| |
xPFaN | Дата: Воскресенье, 25 Декабря 2011, 00:37 | Сообщение # 57 |
был не раз
Сейчас нет на сайте
| 0x90, мне нужно заменить, к примеру, чтобы переменная вводилась не при помощи int А при помощи Dim.
На ваш вариант матюгается.Добавлено (25.12.2011, 00:37) --------------------------------------------- компилятор матюгается
|
|
| |
Aikidos | Дата: Воскресенье, 25 Декабря 2011, 01:27 | Сообщение # 58 |
постоянный участник
Сейчас нет на сайте
| Привыкайте к стандарту C++. Зачем пытаться из C++ сделать Basic? Если сейчас не будете приучать себя к стандартам C++, то дальше будут вообще дрова.
Quote (xPFaN) На ваш вариант матюгается. Мб весь код в студию? Или хотяб на что ругается.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
0x90 | Дата: Воскресенье, 25 Декабря 2011, 20:39 | Сообщение # 59 |
участник
Сейчас нет на сайте
| Quote (xPFan) компилятор матюгается Не может такого быть Quote (Aikidos) код в студию
|
|
| |
Xe[N]o | Дата: Пятница, 06 Января 2012, 23:43 | Сообщение # 60 |
частый гость
Сейчас нет на сайте
| Quote На ваш вариант матюгается. Ам... А вы уверены, что поставили это правильное место? Черт, не знаю как это объяснить, никогда не учил термины и понятия... Вы уверены что вы поставили этот код вне всяких "блоков" типо "main", а куданить по дальше, типо под инклуды?
Я бы тоже матерился, если бы мой желудок, мозг пытался заставить взять что-то...
|
|
| |