Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kostia-fil
0 / 0 / 0
Регистрация: 28.02.2014
Сообщений: 29
#1

Какая ошибка допущена в следующем фрагменте программы: - C++

01.03.2014, 09:07. Просмотров 297. Ответов 4
Метки нет (Все метки)

......

int k=0;

float m=k+2;

switch(m%2)

{case 0: cout<<"m- четное"; break;

case 1: cout<<"m- нечетное";

}

.......

Варианты ответов:
1. не хватает в строке,содержащей с case 1,оператора break
2. переменная m может быть только целого типа
3. нельзя после switch писать выражение m%2
4. отсутствует ветвь default
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2014, 09:07     Какая ошибка допущена в следующем фрагменте программы:
Посмотрите здесь:

какая то ошибка в книге C++
найти ошибки в фрагменте программы C++
Гляньте какая у меня ошибка C++
C++ Какая у меня тут ошибка?
C++ какая у меня ошибка ?
C++ Какая-то ошибка
C++ Допущена ошибка
Где допущена ошибка? :( Движение фигуры по кругу C++
C++ Есть ли ошибки в следующем фрагменте кода?
Найдите ошибку в следующем фрагменте программы C++
Подсчитать количество строк во фрагменте программы между определениями макроса C++
Какая ошибка допущена в цикле? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12891 / 7277 / 811
Регистрация: 27.09.2012
Сообщений: 17,976
Записей в блоге: 2
Завершенные тесты: 1
01.03.2014, 09:09     Какая ошибка допущена в следующем фрагменте программы: #2
Цитата Сообщение от kostia-fil Посмотреть сообщение
переменная m может быть только целого типа
бинго
2ima
☆ Форумчанин(FSC)☆
910 / 289 / 9
Регистрация: 28.04.2013
Сообщений: 2,377
Записей в блоге: 10
Завершенные тесты: 1
01.03.2014, 09:17     Какая ошибка допущена в следующем фрагменте программы: #3
Цитата Сообщение от kostia-fil Посмотреть сообщение
1. не хватает в строке,содержащей с case 1,оператора break
Поставьте
Цитата Сообщение от kostia-fil Посмотреть сообщение
2. переменная m может быть только целого типа
Нет, по скольку он типа float

По-моему неверно реализован сам цикл с case.

Он ведь должен проверять на цельность значение, то-есть какого типа отдаются данные(например путем присутствия запятой), а не значений 0 и 1. Проверка этих зачений вам ничего не даст, необходимо в выводном значении от switch проверять наличие запятой.
0x10
2456 / 1628 / 238
Регистрация: 24.11.2012
Сообщений: 4,003
01.03.2014, 09:24     Какая ошибка допущена в следующем фрагменте программы: #4
FSC, что это сейчас было?
Цитата Сообщение от FSC Посмотреть сообщение
Поставьте
Если посмотрите в код, то в данном случае можно обойтись без него - ущерба для логики не будет. С точки зрения синтаксиса break в принципе необязателен.

Цитата Сообщение от FSC Посмотреть сообщение
Нет, по скольку он типа float
Вот потому что там применяется операция получения остатка от деления, m и нельзя объявлять как float - получим ошибку компиляции.

Цитата Сообщение от FSC Посмотреть сообщение
По-моему неверно реализован сам цикл с case.
Цикл? switch != цикл.

Цитата Сообщение от FSC Посмотреть сообщение
Он ведь должен проверять на цельность значение
По сообщениям ясно, что проверка не на "цельность", а на четность.

Не по теме:

kostia-fil, вы на контрольной сидите? Откройте для себя http://ideone.com/ .

Tulosba
01.03.2014, 12:52     Какая ошибка допущена в следующем фрагменте программы:
  #5

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
вы на контрольной сидите?
Судя по всему контрольная у ТС затянулась на пару суток

Yandex
Объявления
01.03.2014, 12:52     Какая ошибка допущена в следующем фрагменте программы:
Ответ Создать тему
Опции темы

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