Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240

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

25.02.2016, 20:04. Показов 805. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.02.2016, 20:04
Ответы с готовыми решениями:

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

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

Некорректно работает функция rand
в полном коде почему-то не работает корректно функция rand, вот пример: #include&lt;cstdlib&gt; #include&lt;ctime&gt; ...

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

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

Добавлено через 39 секунд
Amir_05_05, Но и сама функция написана бредово...
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12919 / 6787 / 1817
Регистрация: 18.10.2014
Сообщений: 17,169
25.02.2016, 21:57
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
но функция возвращает пробел
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
это разве не анализ?
Да что вы говорите?

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

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

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

Добавлено через 48 секунд
мне нужно вводить с клавиатуры не останавливая программу
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
25.02.2016, 23:41
Цитата Сообщение от 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
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
26.02.2016, 12:40  [ТС]
Цитата Сообщение от 8-BITOV Посмотреть сообщение
Когда заливаешь код, не переписывай его руками. Копируй (копипасть). А то разговор идет совсем о другом коде
я скопировал но после копирования немного отредактировал код в проекте(добавил скобки)

Добавлено через 35 минут
всем спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.02.2016, 12:40
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru