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

Структура "Note", вывод информации о человеке с указанным номером телефона

18.05.2019, 10:49. Просмотров 842. Ответов 1
Метки нет (Все метки)

Описать запись с именем Note, содержащую следующие поля:
• Фамилия, имя;
• номер телефона;
• день рождения (массив из трёх чисел);
2. Написать программу, выполняющую следующие действия:
• Ввод данных с клавиатуры в массив, состоящий из восьми элементов типа Note; записи должны быть упорядочены по датам дней рождений;
• Вывод на экран информации о человеке, номер телефона которого введен с клавиатуры; если таких нет, вывести на экран соответствующее сообщение.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2019, 10:49
Ответы с готовыми решениями:

Дан массив строк: "red", "green", "black", "white", "blue". Запишите в файл элементы массива построчно (в новой строке)
пишу так но не помогает: static void Main(string args) { string...

Описать класс с именем "Note"
-Описать класс с именем Note (запись), содержащий следующие закрытые поля: фамилия; дата...

Описать класс "поезд", содержащий поля "пункт назначения", "номер поезда", "время отправления"
Помогите пожалуйста с классом Описать класс «поезд», содержащий следующие закрытые поля:...

Построить иерархию классов "Студент", "преподаватель", "персона", "заведующий кафедрой"
Построить иерархию классов: Студент, преподаватель, персона, заведующий кафедрой 1) Разработать...

Методом вычислить тип треугольника: "не существует", "тупоугольный", "прямоугольный", "остроугольный"
Помогите пожалуйста С помощью метода вычислить тип треугольника::cry: 1) если первый параметр...

1
amr-now
Эксперт JS
1818 / 1056 / 495
Регистрация: 14.06.2018
Сообщений: 2,638
18.05.2019, 16:07 2
Лучший ответ Сообщение было отмечено ilyastaydope как решение

Решение

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
using System;
 
namespace Question2455181
{
    // Все поля обязательные
    struct Note : IEquatable<Note>
    {
        public string LastAndFirstName { get; set; }
        public string Phone { get; set; }
        public int[] BirthDay { get; set; }
 
        public Note(string lastAndFirstName, string phone, int[] birthDay) : this()
        {
            LastAndFirstName = lastAndFirstName ?? throw new ArgumentNullException(nameof(lastAndFirstName));
            Phone = phone ?? throw new ArgumentNullException(nameof(phone));
            BirthDay = birthDay ?? throw new ArgumentNullException(nameof(birthDay));
            if (birthDay.Length != 3) throw new ArgumentException(nameof(birthDay));
        }
 
        public override bool Equals(object obj) => obj is Note note && Equals(note);
 
        public bool Equals(Note other) => LastAndFirstName == other.LastAndFirstName;
 
        public override int GetHashCode() => LastAndFirstName.GetHashCode();
 
        public override string ToString() => $"{LastAndFirstName} {Phone} {new DateTime(BirthDay[0], BirthDay[1], BirthDay[2]).ToShortDateString()}";
    }
 
    class Program
    {
        static Note[] array = new Note[8]; // 8 записей
 
        static void Main(string[] args)
        {
            InputNotes();
            InfoNote();
            Console.ReadKey();
        }
 
        private static void InputNotes()
        {
            //array[0] = new Note("А БА", "123", new int[3] { 2019, 3, 1 });
            //array[1] = new Note("А ББ", "124", new int[3] { 2019, 1, 20 });
            //array[2] = new Note("А БВ", "125", new int[3] { 2019, 5, 1 });
 
            // Ввод данных с клавиатуры в массив, состоящий из восьми элементов типа Note;
            for (int i = 0; i < array.Length; i++)
            {
                Console.WriteLine($"Ввод информации о {i+1} человеке");
                Console.Write("Фамилия, имя: ");
                var lastAndFirstName = Console.ReadLine();
                Console.Write("Номер телефона: ");
                var phone = Console.ReadLine();
                Console.Write("Год рождения: ");
                var year = int.Parse(Console.ReadLine());
                Console.Write("Месяц рождения: ");
                var month = int.Parse(Console.ReadLine());
                Console.Write("Число в месяце рождения: ");
                var day = int.Parse(Console.ReadLine());
                array[i] = new Note(lastAndFirstName, phone, new int[3] { year, month, day });
            }
            // записи должны быть упорядочены по датам дней рождений;
            Array.Sort(array, (a, b) => DateTime.Compare(
                new DateTime(a.BirthDay[0], a.BirthDay[1], a.BirthDay[2]),
                new DateTime(b.BirthDay[0], b.BirthDay[1], b.BirthDay[2]))
            );
            Console.WriteLine(string.Join("\n", array));
        }
 
        private static void InfoNote()
        {
            // Вывод на экран информации о человеке, номер телефона которого введен с клавиатуры; если таких нет, вывести на экран соответствующее сообщение. 
            Console.Write("Введите номер телефона: ");
            var phone = Console.ReadLine();
            var index = Array.FindIndex(array, e => e.Phone == phone);
            if (index >= 0)
                Console.WriteLine(array[index]);
            else
                Console.WriteLine("Таких нет.");
        }
    }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2019, 16:07

Проблема при сравнении: "Оператор ">" не может применяться к операндам типа "Т" и "Т""
Добрый день , пишу сортировку , все делаю на основе Т , но вот в чем проблемма public class...

Напишите программу, которая подсчитывает, сколько учащихся получило "2", "3", "4" и "5"
Помогите, пожалуйста, с решением следующей задачи: учащиеся сдают экзамены по нескольким...

Составить программу по управлению манипулятором "мышь". Выбор типа курсора организовать по нажатию на клавиши "q","w","r
Составить программу по управлению манипулятором &quot;мышь&quot;. Выбор типа курсора организовать по нажатию...


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

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

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