Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> метки и чтение символов в операторе switch, чтение слов в операторе switсh 
:(
    Опции темы
danilkramatorsk
Дата 31.1.2013, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 22.12.2012

Репутация: нет
Всего: нет



Код

 int grade;
while ( ( grade = cin.get() ) != EOF ) 
 { 

 switch ( grade ) 
 { 
 case '1':
 case 'F': 
 aCount++;
 break; 
 
 case '2':
 bCount++; 
 break; 

 case '\n': 
 case '\t':
 case ' ': 
 break; 
 
 default:  
 cout << "Введены не корректные значения." 
 << " Enter a new grade." << endl; 
 break; // не обязателен; выход из switch в любом случае 
 } // конец switch 
 } // конец while 
 } // конец функции inputGrades 

Не пойму как вместо 
Цитата

case '1'

сделать case 'First', то при вводе писал не один символ(букву), а слово. Как я понял условие: (grade = cin.get() ) , допускает, что мы вводили только 1 символ и сохраняется он в grade. И если можно, расскажите боле подробно об cin.get(),когда еще встречается для каких целей и т.д..
PM MAIL   Вверх
bsa
Дата 31.1.2013, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



cin.get - это получение одного символа из потока. Используется довольно редко - при парсинге, разве что.
case "First": - сделать в принципе невозможно - switch/case работают только с целыми типами.
Если ты хочешь вводить что-то большее, чем один символ, то используй форматированный ввод (cin >> grade).
PM   Вверх
danilkramatorsk
Дата 1.2.2013, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 22.12.2012

Репутация: нет
Всего: нет



bsa,вот мне что нужно,возможно я не так выразил суть моей проблемы
Напишите программу, использующую 
повторение и оператора switch для печати текста песенки «The Twelve Da s of 
Christ as»). Один оператор switch должен печатать день («First», «Second» 
и т.д.). Отдельный от него оператор switch должен печатать остальной текст  
каждого куплета.

Добавлено через 2 минуты и 47 секунд
я так понял, что в самом switch необходимо было задать case 'First', после окончания switch задать ф-ию и в ней вывести соответствующее сообщение (куплет).

Это сообщение отредактировал(а) danilkramatorsk - 1.2.2013, 00:56
PM MAIL   Вверх
fish9370
Дата 1.2.2013, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 1
Всего: 1



danilkramatorsk (ну и ник у тебя), bsa тебе дал четко понять, что в этом языке, такой фокус не пройдет (нельзя в кейс вставлять строки). 
В более высокоуровневом языке пожалуйста, здесь нет.

тебе подойдет серия if/else, как обычно делают в этом языке..


--------------------
undefined
PM MAIL WWW ICQ   Вверх
xvr
Дата 1.2.2013, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(danilkramatorsk @  1.2.2013,  00:55 Найти цитируемый пост)
Один оператор switch должен печатать день («First», «Second» 
и т.д.).

Заметь - печатать, а не распознавать. Т.е. в самом switch должна быть обычная переменная типа int, в вот после case 1: доллжен быть cout << "First" (ну и т.д.)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0499 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.