Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Reebok32
0 / 0 / 1
Регистрация: 21.11.2014
Сообщений: 49
1

Переделать код под использование пользовательских методов

27.11.2014, 17:36. Просмотров 303. Ответов 3
Метки нет (Все метки)

Есть программа,как ее переделать под 2 пользовательских метода:
1)Который возвращает значение через имя
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
    {
                Console.WriteLine("Введите день");
                int day = int.Parse(Console.ReadLine());
                Console.WriteLine("Введите месяц");
                int mon = int.Parse(Console.ReadLine());
                if (day<= 31 && mon <=12) {
                    switch (mon)
                        
        {
            case 1: if (day < 21) Console.WriteLine("Козерог"); else Console.WriteLine("Водолей"); break;
            case 2: if (day < 19) Console.WriteLine("Водолей"); else Console.WriteLine("Рыбы"); break;
            case 3: if (day < 21) Console.WriteLine("Рыбы"); else Console.WriteLine("Овен"); break;
            case 4: if (day < 20) Console.WriteLine("Овен"); else Console.WriteLine("Телец"); break;
            case 5: if (day < 21) Console.WriteLine("Телец"); else Console.WriteLine("Близнецы"); break;
            case 6: if (day < 22) Console.WriteLine("Близнецы"); else Console.WriteLine("Рак"); break;
            case 7: if (day < 23) Console.WriteLine("Рак"); else Console.WriteLine("Лев"); break;
            case 8: if (day < 23) Console.WriteLine("Лев"); else Console.WriteLine("Дева"); break;
            case 9: if (day < 24) Console.WriteLine("Дева"); else Console.WriteLine("Весы"); break;
            case 10: if (day < 23) Console.WriteLine("Весы"); else Console.WriteLine("Скорпион"); break;
            case 11: if (day < 23) Console.WriteLine("Скорпион"); else Console.WriteLine("Стрелец"); break;
            case 12: if (day < 22) Console.WriteLine("Стрелец"); else Console.WriteLine("Козерог"); break;
                    }
                
            }else Console.WriteLine("Неверная дата");
                    Console.ReadLine();
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2014, 17:36
Ответы с готовыми решениями:

Переделать программный код, добавив использование методов
using System; using System.Collections.Generic; using System.Linq; using...

Организация методов пользовательских классов
Описать структуру с именем ZNAK, содержащую следующие поля: - фамилия, имя; -...

Определение пользовательских методов класса. Массивы. Индексаторы.
О_о Задание : Создайте проект, в котором опишите класс для решения задачи...

Как переделать данный код под работу с большими числами?
using System; using System.Collections.Generic; using System.Linq; using...

Использование пользовательских шрифтов в приложении
Подскажите... Вот я создала шрифт в программе Font Creator . Но там расширение...

3
rustammv
14 / 14 / 9
Регистрация: 08.09.2014
Сообщений: 66
28.11.2014, 01:25 2
Reebok32 надеюсь что я правильно понял что требуется

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
using System;
using System.Collections.Generic;
 
namespace Task_cyberforum_kalendar
{
    class Program
    {
        static void Main(string[] args)
        {
            // ввод данных с консоли организуете самостоятельно, не люблю это делать с консоли :)
            DateZadiak zadiak = new DateZadiak();
            Console.WriteLine("ищем даты задиака Казерог");
            Console.WriteLine(zadiak.GetZadiakDate("казерог"));
            Console.WriteLine("ищем задиак по дате");
            Console.WriteLine(zadiak.GetZadiakName(3, 5)); 
            Console.ReadLine();
 
        }
 
    }
 
    public class DateZadiakItem
    {
        public readonly DateTime startDate;
        public readonly DateTime endDate;
        public readonly string NameZadiak;
        public DateZadiakItem(int mS, int dS, int mE, int dE, string name)
        {
            startDate = new DateTime(2000, mS, dS);
            endDate = new DateTime(2000, mE, dE);
            NameZadiak = name;
        }
    }
 
    public class DateZadiak
    {
        public List<DateZadiakItem> list;
 
        /// <summary>
        /// конструктор который заполняет список
        /// </summary>
        public DateZadiak()
        {
            list = new List<DateZadiakItem>();
            list.Add(new DateZadiakItem(12, 22, 1, 20,"Казерог"));
            list.Add(new DateZadiakItem(1, 21, 2, 18, "Водолей"));
            list.Add(new DateZadiakItem(2, 19, 3, 20, "Рыбы"));
            list.Add(new DateZadiakItem(3, 21, 4, 19, "Овен"));
            list.Add(new DateZadiakItem(4, 20, 5, 20, "Телец"));
            list.Add(new DateZadiakItem(5, 21, 6, 21, "Близнецы"));
            list.Add(new DateZadiakItem(6, 22, 7, 22, "Рак"));
            list.Add(new DateZadiakItem(7, 23, 8, 22, "Лев"));
            list.Add(new DateZadiakItem(8, 23, 9, 23, "Дева"));
            list.Add(new DateZadiakItem(9, 24, 10, 22, "Весы"));
            list.Add(new DateZadiakItem(10, 23, 11, 22, "Скорпион"));
            list.Add(new DateZadiakItem(11, 23, 12, 21, "Стрелец"));
        }
 
        /// <summary>
        /// Метод возвращающий название Задиака и в какаие даты он начинается и заканчивается
        /// </summary>
        /// <param name="mount">текущий месяц</param>
        /// <param name="day">текущий день</param>
        /// <returns>строку с датами и название</returns>
        public string GetZadiakName(int mount, int day)
        {
            DateTime date = new DateTime(2000, mount, day);
            foreach (var l in list)
            {
                if (date.CompareTo(l.startDate) >= 0 && date.CompareTo(l.endDate) <= 0)
                {
                    return string.Format("с {0}.{1} до {2}.{3} знак задика \"{4}\"", l.startDate.Month, l.startDate.Day, l.endDate.Month, l.endDate.Day, l.NameZadiak);
                }
            }
            return "Не верная дата";
        }
 
        /// <summary>
        /// Метод возвращающий даты в которых находится выбранный Задиак 
        /// </summary>
        /// <param name="name">имя задика</param>
        /// <returns>строку с датами и название</returns>
        public string GetZadiakDate(string name)
        {
            foreach (var l in list)
            {
                if (name.ToLower() == l.NameZadiak.ToLower())
                {
                    return string.Format("с {0}.{1} до {2}.{3} знак задика \"{4}\"", l.startDate.Month, l.startDate.Day, l.endDate.Month, l.endDate.Day, l.NameZadiak);
                }
            }
            return "Не верный задиак";
        }
    }
}
Добавлено через 10 минут
ps как всегда буду рад конструктивной критике и комментариям по коду
0
Дмитрий3241
643 / 513 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
28.11.2014, 06:08 3
rustammv, я думаю вот так будет лучше:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        public string GetZadiak( int mount, int day )
        {
            DateTime date = new DateTime(2000, mount, day);
            foreach ( var l in list )
            {
                if ( date.CompareTo( l.startDate ) >= 0 && date.CompareTo( l.endDate ) <= 0 )
                {
                    return string.Format( "с {0}.{1} до {2}.{3} знак задика \"{4}\"", l.startDate.Month, l.startDate.Day, l.endDate.Month, l.endDate.Day, l.NameZadiak );
                }
            }
            return "Не верная дата";
        }
 
        public string GetZadiak( string name )
        {
            foreach( var l in list )
                if ( name.ToLower() == l.NameZadiak.ToLower() )
                    return GetZadiak( l.startDate.Month, l.startDate.Day );
 
            return "Неверное имя";
        }
Да бы не дублировать уже написанное.
0
rustammv
14 / 14 / 9
Регистрация: 08.09.2014
Сообщений: 66
28.11.2014, 13:51 4
Дмитрий3241, да с перегрузкой метода будет наверное по красивше и понятнее, не нужно плодить названия методов которые можно перепутать.
Всё не как не привыкну.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2014, 13:51

Переделать код под "обезьянью" сортировку
Сортировка работает и перемещает цифры по возрастанию просто надо ее переделать...

Использование анонимных методов
Анонимные методы используются, когда нужно создать метод для обработки...

Использование методов и массивов
Простецкая задача ввела в ступор когда дошло дело до использование методов. ...


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

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

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