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

Как ускорить работу? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Исключения и проверка ввода http://www.cyberforum.ru/cpp-beginners/thread1032002.html
Вот прочитал вчера много всего про исключения в с++, посмотрел несколько видеоуроков, все равно никак не пойму, какой выигрыш от исключений. Допустим мне надо проверить, чтобы пользователь вводил в консоль числа от 1-5, никаких других символов не должно поступать. Без использования механизма try-throw-catch я бы сделал в цикле этот ввод(пока не введет нормальное значение просить вводить заново)....
C++ Банкомат заданиеВ некотором государстве в обращении находятся банкноты определенных номиналов. Национальный банк хочет, чтобы банкомат выдавал любую запрошенную сумму при помощи минимального числа банкнот, считая, что запас банкнот каж дого номинала неограничен. Помогите Национальному банку решить эту задачу. Первая строка входных данных содержит натуральное число N не превосходящее 100 — количество... http://www.cyberforum.ru/cpp-beginners/thread1031997.html
Лицензия и пробный период C++
Здравствуйте, хотелось бы узнать как реализовать пробный период а так же проверку лицензионного ключа на С++. Получил лабораторную работу в которой необходимо написать программу которая бы давала ограниченный пробный период а затем не запускалась пока не введен лицензионный ключ. Не прошу выкладывать коды и прочее, интересен вопрос реализации, к чему можно привязаться для проверки лицензии и...
Работа со строками в C++ C++
Возникла пара вопросов (только начинаю осваивать С++) Тут ниже задание: Задание 8 При вводе текста программа автоматически должна осуществлять перенос слов. Производится подсчет введенных символов, включая знаки препинания. После ввода всего текста должна быть возможность переформатирования, то есть изменяется допустимая длина строки (в пределах 30…68) позиций, при этом перестраивается...
C++ Сформировать двумерный массив. Удалить из него все строки в которых встречается заданое слово http://www.cyberforum.ru/cpp-beginners/thread1031959.html
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <limits.h> #define ROWS 100 #define COLS 100 int delete_stroka(int** arr,int N,int M); int main(void) { int sum = 0;
C++ Требуется написать программу для расчета по двум формулам Требуется написать программу для расчета по двум формулам подробнее

Показать сообщение отдельно
monolit
179 / 179 / 21
Регистрация: 24.03.2011
Сообщений: 641
Завершенные тесты: 1
07.12.2013, 16:46     Как ускорить работу?
Сдается мне, что дело в getch... Она ж вроде блокирует действия, пока не выполнится, нет?
Используй AsyncKeyState, типа:
C++
1
2
if (AsyncKeyState('1')) ///
else if (AsyncKeyState('2')) ///
Ну, ты понял. Мог ошибиться в том, что туда передавать, но это легко в гугле найти.

ЗЫ:
это вместо
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
                    if(kbhit()) 
                    if(getch()==27)
                    {
                        delete []y;
                        return;
                    }
                    if(kbhit()) 
                    if(getch()==('1'))
                    {
                        nomerStanka=1;
                    }
                    if(kbhit()) 
                    if(getch()==('2'))
                    {
                        nomerStanka=2;
                    }
                    if(kbhit()) 
                    if(getch()==('3'))
                    {
                        nomerStanka=3;
                    }
                    if(kbhit()) 
                    if(getch()==('4'))
                    {
                        nomerStanka=4;
                    }
надо вставить)

Добавлено через 4 минуты
Черт, мое сообщение пропало...
В общем, getch() блокирует ввод пока не выполнится, поэтому и приходится жать 5 раз (пять getch в цикле у тебя), ну или больше - смотря на какой ты попасть хочешь. Используй вместо всей той конструкции GetAsyncKeyState
C++
1
2
if(GetAsyncKeyState(...)) //
else ///
ну ты понял.
 
Текущее время: 23:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru