|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.01.2012, 23:26 | #21 |
Пользователь
Регистрация: 19.01.2012
Сообщений: 20
|
scanf("%c", &simbol);
printf("%d",(int)simbol); Я не совсем пойму зачем эти 2 строки необходимы?...Просто я протестировал программу потом так,как _Bers показал, и заработало уже нормально,без проблем... |
19.01.2012, 23:27 | #22 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ну да, странное решение..помоему лучше ж бы учли просто разные символы(хотя универсал написать очень просто, у самого код лежит)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
19.01.2012, 23:29 | #23 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
19.01.2012, 23:46 | #24 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Вот ещё интересная особенность:
Если скормить std::cin 13 символ, то он скушает даже пустую строчку. Если скормить std::cin 10 символ, то он скушает только, если строка не пустая. То есть, если нажимать интер ничего не введя - он не отвянет, будет просить, пока ему что нибудь не дадут. Один символ из '\n' он за строку типа не считает. Но если при нажатии ентер, ему пульнуть 13 символ - сразу отстанет)) Не совсем понятно, чего когда попадает) Последний раз редактировалось _Bers; 19.01.2012 в 23:49. |
19.01.2012, 23:54 | #25 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
19.01.2012, 23:59 | #26 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Внесу свои 5 копеек: аналогичные проблемы есть и у Паскаля, если использовать read, а не readln
Благодарить в репутацию. Проклинать — туда же
|
22.01.2012, 02:47 | #27 |
Главное желание.
Форумчанин
Регистрация: 28.11.2011
Сообщений: 122
|
Если перед вводом символа вводилось что-либо другого типа, то перед вводом символьного типа необходимо очистить буфер клавиатуры с помощью функции fflush(stdin);
Я могу, Я хочу, Я буду!
|
22.01.2012, 02:55 | #28 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
#include <stdio.h> #include <conio.h> Код:
|
|
22.01.2012, 04:42 | #29 |
Главное желание.
Форумчанин
Регистрация: 28.11.2011
Сообщений: 122
|
если добавить между scanf("%c") еще fflush(stdin); то все будет нормально. получается что перед каждым вводом символьного типа надо чистить буфер(если ранее что-то вводилось)
Я могу, Я хочу, Я буду!
Последний раз редактировалось ArmanPrestige; 22.01.2012 в 05:00. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ оператор switch | Pingvinenok_Lolo | Помощь студентам | 4 | 05.12.2011 23:11 |
оператор switch | aank10 | Общие вопросы C/C++ | 3 | 01.06.2011 10:28 |
оператор выбора Switch | Fornarina | Общие вопросы C/C++ | 1 | 31.10.2010 12:56 |
Оператор выбора switch(C++) | michal3003 | Помощь студентам | 2 | 06.09.2010 02:05 |
Оператор switch. | IgorArhangel | Помощь студентам | 4 | 16.01.2009 01:53 |