Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
#1

Программа case - C++

22.03.2013, 01:43. Просмотров 1057. Ответов 9
Метки нет (Все метки)

Здравствуйте! У меня есть следующая задача: "В китайском гороскопе года носят следующие названия: крыса, корова, тигр, заяц, дракон, змея, лошадь, овца, обезьяна, петух, собака, свинья. Учитывая, что 1996 - год крысы, написать программу, определяющую название года по его номеру."
Оригинал:
Кликните здесь для просмотра всего текста
"У китайському гороскопі роки носять такі назви: щур, корова, тигр, заєць, дракон, змія, кінь, вівця, мавпа, півень, собака, свиня. Враховуючи, що 1996 – рік щура, написати програму, що визначає назву року за його номером."

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void main()
{
int y;
printf("Введите год от 1996 до 2008");
scanf("%y", &y);
if ((y<1999) or (y>2008))
printf ("Вы ввели неверное значение!");
else
switch (y){
case '1996': printf("Год крысы!");
case '1997': printf("Год коровы!")
и т.д.
}
getch();
Не хочет понимать, что у, который ввел пользователь, его же и необходимо проверять с цифровыми значениями. Подскажите, пожалуйста, как правильно?

 Комментарий модератора 
Официальным языком форума является русский язык.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2013, 01:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа case (C++):

в case 7 - нужно сделать поиск по номеру группы, а в case 6 сортировку по имени - C++
Помогите пожалуйста: в case 7 - нужно сделать поиск по номеру группы, а в case 6 сортировку по имени #include &lt;iostream&gt; #include...

При выборе case 1 всегда черный экран? как правильно указать путь в case - C++
Доброго времени суток) проблема с компиляций когда при компилирование появляется экран выбора. Нажимаю 1 и все черный экран) пожалуйста...

switch-case, как писать в самом case - C++
Такс дело вот в чём,прога работает всё хорошо,вот только мне не нравится как записваю страны в кейсе,можно ли каким-нибудь образом писать в...

Оптимальная конструкция switch-case-while / while-switch-case - C++
Имеется конструкция типа: switch() { case 1: while() { ... }

Switch case внутри switch case - C++
Привет всем! Нужна помощь. Пишу калькулятор с консольным меню. Так вот, используется цикл while, внутри которого у меня switch...

Case - C++
Можно ли как то в конструкции switch case задавать условие например case n&lt;0:и выполнить действие

9
Kuzia domovenok
2032 / 1876 / 169
Регистрация: 25.03.2012
Сообщений: 6,475
Записей в блоге: 1
22.03.2013, 01:47 #2
Поиск по форуму попробуй, тыщу раз спрашивали уже.
0
iNsomNia7
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 32
22.03.2013, 02:07 #3
case '1996': printf("Год крысы!"); break;
0
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
22.03.2013, 02:32  [ТС] #4
Kuzia domovenok, а что писать в поиске то?
0
iNsomNia7
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 32
22.03.2013, 02:40 #5
Не понял вопроса сразу...

Мб не нужно указывать год '1996', а просто оставить числом 1996, ведь y - int
1
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
22.03.2013, 02:42 #6
Цитата Сообщение от Toda Посмотреть сообщение
C++
1
scanf("%y", &y);
%y - что за спецификатор?
может %d всё-таки?
0
Kuzia domovenok
22.03.2013, 02:43
  #7

Не по теме:

действительно, тебе ж лень не позволяет даже вопрос для непосвящённых перевести. Где уж там собрать силы и придумать, что же искать?

0
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
22.03.2013, 03:24  [ТС] #8
Croessmah, да, ошибся

Добавлено через 8 минут
iNsomNia7, простите пожалуйста, что сразу не смог все правильно истолковать. Спасибо Вам огромное! Получилось так как вы и говорили! Вам +1 спасибо)

Добавлено через 7 минут
Скидываю код рабочей программки.
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
#include <locale.h>
#include <conio.h>
#include <stdio.h>
void main()
    {
        setlocale(0, "rus");
        int y;
        printf("Введите год от 1996 до 2008: ");
        scanf("%d",&y);
        if ((y<1996)|(y>2008))
            printf("Вы ввели неверное значение!");
        else
            switch(y)
                {
            case 1996: printf("Год крысы!"); break;
            case 1997: printf("Год коровы!"); break;
            case 1998: printf("Год тигра!"); break;
            case 1999: printf("Год зайца!"); break;
            case 2000: printf("Год дракона!"); break;
            case 2001: printf("Год змеи!"); break;
            case 2002: printf("Год лошади!"); break;
            case 2003: printf("Год овцы!"); break;
            case 2004: printf("Год обезьяны!"); break;
            case 2005: printf("Год петуха!"); break;
            case 2006: printf("Год собаки!"); break;
            case 2007: printf("Год свиньи!"); break;
                }
        getch;
    }
Однако, быстро закрывается окно ввода.
0
iNsomNia7
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 32
24.03.2013, 11:23 #9
Чтобы окно не закрывалось быстро, обычно пишу system("pause") перед return
0
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
24.03.2013, 11:41 #10
Задание на Русском языке: "В китайском гороскопе года носят следующие названия: крыса, корова, тигр, заяц, дракон, змея, лошадь, овца, обезьяна, петух, собака, свинья. Учитывая, что 1996 - год крысы, написать программу, определяющую название года по его номеру."

Добавлено через 12 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    setlocale(0,""); //русский язык в консоли
    const int N = 12;
    string str[N] ={"Год крысы!", "Год коровы!", "Год тигра!", "Год зайца!", "Год дракона!", "Год змеи!", "Год лошади!", "Год овцы!", "Год обезьяны!", "Год петуха!", "Год собаки!", "Год свиньи!"};
    int year;
    cin >> year;
 
    if(year < 4) {
        return 0;
    }
 
    int year_name = (year - 4) % 12;
    cout << str[year_name];
}
И без всяких switch
1
24.03.2013, 11:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2013, 11:41
Привет! Вот еще темы с ответами:

CASE(C++) - C++
Помогите решить задачку, пожалуйста. С начала 1990 года по некоторый день прошло n месяцев и 2 дня. Определить название месяца(январь,...

Case - C++
Есть ли в C++ аналог дэльфишному Case i of? Я конечно могу прописать на каждый вариант if но не красиво же будет )) и дабы не...

case -> if - C++
Надо переделать с си++ на си, т.е. case на if while(choice != 4) { switch(choice) { case 1: add_student(); ...

CASE - C++
Не могу понять почему программа выводит пустой массив, при входе в case функция перестаёт слушаться. За сase-ом работает отлично. В сase...


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

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

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