Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
1

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

25.02.2016, 20:04. Просмотров 231. Ответов 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
Ответы с готовыми решениями:

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

Функция работает некорректно
#include &lt;iostream&gt; using namespace std; short fill(double*, short); const...

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

Некорректно работает функция rand
в полном коде почему-то не работает корректно функция rand, вот пример:...

Некорректно работает функция проверки на численность
Фрагмент кода: //... bool is_number() { //* while(cin.fail()) {...

9
8-BITOV
541 / 484 / 104
Регистрация: 05.05.2014
Сообщений: 1,108
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 / 104
Регистрация: 05.05.2014
Сообщений: 1,108
25.02.2016, 21:03 4
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
оочень!лучше запустите код,
Очень мне нужно такие дурные коды запускать! Я и так вижу.
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
cout<<func2;
Это ты выводишь АДРЕС функции funk2. Без передыху. К функции обращения просто нет.

Добавлено через 39 секунд
Amir_05_05, Но и сама функция написана бредово...
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4772 / 2429 / 679
Регистрация: 18.10.2014
Сообщений: 4,152
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 / 104
Регистрация: 05.05.2014
Сообщений: 1,108
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 / 104
Регистрация: 05.05.2014
Сообщений: 1,108
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

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

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

Функция send() работает некорректно после применения closesocket()
Доброго времени суток! Имеется простенький тестовый сервер: SOCKET s;...


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

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

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