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

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

Восстановить пароль Регистрация
 
kostia-fil
0 / 0 / 0
Регистрация: 28.02.2014
Сообщений: 29
01.03.2014, 09:07     Какая ошибка допущена в следующем фрагменте программы: #1
......

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++ Допущена ошибка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
01.03.2014, 09:09     Какая ошибка допущена в следующем фрагменте программы: #2
Цитата Сообщение от kostia-fil Посмотреть сообщение
переменная m может быть только целого типа
бинго
2ima
☆ Форумчанин(FSC)☆
 Аватар для 2ima
909 / 288 / 9
Регистрация: 28.04.2013
Сообщений: 2,324
Записей в блоге: 10
Завершенные тесты: 1
01.03.2014, 09:17     Какая ошибка допущена в следующем фрагменте программы: #3
Цитата Сообщение от kostia-fil Посмотреть сообщение
1. не хватает в строке,содержащей с case 1,оператора break
Поставьте
Цитата Сообщение от kostia-fil Посмотреть сообщение
2. переменная m может быть только целого типа
Нет, по скольку он типа float

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

Он ведь должен проверять на цельность значение, то-есть какого типа отдаются данные(например путем присутствия запятой), а не значений 0 и 1. Проверка этих зачений вам ничего не даст, необходимо в выводном значении от switch проверять наличие запятой.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
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     Какая ошибка допущена в следующем фрагменте программы:
Ответ Создать тему
Опции темы

Текущее время: 05:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru