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

Старо японский календарь - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.62
fragnat
 Аватар для fragnat
11 / 11 / 0
Регистрация: 17.12.2009
Сообщений: 77
20.12.2009, 17:31     Старо японский календарь #1
Всем привет.
Прошу помочь, подскажите при помощи чего можно избежать громозкого кода.
Погуглил нашел только код написаный на Pascal.
Задача:
В старояпонском календаре был принят двенадцатилетний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. Написать программу, которая позволяет ввести номер года и печатает его название по старояпонскому календарю. Справка: 1996 г. — год крысы — начало очередного цикла.
Самый наверно примитивный вариант решения, это прописать на каждый год своё имя от 0 и до 2009, а как можно это сделать проще? Каким оператором?

На паскале это выглядит как то так(на правильность не проверял):
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Program Goroskop;
Var Year : Integer;
Begin
 Write('Введите год '); ReadLn(Year);
   CASE Year MOD 12 OF
    0 : WriteLn('Год Обезьяны');
    1 : WriteLn('Год Петуха');
    2 : WriteLn('Год Собаки');
    3 : WriteLn('Год Свиньи');
    4 : WriteLn('Год Крысы');
    5 : WriteLn('Год Коровы');
    6 : WriteLn('Год Тигра');
    7 : WriteLn('Год Зайца');
    8 : WriteLn('Год Дракона');
    9 : WriteLn('Год Змеи');
   10 : WriteLn('Год Лошади');
   11 : WriteLn('Год Овцы')
  END;
END.
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2009, 17:31     Старо японский календарь
Посмотрите здесь:

японский календарь C++
C++ календарь
Написать программу японский гороскоп C++
Универсальный календарь C++
C++ Откомментируйте календарь
Юлианский календарь C++
C++ Японский кроссворд с использованием MPI

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Delphin_KKC
UNIX-way
 Аватар для Delphin_KKC
710 / 494 / 17
Регистрация: 15.01.2009
Сообщений: 1,721
20.12.2009, 17:49     Старо японский календарь #2
А на С++ как-то так:
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
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    cout << "Input year: ";
    int year;
    cin >> year;
    switch (year % 12)
    {
    case 0 : cout <<"Год Обезьяны";break;
    case 1 : cout <<"Год Петуха";break;
    case 2 : cout <<"Год Собаки";break;
    case 3 : cout <<"Год Свиньи";break;
    case 4 : cout <<"Год Крысы";break;
    case 5 : cout <<"Год Коровы";break;
    case 6 : cout <<"Год Тигра";break;
    case 7 : cout <<"Год Зайца";break;
    case 8 : cout <<"Год Дракона";break;
    case 9 : cout <<"Год Змеи";break;
   case 10 : cout <<"Год Лошади";break;
   case 11 : cout <<"Год Овцы";break;
   }
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
На DevCPP 4.9.9.2 компилируется, но вместо русского языка выводит непонять что. Лень было переписывать на транслит названия.
fragnat
 Аватар для fragnat
11 / 11 / 0
Регистрация: 17.12.2009
Сообщений: 77
20.12.2009, 18:15  [ТС]     Старо японский календарь #3
Delphin_KKC, Спасибо всё верно!
Вот код, думаю кому-нибудь ещё пригодится
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
#include <stdio.h>
#include <locale.h>
 
int main()
{
    //  Руссифицируем
        setlocale(LC_ALL,"Rus");
    //  Вводим переменные
        int year;
    //  Введение в программу
        printf_s ("%s\n","В старояпонском календаре был принят 12-летний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. Написать программу, которая вводит номер некоторого года и печатает его название по старояпонскому календарю.");
    //  Спрашиваем значения
        printf_s ("\n%s", "Введите год:  ");
        scanf_s ("%d", &year);
    //  switch
        printf_s ("%d%s",year," год, был годом ");
        switch(year % 12)
        {
        case 0: printf_s ("%s\n","обезьяны");break;
        case 1: printf_s ("%s\n","курицы");break;
        case 2: printf_s ("%s\n","собаки");break;
        case 3: printf_s ("%s\n","свиньи");break;
        case 4: printf_s ("%s\n","крысы");break;
        case 5: printf_s ("%s\n","коровы");break;
        case 6: printf_s ("%s\n","тигра");break;
        case 7: printf_s ("%s\n","зайца");break;
        case 8: printf_s ("%s\n","дракона");break;
        case 9: printf_s ("%s\n","змеи"); break;
        case 10: printf_s ("%s\n","лошади");break;
        case 11: printf_s ("%s\n","овцы");break;
        };
};
Yandex
Объявления
20.12.2009, 18:15     Старо японский календарь
Ответ Создать тему
Опции темы

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