0 / 0 / 0
Регистрация: 11.01.2011
Сообщений: 23

Визуальный интерфейс для программы

22.01.2011, 09:37. Показов 2782. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть вот такая программка подсчета максимальных баллов оценок на соревновании

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
96
97
98
99
100
101
102
103
104
105
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] fam = { "Иванов", "Петров", "Сидоров" }; //вводим фамилии участников
            int n = 3; //Указываем количество участников
            int[][] marks; //определяем ступенчатый массив оценок
            marks = new int[n][];//выделяем память под ступ. массив оценок
            int[] sum_marks; //массив суммарных оценок
            sum_marks = new int[n];
            for (int i = 0; i < n; i++)
            {
                marks[i] = new int[5]; 
            }
            Random r = new Random((int)DateTime.Now.Ticks); //генерируем оценки случайным образом
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < 5; j++)//j - индекс массива оценок
                    marks[i][j] = r.Next(1, 6);
            }
 
            for (int i = 0; i < n; i++)
            {
                Console.Out.Write("{0} ", fam[i]);//выводим на экран фамилии
 
                for (int j = 0; j < 5; j++)
                {
                    Console.Out.Write(" {0}", marks[i][j]);//выводим на экран оценки
                }
                Console.Out.WriteLine();
            }
            Console.Out.WriteLine();
            int tmp;//вводим временную переменную
            int min;//вводим минимум
 
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < 4; j++)//ищем минимальные оценки и сортируем по возрастанию (сортировка вставка)
                {
                    min = j;
                    for (int k = j + 1; k < 5; k++)
                    {
                        if (marks[i][k] < marks[i][min])
                        {
                            min = k;
                        }
                    }
                    tmp = marks[i][min];
                    marks[i][min] = marks[i][j];
                    marks[i][j] = tmp;
                }
 
            }
            
            for (int i = 0; i < n; i++)
            {
                for (int j = 1; j < 4; j++)
                {
 
                    sum_marks[i] = sum_marks[i] + marks[i][j];//итоговые суммарные оценки записываем в массив суммарных оценок
                }
 
            }
            Console.Out.WriteLine("Максимальные баллы:");
            for (int i = 0; i < n; i++)
            {
                Console.Out.Write(" {0} ", sum_marks[i]);//выводим суммарные оценки
            }
            Console.Out.WriteLine();
            Console.Out.WriteLine();
            int a;//временная переменная
            string b;//вводим переменную для участника с максимальной оценкой
            int max;
            for (int i = 0; i < n - 1; i++)
            {
                max = i;
                for (int j = i + 1; j < n; j++)//ищем максимум в массиве суммарных оценок и сортируем массив
                {
                    if (sum_marks[j] > sum_marks[max])
                    {
                        max = j;
                    }
                }
                a = sum_marks[max];
                sum_marks[max] = sum_marks[i];
                sum_marks[i] = a;
                b = fam[max];
                fam[max] = fam[i];
                fam[i] = b;
            }
            Console.Out.Write("{0} {1} ", fam[0], sum_marks[0]);//выводим первый элемент отсортированного массива
            Console.Out.WriteLine();
            Console.Out.WriteLine();
        }
    
    }
 
}
нужно сделать ее в Visual с использованием Windows forms.
визуальное воплощение самое простое - сверху две кнопки - "вывести фамилии" и "поставить оценки"
под ними текстовый лейбл для вывода фамилий и оценок.
ниже кнопка - "подсчитать сумму оценок" (за вычетом минимальных в данном случае)
и поле для вывода результата,
последняя кнопка "winner" (сюда вывести фамилию и сумму баллов победителя)
и ниже поле для вывода результата.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.01.2011, 09:37
Ответы с готовыми решениями:

Визуальный интерфейс
Есть следующий программный код: using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

Как создать визуальный интерфейс (окно с элементами) на основе только кода c# - без использования XAML и WPF?
Интересуют примеры создания визуальных интерфейсов (окон с элементами) на основе только кода c# - без использования XAML и WPF. И...

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

8
 Аватар для Ногин Антон
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
22.01.2011, 10:03
murus, у Вас есть Visual Studio?

Кнопки можно сделать с помощью контрола button.

Текстовый лейбл через label

По нажатию кнопки создать обработчики..

Что у Вас не получилось конкретно?
0
0 / 0 / 0
Регистрация: 11.01.2011
Сообщений: 23
22.01.2011, 18:34  [ТС]
Есть, кнопки-то нарисовать 5 минут, не получается увязать кнопки с уже написанным выше кодом
не пойму в какое место вставлять определители массивов, куда вывод-ввод с клавиатуры и сам код рендома например...
0
0 / 0 / 1
Регистрация: 13.10.2010
Сообщений: 37
22.01.2011, 18:54
делаешь кнопку... тыкаешь по ней два раза появится

C#
1
2
3
4
private void button1_Click(object sender, EventArgs e)
        {
           // сюда ваш код
        }
0
0 / 0 / 0
Регистрация: 11.01.2011
Сообщений: 23
22.01.2011, 20:48  [ТС]
xFroLx, это понятно... вопрос в том как распределить обработчики событий на каждой кнопке...
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
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 sorevnovaniya_visual
{
    public partial class sorevnovaniya : Form
    {
 
        
        public TextBox TextBox1;
        
        public sorevnovaniya()
        {
            InitializeComponent();
        }
        string[] fam = { "Иванов", "Петров", "Сидоров" }; //вводим фамилии участников
        int n = 3; //Указываем количество участников
        int[][] marks; //определяем ступенчатый массив оценок
 
 
        private void family_Click(object sender, EventArgs e)
        {
 
            marks = new int[n][];//выделяем память под ступ. массив оценок
            
 
            for (int i = 0; i < n; i++)
            {
                marks[i] = new int[5];
            }
            Random r = new Random((int)DateTime.Now.Ticks); //генерируем оценки случайным образом
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < 5; j++)//j - индекс массива оценок
                    marks[i][j] = r.Next(1, 6);
            }
 
            for (int i = 0; i < n; i++)
            {
                label1.Text = label1.Text + fam[i].ToString() + " ";
            }
 
        }
 
        private void ocenki_Click(object sender, EventArgs e)
        {
            int i = 0;
            
            for (int j = 0; j < 5; j++)
            {
                label1.Text = label1.Text + marks[i][j].ToString() + " ";//выводим на экран оценки
            }
        }
 
        private void summa_Click(object sender, EventArgs e)
            {
                int tmp;//вводим временную переменную
            int min;//вводим минимум
            int[] sum_marks; //массив суммарных оценок
            sum_marks = new int[n];
 
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < 4; j++)//ищем минимальные оценки и сортируем по возрастанию (сортировка вставка)
                {
                    min = j;
                    for (int k = j + 1; k < 5; k++)
                    {
                        if (marks[i][k] < marks[i][min])
                        {
                            min = k;
                        }
                    }
                    tmp = marks[i][min];
                    marks[i][min] = marks[i][j];
                    marks[i][j] = tmp;
                }
 
            }
            
            for (int i = 0; i < n; i++)
            {
                for (int j = 1; j < 4; j++)
                {
 
                    sum_marks[i] = sum_marks[i] + marks[i][j];//итоговые суммарные оценки записываем в массив суммарных оценок
                }
 
            }
            TextBox1.Text = "Максимальные баллы:";
 
            for (int i = 0; i < n; i++)
            {
                TextBox1.Text = textBox1 + sum_marks[i].ToString() + " ";//выводим суммарные оценки
 
            }
 
       
        
 
 
    }
 
        private void winner_Click(object sender, EventArgs e)
        {
            int a;//временная переменная
            string b;//вводим переменную для участника с максимальной оценкой
            int max;
            int[] sum_marks; //массив суммарных оценок
            sum_marks = new int[n];
            for (int i = 0; i < n - 1; i++)
            {
                max = i;
                for (int j = i + 1; j < n; j++)//ищем максимум в массиве суммарных оценок и сортируем массив
                {
                    if (sum_marks[j] > sum_marks[max])
                    {
                        max = j;
                    }
                }
                a = sum_marks[max];
                sum_marks[max] = sum_marks[i];
                sum_marks[i] = a;
                b = fam[max];
                fam[max] = fam[i];
                fam[i] = b;
            }
            textwinner.Text = textwinner + fam[0].ToString() + sum_marks[0].ToString() + " ";//выводим первый элемент отсортированного массива
 
        }
    }
}
получилось примерно это... не работает

Добавлено через 27 минут
з.ы. фамилии выводятся нормально. оценки с помощью генератора должны выводится сразу по всем участникам (по 1-кратному нажатию кнопки), а у меня выводятся в строку и почему-то только 1 вариант рендома для всех участников.... ну а дальше кнопки вообще не работают
0
мастер топоров
 Аватар для Koran
917 / 742 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
22.01.2011, 20:53
лично я не понял Вашей задачи? не могли бы Вы более детально написать задание - я постараюсь написать готовый проект.
0
0 / 0 / 0
Регистрация: 11.01.2011
Сообщений: 23
22.01.2011, 21:35  [ТС]
Koran, есть задача, решенная на С#, ее код в первом посте (ее суть в том что есть 5 судей, которые выставляют оценки трем участникам соревнований - оценки задаются генератором случайных чисел. далее нужно отбросив максимальные и минимальные оценки найти участника с наибольшим кол-вом баллов и вывести на консоль.) Вообщем нужно сделать по этому коду для нее простейший интерфейс - кнопки вывода массивов фамилий и оценок, кнопки для подсчета максимальных оценок...
принсткрин тут http://imagepost.ru/?v=505/Untitled_1.jpg

Добавлено через 21 минуту
пардон, еще такой нюанс, что максимальное кол-во баллов ищется за вычетом минимальных оценок по каждому - но это уже решено в самой задаче, в данном случае мне нужно прикрутить этот код к форме....
0
мастер топоров
 Аватар для Koran
917 / 742 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
22.01.2011, 22:07
я тут кодю.
я смотрел Ваш консольный код - там выводится сумма баллов по каждому участнику? тоесть суммируются баллы по одному участнику от всех судей и потом они же выводятся?
1
0 / 0 / 0
Регистрация: 11.01.2011
Сообщений: 23
23.01.2011, 01:48  [ТС]
Koran, да именно так...

Добавлено через 3 часа 28 минут
Koran, огромное человеческое спасибо за помощь!!!
задачка решена.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2011, 01:48
Помогаю со студенческими работами здесь

Оконный интерфейс для программы решения СЛАУ методом Гаусса
Добрый день! Мне надо сделать оконный интерфейс для решения слау методом гаусса! Помогите или посоветуйте как это сделать) Спасибо! ...

Как создать визуальный интерфейс
Подскажите пожалуйста как можно реализовать кнопки в паскаль АВС.net. и вообще какие есть приколюхи для оформления программы?

Приложение с заставкой. Создать визуальный интерфейс
Задание: Вот небольшая наработка, осталось только назначить кнопки, не знаю как это сделать ) Или так вот текстом: Форм1...

Какой визуальный компонент используется для отображения таблиц в окне программы?
Доброго времени суток. Подскажите пожалуйста, какой визуальный компонент в C# используется для отображения таблиц в окне программы. Я...

Интерфейс для программы
Как сделать интерфейс для программы?


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

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

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru