Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
1 / 1 / 1
Регистрация: 15.05.2012
Сообщений: 87

По названию животного из восточного календаря определить все года, которые соответствуют этому животному

15.02.2013, 14:54. Показов 4202. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задание,написать приложение которое по названию животного из восточного календаря, определяет все года, которые соответствуют этому животному и цвет соответствующего года.Выводить нужно: три года и цвет соответствующий этим годам.
С выводом года я разобрался:
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
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace b28
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        enum YearName
        {
            Крыса,
            Бык,
            Тигр,
            Кролик,
            Дракон,
            Змея,
            Лошадь,
            Овца,
            Обезьяна,
            Петух,
            Собака,
            Кабан,
        }
        private void button1_Click(object sender, EventArgs e)
        {
            string yearName;
            yearName = textBox1.Text;
            int j = 0;
            for (int i = 1888; i < 2067; i++) //год начала,год конца выводимых
            {
                if ((i - 4) % 12 == (int)Enum.Parse(typeof(YearName), yearName))
                {
                    textBox2.Text += (i + " ").ToString();
                    j++;
                }
            }
        }
    }
}
А вот с цветами года не могу разобраться никак...
Вот таблица в которой эти цвета и года расписаны:
Миниатюры
По названию животного из восточного календаря определить все года, которые соответствуют этому животному  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.02.2013, 14:54
Ответы с готовыми решениями:

По номеру года вывести его название из восточного календаря
В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый,...

Вывести по введенному году, какому животному восточного календаря соответствует этот год
Вывести по введенному году, какому животному восточного календаря соответствует этот год. Годы внутри цикла носят названия: крыса, бык,...

по названию месяца определить время года..
ребят, такая фигня...нужно по названию месяца определить время года.. вот примерная прога Program number; uses crt; var...

13
 Аватар для JonMagon
20 / 20 / 3
Регистрация: 15.02.2013
Сообщений: 59
15.02.2013, 16:19
Куда вы собрались цвет выводить? Если я правильно понял, у TextBox есть свойство BackColor, от него и танцуйте.
0
 Аватар для n1l
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.02.2013, 16:29
Представьте года ввиде объектов и все будет гораздо проще.
Т.е. опишите класс, который представляет годы по восточному календарю и вставьте туда необходимые свйоства.
Например так.

C#
1
2
3
4
5
6
7
8
9
10
11
   public sealed class AssianYear
  {
      //Свойство для доступа к названию года
      public string Title{get; set;}
      
      //Свойство для доступа к названию цвета года
      public string Color{get; set;}
      
      //Свойство для доступа к списку годов
      public List<int> Years{get; set;}
   }
Инициализация будет проходить примерно так

C#
1
2
3
4
5
6
7
8
9
10
public List<AssianYear> CreateListOfYears()
{
   return new List<AssianYear>{
       new AsianYear{Title="Год змеи", Color="зеленый", new List<int>{1989,2001,2013}},
       new AsianYear{Title="Год лошади", Color="белый", new List<int>{1990,2002,2014}},
       ...
       new AsianYear{Title="Год кого-то", Color="какой-то цвет", new List<int>{год1,год2,год3}}
 
   };
}
Вывод на экран можно сделать по разному, но я бы порекомендовал вам переопределить метод ToString() который наследуют все классы. И дописать класс AssianYear примерно вот так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
   public sealed class AssianYear
  {
      //Свойство для доступа к названию года
      public string Title{get; set;}
      
      //Свойство для доступа к названию цвета года
      public string Color{get; set;}
      
      //Свойство для доступа к списку годов
      public List<int> Years{get; set;}
 
 
   
     //Метод для создания строки вывода
    public override string ToString()
    {
        return String.Format("Год: {0}, Цвет: {1}, Список годов: {2}", Title, Color, Yers.ToString());
     }
   }

И сам вывод можно будет сделать так:

C#
1
2
3
4
5
6
7
8
public void WriteToConsole(List<AssianYear> listOfYears)
{
 
    foreach(AssianYear year in listOfYears)
    {
         Console.WriteLine(year.ToString());
     }
}

Будет что не понятно, спрашивайте.
0
1 / 1 / 1
Регистрация: 15.05.2012
Сообщений: 87
15.02.2013, 17:23  [ТС]
Цитата Сообщение от JonMagon Посмотреть сообщение
Куда вы собрались цвет выводить? Если я правильно понял, у TextBox есть свойство BackColor, от него и танцуйте.
Название цвета должно выводится в текстбокс)))

Добавлено через 8 минут
Цитата Сообщение от n1l Посмотреть сообщение
Инициализация будет проходить примерно так

C#
1
2
3
4
5
6
7
8
9
10
public List<AssianYear> CreateListOfYears()
{
   return new List<AssianYear>{
       new AsianYear{Title="Год змеи", Color="зеленый", new List<int>{1989,2001,2013}},
       new AsianYear{Title="Год лошади", Color="белый", new List<int>{1990,2002,2014}},
       ...
       new AsianYear{Title="Год кого-то", Color="какой-то цвет", new List<int>{год1,год2,год3}}
 
   };
}
Так у меня для каждого животного по 15 годов, получается мне этот список нужно ещё 4 раза будет написать?
0
 Аватар для n1l
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.02.2013, 17:30
Это всего лишь примерная запись. Там показан пример, конечно же его можно улучшить и я могу вам показать как, но я не знаю вашей задачи, потому объясняю все наиболее абстрактно.
0
1 / 1 / 1
Регистрация: 15.05.2012
Сообщений: 87
15.02.2013, 18:37  [ТС]
Цитата Сообщение от n1l Посмотреть сообщение
Это всего лишь примерная запись. Там показан пример, конечно же его можно улучшить и я могу вам показать как, но я не знаю вашей задачи, потому объясняю все наиболее абстрактно.
Ну задачу я вроде нормально описал, так что помоги пожалуйста
Вообщем суть задачи это ввести животное, и на выходе получить все года которые именуются этим животным, а именно нужно что бы выводило три года потом цвет этих годов, потом еще три года и опять цвет...
Вообщем, на входе " крыса", на выходе "1924 1984 2044 сине-зелёный 1936 1996 2056 красный...."
0
 Аватар для n1l
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.02.2013, 18:45
На каком выходе?
Как вы хотите их вывести?
Откуда берете данные?
Вот это все опишите пожалуйста.
0
1 / 1 / 1
Регистрация: 15.05.2012
Сообщений: 87
15.02.2013, 19:14  [ТС]
Ввожу в текстбокс название животного и выдаёт года и цвета...А как именно это будет сделано не важно)
0
 Аватар для n1l
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.02.2013, 21:13
А табличка у вас как заполнилась?

Добавлено через 15 минут
Если вам не важен вид таблички вы можете сделать так:

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
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
 
            List<AssianYear> yearList = new List<AssianYear>();
            yearList.Add(new AssianYear { Year=1989, Title = "Змея", Color = "Желтый" });
            yearList.Add(new AssianYear { Year=2013, Title = "Змея", Color = "Оранжевый" });
 
            dataGridView1.DataSource = yearList;
 
        }
    }
 
    /// <summary>
    /// Класс описывающий год по восточному календарю.
    /// </summary>
    class AssianYear
    {
        /// <summary>
        /// Год
        /// </summary>
        public int Year { get; set; }
        /// <summary>
        /// Название года
        /// </summary>
        public string Title { get; set; }
        /// <summary>
        /// Цвет года
        /// </summary>
        public string Color { get; set; }
    }
}
Т.е. предварительно создать список из объектов и заполнить dataGridView ими.
Благодаря этому можно будет сделать поиск гораздо проще.
Если вам подходит такая реализация, то могу показать как можно будет сделать поиск.
0
Темная сторона .Net
 Аватар для Noob.net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
15.02.2013, 21:32
trutoxa, я бы сделал по другому. Можно использовать Dictionary<int,Color>.
Поскольку из enum"а можно достать номер "элемента перечисления". Например "Крыса" - 0,следующий 1.

Осталось только логику продумать как достать цвет по номеру = MyDictionary[(int)Крыса] - получаем Color =)
Все понятно?

Добавлено через 51 секунду
n1l, ваш метод неплохой,но нужна универсальность,не зависящая от даты.
0
 Аватар для n1l
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.02.2013, 21:42
Я думал о словаре, но откинул эту мысль потому, как думаю первичный ключ в виде даты тут очень важен.
0
1 / 1 / 1
Регистрация: 15.05.2012
Сообщений: 87
16.02.2013, 21:41  [ТС]
Цитата Сообщение от n1l Посмотреть сообщение

Если вам подходит такая реализация, то могу показать как можно будет сделать поиск.
Да, подходит.
Покажите пожалуйста
0
 Аватар для n1l
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
16.02.2013, 23:29
Цитата Сообщение от trutoxa Посмотреть сообщение
Да, подходит.
Покажите пожалуйста
Сегодня не успел, завтра скину вам пример в проекте, с поиском и т.д.
0
 Аватар для n1l
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
17.02.2013, 11:02
Цитата Сообщение от trutoxa Посмотреть сообщение
Да, подходит.
Покажите пожалуйста
Ну вот примерно так. Если вам обязательно нужны циклы, то linq которое я использовал к коллекциям легко можно поменять на цикл foreach.
Вложения
Тип файла: rar WindowsFormsApplication1.rar (42.4 Кб, 8 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.02.2013, 11:02
Помогаю со студенческими работами здесь

Определить время года по названию месяца
Помогите, пожалуйста! не могу найти ошибку! program sezon; var m, vesna, leto, zima, osen, oshibka: byte; begin ...

По названию месяца определить название соответствующего времени года
Последняя просьба, честно-честно) Надо написать программу, которая выдаёт по названию месяца название соответствующего года используя...

Удалить все записи, которые не соответствуют задаваемому значению в графе город
Доброго времени суток. Вопрос заключается в том,как удалить запись? У меня есть база данных,написанная в паскале,и мне нужно удалить все...

Вывести на экран все пункты оправления, которые соответствуют заданному пункту назначения
В файле храниться список поездов в виде Пункт_отправления-Пункт_назначения (Москва-Сочи) количество записей не ограничено вывести...

Для заданного интервала найти все числа, которые соответствуют найденному правилу
Дали решить 3 задачи, помогите решить две: 1: Петя, выполняя домашнюю работу по алгебре,обнаружил числа с интересными свойствами : они...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru