Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для Elena)))
3 / 3 / 1
Регистрация: 11.10.2011
Сообщений: 55

Оператор switch

17.10.2011, 19:39. Показов 2104. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны два целых числа: D (день) и M (месяц), определяющие правильную дату
невисокосного года. Вывести значения D и M для даты, предшествующей указанной.

Добавлено через 21 час 50 минут
ага... ну почему никто не может помочь???
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.10.2011, 19:39
Ответы с готовыми решениями:

Оператор switch C++
Помогите с кодом, пожалуйста. На скрине задание.

Оператор switch и while
Для целого числа к от 1 до 99 напечатать фразу «Мне к лет», учитывая при этом, что при некоторых значениях к слово «лет» надо заменить...

Оператор switch
Оператор switch: 1)Написать программу, где ожидается ввод символа с клавиатуры, после чего определяется, является ли этот символ буквой,...

15
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
17.10.2011, 19:41
Цитата Сообщение от Elena))) Посмотреть сообщение
ну почему никто не может помочь???
а где, собственно, вопрос-то ваш?
0
Заблокирован
17.10.2011, 19:42
Цитата Сообщение от Elena))) Посмотреть сообщение
Даны два целых числа: D (день) и M (месяц), определяющие правильную дату
невисокосного года. Вывести значения D и M для даты, предшествующей указанной.

Добавлено через 21 час 50 минут
ага... ну почему никто не может помочь???
Все озадачались, как написать этот switch! То ли делать switch по месяцам, то ли по дням!

Например, можно сделать внешний switch по дням, а внутренний по месяцам. А можно, наоборот! То есть довольно сложная задача!
0
 Аватар для Elena)))
3 / 3 / 1
Регистрация: 11.10.2011
Сообщений: 55
17.10.2011, 19:45  [ТС]
Например, можно сделать внешний switch по дням, а внутренний по месяцам. А можно, наоборот! То есть довольно сложная задача!
а если только по месяцам???
0
Заблокирован
17.10.2011, 19:50
Цитата Сообщение от Elena))) Посмотреть сообщение
а если только по месяцам???
Неа, лучше наверное по дням! Нужно проверить всего лишь два дня: первое ли это число месяца или не первое. Если не первое, то просто из дня вычитаем единицу, а месяц остается прежним. А если первое число месяца, то можно открыть второй switch уже по месяцам. Опять-таки проверять, первый это месяц года, или не первый. Если не первый, то опять (уже третий switch!) открываем, то есть проверяем, в месяце 31 день или 30, или 28!

Очень сложная задача! Сходу в ней не разобраться.
0
4 / 4 / 0
Регистрация: 15.10.2011
Сообщений: 39
17.10.2011, 19:58
Э.. а может D-1? а выбирать, какое это число? либо 1, 30, 31 и 28? и соответственно какой месяц, и какой перед ним месяц
0
Заблокирован
17.10.2011, 20:05
Цитата Сообщение от Федор-Липецк Посмотреть сообщение
Э.. а может D-1? а выбирать, какое это число? либо 1, 30, 31 и 28? и соответственно какой месяц, и какой перед ним месяц
А какое значение имеет 31 это число или 30? Все равно вычитаем единицу. Проблема как раз состоит для числа, равномк первому числу месяца.
0
 Аватар для Elena)))
3 / 3 / 1
Регистрация: 11.10.2011
Сообщений: 55
17.10.2011, 20:17  [ТС]
Цитата Сообщение от Сыроежка Посмотреть сообщение
Неа, лучше наверное по дням!
может здесь с днемя можно че-нить придумать???

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
29
30
31
32
33
34
35
36
#include<iostream>
using namespace std;
int main()
{
    setlocale(0,"rus");
    int d, m;
 
cout<<"Введите число: "; cin>>d;
cout<<"Введите месяц: "; cin>>m;
d=d-1;
if (m==2) d==28;
else if (m==1||m==3||m==5||m==7||m==8||m==10||m==12) d==31;
else d==30;
 
if (d<=0||d>31) cout<<"Неверное число!"<<endl;
else {
switch(m)
{
    case 1: cout<<"Предшествующая дата: "<<d<<" января"<<endl; break;
    case 2: cout<<"Предшествующая дата: "<<d<<" февраля"<<endl; break;
    case 3: cout<<"Предшествующая дата: "<<d<<" марта"<<endl; break;
    case 4: cout<<"Предшествующая дата: "<<d<<" апреля"<<endl; break;
    case 5: cout<<"Предшествующая дата: "<<d<<" мая"<<endl; break;
    case 6: cout<<"Предшествующая дата: "<<d<<" июня"<<endl; break;
    case 7: cout<<"Предшествующая дата: "<<d<<" июля"<<endl; break;
    case 8: cout<<"Предшествующая дата: "<<d<<" августа"<<endl; break;
    case 9: cout<<"Предшествующая дата: "<<d<<" сентября"<<endl; break;
    case 10: cout<<"Предшествующая дата: "<<d<<" октября"<<endl; break;
    case 11: cout<<"Предшествующая дата: "<<d<<" ноября"<<endl; break;
    case 12: cout<<"Предшествующая дата: "<<d<<" декабря"<<endl; break;
        default: cout<<"Неверное число!"<<endl;
            
}
}
return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
Заблокирован
17.10.2011, 20:25
Цитата Сообщение от Elena))) Посмотреть сообщение
может здесь с днемя можно че-нить придумать???

#include<iostream>
using namespace std;
int main()
{
setlocale(0,"rus");
int d, m;

cout<<"Введите число: "; cin>>d;
cout<<"Введите месяц: "; cin>>m;
d=d-1;
if (m==2) d==28;
else if (m==1||m==3||m==5||m==7||m==8||m==10||m= =12) d==31;
else d==30;

if (d<=0||d>31) cout<<"Неверное число!"<<endl;
else {
switch(m)
{
case 1: cout<<"Предшествующая дата: "<<d<<" января"<<endl; break;
case 2: cout<<"Предшествующая дата: "<<d<<" февраля"<<endl; break;
case 3: cout<<"Предшествующая дата: "<<d<<" марта"<<endl; break;
case 4: cout<<"Предшествующая дата: "<<d<<" апреля"<<endl; break;
case 5: cout<<"Предшествующая дата: "<<d<<" мая"<<endl; break;
case 6: cout<<"Предшествующая дата: "<<d<<" июня"<<endl; break;
case 7: cout<<"Предшествующая дата: "<<d<<" июля"<<endl; break;
case 8: cout<<"Предшествующая дата: "<<d<<" августа"<<endl; break;
case 9: cout<<"Предшествующая дата: "<<d<<" сентября"<<endl; break;
case 10: cout<<"Предшествующая дата: "<<d<<" октября"<<endl; break;
case 11: cout<<"Предшествующая дата: "<<d<<" ноября"<<endl; break;
case 12: cout<<"Предшествующая дата: "<<d<<" декабря"<<endl; break;
default: cout<<"Неверное число!"<<endl;

}
}
return 0;
}
Я не понял начало вашего кода.

C++
1
2
d=d-1;
if (m==2) d==28;
Почему d кладете равным 28?!
0
 Аватар для Elena)))
3 / 3 / 1
Регистрация: 11.10.2011
Сообщений: 55
17.10.2011, 20:31  [ТС]
Цитата Сообщение от Сыроежка Посмотреть сообщение
Почему d кладете равным 28?!
2-ой месяц, февраль, 28 дней (по условию год невисокосный)
0
Заблокирован
17.10.2011, 20:46
Цитата Сообщение от Elena))) Посмотреть сообщение
2-ой месяц, февраль, 28 дней (по условию год невисокосный)
Но вы же должны ввести произвольную дату, или я не так понял? То есть пользователь вводит произвольную дату (произвольный день и месяц), а вы, почему-то, меняете введенный им день на 28.
0
 Аватар для Elena)))
3 / 3 / 1
Регистрация: 11.10.2011
Сообщений: 55
17.10.2011, 20:58  [ТС]
Цитата Сообщение от Сыроежка Посмотреть сообщение
Но вы же должны ввести произвольную дату, или я не так понял? То есть пользователь вводит произвольную дату (произвольный день и месяц), а вы, почему-то, меняете введенный им день на 28.
нет, так день(в смысле введенная произвольная дата) на 28 меняться не будет, я же не присваиваю... ну надо же как-то показать, сколько дней в месяце...
0
Заблокирован
17.10.2011, 21:04
Я посмотрел внимательно, так вы там вообще даже не присваиваете, а сравниваете.

C++
1
if (m==2) d==28;
То есть я смысла не вижу в этом предложении.
0
 Аватар для Elena)))
3 / 3 / 1
Регистрация: 11.10.2011
Сообщений: 55
17.10.2011, 21:18  [ТС]
Цитата Сообщение от Сыроежка Посмотреть сообщение
Я посмотрел внимательно, так вы там вообще даже не присваиваете, а сравниваете.

C++
1
if (m==2) d==28;
То есть я смысла не вижу в этом предложении.
да, действительно..хах))) я наверное поняла, надо заметить ту часть на
if (d<=0)
{m--;
d=31;}
0
Заблокирован
17.10.2011, 21:21
Цитата Сообщение от Elena))) Посмотреть сообщение
да, действительно..хах))) я наверное поняла, надо заметить ту часть на
if (d<=0)
{m--;
d=31;}
Но это же не switch, а if, не так ли?
0
 Аватар для Elena)))
3 / 3 / 1
Регистрация: 11.10.2011
Сообщений: 55
17.10.2011, 21:39  [ТС]
Цитата Сообщение от Сыроежка Посмотреть сообщение
Но это же не switch, а if, не так ли?
так... но хотя бы с днями выполняется... ну не могу додуматься как эти дни со switch записать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.10.2011, 21:39
Помогаю со студенческими работами здесь

Оператор switch
Зависит ли a) объектный код от порядка меток case и default в данном операторе? б) если ответ на первый вопрос положителен, то тогда...

Оператор switch
Сделать с помощью оператора switch: a*pow(x+7)-b когда x&lt;5 &amp;&amp; b!=0; (x-c*d)/a*x когда x&gt;5 &amp;&amp; b==0; x/c в других случаях. ...

Оператор switch
Возникла проблема. Не хочет высчитываться &quot;v&quot;. Что не так? #include &lt;iostream.h&gt; #include &lt;math.h&gt; main () { int k; ...

Оператор switch
Помогите переправить задачу на оператор switch, пож-та. Я написал с предусловием, но как быть со switch'ом не знаю. Вот код с...

оператор switch - C++
Что делать если x--, x++ при нажатии на кнопку которая назначена просто зацикливаются ? switch (opo) { case LEFT: ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru