|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.08.2011, 19:41 | #1 |
Пользователь
Регистрация: 30.08.2011
Сообщений: 26
|
проблема с компилятором Watcom c-c++
Пишу очень простенькую программку:
#include <stdio.h> void main() { int i,j; char com; while(1) { printf("vvedite comadu\n"); scanf("%c", &com); printf("vvedite argument\n"); scanf("%d", &i); switch (com) { case 'k':j=i*i; break; case 'l': j=i*i*i; break; default: break; } printf("%d\n", j); } } При первом проходе цикла все нормально Уже при втором отмеченная строка просто пропускается Ничего не могу с этим сделать |
30.08.2011, 20:01 | #2 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Попробуйте вместо scanf("%d", &i); написать scanf("%d\n", &i);
Если не поможет, то после scanf("%d", &i); вставьте getchar(); Если и это не поможет (хотя должно), то после scanf("%d", &i); напишите fflush(stdin); Код:
Код:
|
31.08.2011, 09:44 | #3 |
Пользователь
Регистрация: 30.08.2011
Сообщений: 26
|
netrino, спасибо огромное! все заработало. вот только я надеюсь вы не подумали, что эта программа мне понадобилась для конкретного применения. Это так сказать проба пера. Не могли бы вы объяснить мне суть проблемы. на будущее. уточню - заработал выриант с
scanf("%d", &i); fflush(stdin); |
31.08.2011, 18:18 | #4 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
Проблема была в том, что при чтении целого scanf'ом, в буфере оставался символ перевода строки (тот, что по нажатию Enter вводится), который и считывался последующим вызовом scanf("%c", &com), создавая видимость "пропуска ввода". fflush(stdin) очищает буфер потока ввода. |
|
02.09.2011, 11:44 | #5 |
Пользователь
Регистрация: 30.08.2011
Сообщений: 26
|
Даааа, Си капризный язык. Спасибо еще раз! Сам бы никогда не догадался. И ни в какой литературе не найдешь
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Open Watcom 1.9 исправление редактора текста | Виталий Серов | Софт | 1 | 24.07.2014 17:45 |
проблема с компилятором | Monomah | Помощь студентам | 3 | 11.04.2011 16:38 |
Проблема с компилятором и обучалкой | Kree | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 06.11.2009 22:09 |
Помогите с Watcom | Vega89 | Помощь студентам | 2 | 06.08.2009 09:19 |
Проблема с компилятором, а может и не с ним :( | D_bl_M | Общие вопросы C/C++ | 15 | 08.11.2007 11:43 |