Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
#1

Функция работает некорректно - C++

25.02.2016, 20:04. Просмотров 214. Ответов 9
Метки нет (Все метки)

написал функцию,возвращающий нажатую клавишу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char func2(){
    if(_kbhit()){
        char c[1];
        c[0]=_getch();
        return c[0];
    }
    return 0;
}
int main(){
    while(1){
        cout<<func2;
        }
    system("pause");
}
но функция возвращает пробел(" "),когда клавиша не нажата.
Как исправить это?.Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2016, 20:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция работает некорректно (C++):

Некорректно работает функция - C++
Функция Small_S должна находить короткое слово в строке str, а она почему-то выводит первое слово! Помогите решить проблему, буду очень...

Функция работает некорректно - C++
#include &lt;iostream&gt; using namespace std; short fill(double*, short); const short size = 5; int main() { double array;...

Некорректно работает функция Delete - C++
Слепил прожку. Которая должна записать в файл информацию о стране. А потом функция Делит должна по названию страны удалить всю информацию о...

Некорректно работает функция проверки на численность - C++
Фрагмент кода: //... bool is_number() { //* while(cin.fail()) { cin.clear(); cin.sync(); return false;} return true;...

Некорректно работает функция добавления, указать ошибку - C++
Здравствуйте, в моей программе некорректно работает добавление элемента, функция addBook. Также прошу проверить правильность работы...

Некорректно работает функция рандомайз при заполнении массива - C++
Задача - внести случайные числа в динамический массив. Проблема - почему-то при первом запуске программы в первый элемент массива...

9
8-BITOV
541 / 484 / 87
Регистрация: 05.05.2014
Сообщений: 1,107
25.02.2016, 20:19 #2
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
cout<<func2;
Как это понять? Ты что собираешься выводить?
И вот еще что интересно. Много ли пробелов она у тебя выводит?
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
когда клавиша не нажата.
До анализа нажатости клавиши дело не доходит.
0
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
25.02.2016, 20:32  [ТС] #3
Цитата Сообщение от 8-BITOV Посмотреть сообщение
Как это понять? Ты что собираешься выводить?
нажатую клавишу
Цитата Сообщение от 8-BITOV Посмотреть сообщение
И вот еще что интересно. Много ли пробелов она у тебя выводит?
оочень!лучше запустите код,сами увидите

Добавлено через 1 минуту
Цитата Сообщение от 8-BITOV Посмотреть сообщение
До анализа нажатости клавиши дело не доходит.
это разве не анализ?
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
if(_kbhit())
0
8-BITOV
541 / 484 / 87
Регистрация: 05.05.2014
Сообщений: 1,107
25.02.2016, 21:03 #4
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
оочень!лучше запустите код,
Очень мне нужно такие дурные коды запускать! Я и так вижу.
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
cout<<func2;
Это ты выводишь АДРЕС функции funk2. Без передыху. К функции обращения просто нет.

Добавлено через 39 секунд
Amir_05_05, Но и сама функция написана бредово...
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3976 / 2200 / 553
Регистрация: 18.10.2014
Сообщений: 3,814
25.02.2016, 21:57 #5
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
но функция возвращает пробел
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
это разве не анализ?
Да что вы говорите?

В языке С++ вызов функции делается при помощи оператора вызова функции '()', который имеет синтаксис '(параметр, параметр, ..., параметр)' (где список параметров может быть пустым). Напимер: 'getchar()', 'system("pause")', 'printf("%s\n", "Hello World")" и т.д. и т.п.

Покажите мне пальцем, где у вас в вашем коде происходит вызов вашей же функции 'funk2'? Где вы применяете оператор '()' к 'funk2'? Я такого места в вашем коде не вижу. Поэтому мне не ясно, о каком "функция возвращает пробел" вы нам тут рассказываете. Как функция может что-то возвращать, если вы ее вообще не вызываете?
0
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
25.02.2016, 22:07  [ТС] #6
упс,упустил скоби когда заливал код сюда

Добавлено через 1 минуту
а в проекте скобки есть
0
8-BITOV
541 / 484 / 87
Регистрация: 05.05.2014
Сообщений: 1,107
25.02.2016, 22:19 #7
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
упс
Тогда подумай, в чем бредовость функции.
Что происходит когда клавиша не нажата? И сколько раз она ее опросит, пока ты до нее дотянешься?
0
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
25.02.2016, 22:29  [ТС] #8
очень много раз и что?

Добавлено через 48 секунд
мне нужно вводить с клавиатуры не останавливая программу
0
8-BITOV
541 / 484 / 87
Регистрация: 05.05.2014
Сообщений: 1,107
25.02.2016, 23:41 #9
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
очень много раз и что?
А то.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
char func2(){
    if(_kbhit()){
        char c;
        c=_getch();
        return c;
    }
    return 0;
}
int main(){
    while(1){
        char c = func2();
        if (c) {
          cout<<c;
          if (c==27) break;
        }
    }
    system("pause");
}
Вот-так еще может быть будет работать. И, возможно, выскакивать по Esc.

Добавлено через 3 минуты
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
упс,упустил скоби когда заливал код сюда
Когда заливаешь код, не переписывай его руками. Копируй (копипасть). А то разговор идет совсем о другом коде.
1
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
26.02.2016, 12:40  [ТС] #10
Цитата Сообщение от 8-BITOV Посмотреть сообщение
Когда заливаешь код, не переписывай его руками. Копируй (копипасть). А то разговор идет совсем о другом коде
я скопировал но после копирования немного отредактировал код в проекте(добавил скобки)

Добавлено через 35 минут
всем спасибо
0
26.02.2016, 12:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2016, 12:40
Привет! Вот еще темы с ответами:

Некорректно работает функция sum! Она должна искать сумму между первым и последним положительным элементами! - C++
Некорректно работает функция sum! Она должна искать сумму между первым и последним положительным элементами! Когда первый элемент...

Некорректно работает - C++
Здравствуйте помогите пож-та с задачкой: Сформировать вещественный массив X1(N), N≤20, элементами которого являются случайные числа из...

Некорректно работает рандомизация - C++
В таком виде написана генерация рандомного числа: srand(time(NULL)); int f = rand()%7; при каждом запуске выбрасывается одно и то же...

некорректно работает программа - C++
Программа компилируется но после ввода данных пропадает окно! #include&lt;iostream.h&gt; #include&lt;string.h&gt; #include&lt;math.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.