Визуальный интерфейс для программы - C#
Формулировка задачи:
есть вот такая программка подсчета максимальных баллов оценок на соревновании
нужно сделать ее в Visual с использованием Windows forms.
визуальное воплощение самое простое - сверху две кнопки - "вывести фамилии" и "поставить оценки"
под ними текстовый лейбл для вывода фамилий и оценок.
ниже кнопка - "подсчитать сумму оценок" (за вычетом минимальных в данном случае)
и поле для вывода результата,
последняя кнопка "winner" (сюда вывести фамилию и сумму баллов победителя)
и ниже поле для вывода результата.
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(); } } }
Решение задачи: «Визуальный интерфейс для программы»
textual
Листинг программы
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() + " ";//выводим первый элемент отсортированного массива } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д