Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
481 / 426 / 204
Регистрация: 04.03.2011
Сообщений: 1,259
1

пролетает gets в теле switch

22.01.2014, 12:54. Просмотров 609. Ответов 8
Метки нет (Все метки)


не хочет запрашивать ввод строки, как будто строки gets(s); нету
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
while (v != 1 && v != 2)
    {
        cin >> v;
        switch(v)
        {
            case 1:
            {
                gets(s);
                strcat(s, ".txt");  
                ifstream in(s);
                
                                             // действия
 
                in.close();
                break;
            }
            case 2:
            {
                // действия
                break;
            }
            default:
            {
                // что-нибудь
                break;
            }
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2014, 12:54
Ответы с готовыми решениями:

Подсчет количества операторов в теле оператора switch
Здравствуйте, у меня есть пару вопросов по теории Сколько операторов выполняется в теле...

Есть ли разница - писать функцию до switch или в его теле
есть ли разница-писать функцию до switch,а затем вызывать эту функцию в нём или - вызывать и...

Пролетает cin >>
Нужно заполнять вектор пока не введено 'x', потом сложить количество (введенное) первых элементов....

AddForce пролетает сквозь коллайдер
Если в Vector2 задать параметры 5000, 0 то пуля пролетает сквозь коллайдер var newGo1 :...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
8
БНТУ ФИТР
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
22.01.2014, 12:58 2
nuHrBuH, добавьте перед gets fflush(stdin);
1
481 / 426 / 204
Регистрация: 04.03.2011
Сообщений: 1,259
22.01.2014, 13:06  [ТС] 3
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
nuHrBuH, добавьте перед gets fflush(stdin);
Спасибо, помогло. Что оно значит и зачем его ставить?
0
176 / 144 / 70
Регистрация: 01.05.2012
Сообщений: 414
22.01.2014, 13:06 4
Замените ввод V так)

C++
1
(cin >> v).get();
1
481 / 426 / 204
Регистрация: 04.03.2011
Сообщений: 1,259
22.01.2014, 13:10  [ТС] 5
Цитата Сообщение от _script_ Посмотреть сообщение
Замените ввод V так)

C++
1
(cin >> v).get();
Спасибо, тоже работает)
Только как?)
0
176 / 144 / 70
Регистрация: 01.05.2012
Сообщений: 414
22.01.2014, 13:13 6
Все нормально) если заменить там ввод, то не будет пропускать)
тут вот объясняется Не выполняется функция getline()
1
БНТУ ФИТР
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
22.01.2014, 13:14 7
nuHrBuH, nuHrBuH, fflush - очистка буфера. В данном случае буфера ввода. Т.к после ввода строк в буфере ввода остается лишний символ - символ перевода строки. Но лучше заменили бы gets на getline, это в стиле C++.
1
5479 / 4874 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
22.01.2014, 16:18 8
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
nuHrBuH, добавьте перед gets fflush(stdin);
Использовать fflush() для потока чтения - не есть хорошо. http://www.cplusplus.com/refer... ?kw=fflush
0
Форумчанин
Эксперт CЭксперт С++
8164 / 5012 / 1436
Регистрация: 29.11.2010
Сообщений: 13,455
22.01.2014, 17:20 9
В С++ такие проблемы решаются через
C++
1
std::cin.ignore()
Это игнорирует первый символ, переданный потоку - а это "\n", оставшийся с прошлого ввода и нажатия "Enter".
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2014, 17:20

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Анимация: по экрану со свистом пролетает самолёт
2. По экрану со свистом пролетает самолёт (достаточно изобразить закрашенный силуэт самолёта).

Задача вычисляющая расстояние которое пролетает камень.
Помогите разработать программу, вычисляющую расстояние, которое пролетит тело вдоль горизонтальной...

Игра с Мячом - Мяч пролетает указанные точки чуть дальше
Ошибки программы опишу ниже этого кода, но прежде вставьте этот код в PascalABC.NET и посмотрите...

Пролетает cin, после того как goto возвращается в начало программы
Мне нужно сделать программу, которая будет исключать варианты ввода не целых чисел. Если вводить...

Какого цвета был крокодил который пролетает ближе к северному полюсу
Летели два крокодила, один синий, второй желтый. Первый крокодил летел зюйд-зюйд-вест на высоте...

Как сделать чтобы Switch работал в другом Switch'e?
Как сделать что бы Switch работал в другом Switch'e? Вот допустим выбираем один пункт и в...


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

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

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