Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.12.2016
Сообщений: 27
1

Отсортировать данные по фамилии и вывести их хоть куда-то (использовать IComparable)

23.03.2019, 12:24. Показов 445. Ответов 2

Author24 — интернет-сервис помощи студентам
Дело такое: есть класс, при помощи которого записываются данные в массив методом (свойством) input. Необходимо по нажатию на кнопку 3 отсортировать фамилии (по которым и происходит запись и поиск по выбору в combobox) и вывести их хоть куда-то - хоть в листбокс, хоть к текстбокс. Собственно, что не так? Выбивает необрабатываемое исключение в приложении. Использовать обязательно интерфейс IComparable.

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
public partial class Form1 : Form
    {
        InOut[] mas = new InOut[3];
        int k = 0;
        public Form1()
        {
            InitializeComponent();
        }
        public interface IComparable
        {
            int CompareTo(object o);
        }
        public class InOut : IComparable
        {
           public string fio, bday, gender, education, educationend, speciality, post, salary, strsub;
            public InOut() { }
            public InOut(string fio, string bday, string gender, string education, string educationend, string speciality, string post, string salary, string strsub)
            {
                this.fio = fio;
                this.bday = bday;
                this.gender = gender;
                this.education = education;
                this.educationend = educationend;
                this.speciality = speciality;
                this.post = post;
                this.salary = salary;
                this.strsub = strsub;
            }
            public string input
            {
                set { fio = value; }
                get { return fio; }
            }
 
             public int CompareTo(object o)
            {
                InOut p = o as InOut;
                if (p != null)
                    return this.fio.CompareTo(p.fio);
                else return 0;
             }
    
        private void button1_Click(object sender, EventArgs e)
        {
            if (k <= 2)
            {
                mas[k] = new InOut(textBox1.Text, dateTimePicker1.Text, textBox3.Text, textBox4.Text, dateTimePicker2.Text, textBox6.Text, textBox7.Text, textBox8.Text, textBox9.Text);
                comboBox1.Items.Add(mas[k].input);
                k++;
            }
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            InOut[] mas = new InOut[3];
            Array.Sort(mas);
            foreach (InOut p in mas)
            {
                textBox2.Text = p.fio.ToString();
            }
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2019, 12:24
Ответы с готовыми решениями:

Вывести на экран данные фамилии и имена всех людей, у которых фамилии начинаются с 2 буквы, как и ваша фамилия
Необходимо ввести в файл фамилии, имени 6 человек. Вывести на экран данные фамилии и имена всех...

Куда лучше вывести данные из БД?
у меня есть таблица в ней 3 колонки и много строчек Куда лучше вывести данные из БД? в gridview,...

Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример...

Вывести текстовый файл в Stringgrid1 отсортировать данные по условию и вывести в Stringgrid2
Помогите пожалуйста написать программу, кому не сложно. Условие задачи: Распечатать анкетные данные...

2
Администратор
Эксперт .NET
17022 / 13374 / 5218
Регистрация: 17.03.2014
Сообщений: 27,353
Записей в блоге: 1
23.03.2019, 16:27 2
Exrt, для начала убери объявление интерфейса IComparable и удали строку №55
0
0 / 0 / 0
Регистрация: 25.12.2016
Сообщений: 27
23.03.2019, 21:26  [ТС] 3
А далее что?)
0
23.03.2019, 21:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2019, 21:26
Помогаю со студенческими работами здесь

Как запустить прогу в интернет? Хоть куда-нибудь.
У меня есть прога, одна штука, типа игра. Я хочу её запустить в инет, чего делать. Как её послать...

Вывести те данные, в которых фамилии начинаются с определённой буквы.
Текстовые (фамилии и имена всех студентов)(20 разных фамилий) Вывести те данные, в которых...

Вывести на экран анкетные данные студентов, фамилии которых начинаются на букву Б
Составить список, содержащий сведения об N студентах. Для каждого учащегося указать: - фамилия; -...

Считать данные из файла и вывести фамилии всех женатых мужчин, имеющих детей
Входные данные оформить в виде отдельного файла. 1. Массив структур содержит информацию о 25...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru