Руководство пользователя




Оглавление

Условие задачи. 2

Список переменных и типов данных, методов. 3

Текстовый алгоритм. 5

Графический алгоритм. 7

Текст программы.. 10

Контрольный пример. 17

Руководство пользователя. 19

Используемая литература. 21

 

Изм
Лист
№ докум
Разраб.
Пров.
Подп.
Дата
Асанов С.А..
Иноземцев А.Ю.
Расчетно-пояснительная записка
Лит.
Лист.
Листов.
У
 
КузГТУ ММФ Гр ИТб-112
КР-12 ИиАПС.38


Условие задачи

В соревнованиях по рыбной ловле принимает участие по 4 спортсмена от каждой страны. Соревнования проводятся в 2 дня. В конце каждого дня производится взвешивание улова. Победитель каждого дня определяется по наибольшей массе выловленной рыбы. Победитель по результатам двух дней определяется: а) по наименьшей сумме мест за два дня; б) по наибольшей массе улова за два дня; в) по наибольшей массе улова за первый день. определить победителей в личном и командном зачёте в первый, второй и общий результаты


 

Список переменных и типов данных, методов.

Имя переменной Тип переменной Описание
nst int Переменная для хранения числа участников рыбалке
nsp int Переменная для хранения числа стран учасниц
spvkom int Переменная для хранения числа количества участников от страны
tn TreeNode Для хранения дерева участников и стран
Vsekom[] comanda Массив для хранения всех команд
Vsespotmens[] sportsmen Массив для хранения всех спортсменов
     
Класс sportsmen
strana string Для хранения названия страны спортсмена
imya string Для хранения имя спортсмена
Ulov1 int Для хранения кол-ва улова за первый день
Ulov2 int Для хранения кол-ва улова за второй день
Ulovob int Для хранения кол-ва улова за два дня
Mesto1 int Для хранения места за 1 день
Mesto2 int Для хранения места за 2 день
Mestoob int Для хранения места за два дня
minmestsum int Для хранения суммы мест за два дня
sportsmen String, string Создает объект на основе входящих данных
 
Класс komanda
strana string Имя страны
Sportmens[] sportsmen Массив спортсменов команды
kUlov1 int Для хранения кол-ва улова за первый день
kUlov2 int Для хранения кол-ва улова за второй день
kUlovob int Для хранения кол-ва улова за два дня
kMesto1 int Для хранения места за 1 день
kMesto2 int Для хранения места за 2 день
kMestoob int Для хранения места за два дня
minmestsum int Для хранения суммы мест за два дня
     

 

Текстовый алгоритм

1. I присвоить значение -1

2. J присвоить значение 0

3. Вывести список стран.

4. Выбрать номер страны.

5. Присвоить значение имени первого спортсмена

6. Присвоить значение имени второго спортсмена

7. Присвоить значение имени четвертого спортсмена

8. Присвоить значение имени пятого спортсмена

9. I присвоить значение -1

10. К переменной i прибавить 1

11. I спортсмену присвоить значение его имени и называния выбранной страны в которой состоит.

12. Выбранной стране её j спортсмену присвоить ссылку на iого спортсмена массива спортсменов

13. J прибавить 1

14. Повторить с пункта 8 для каждого из полей спортсменов

15. Ввод Х

16. если Х равно 1 перейти к пункту 3

17. Вывести список участвующих стран.

18. Выбрать страну

19. Ввод улов1, улов2

20. Присвоить i-ому спортсмену команды значения улов1 и улов2

21. Повторить для каждой участвующей страны пункт 17 по 20

22. Для i от 0 до количество_спорстменов; шаг 1

23. У i-ого спортсмена значение уловоб = улов1+ улов2

24. Для i от 0 до кол-во_команд; шаг 1

25. Для j от 0 до кол-во_спорт_в_команде

26. У i-ой команды значение улов1= улов1 + улов1 i-ого спортсмена

27. У i-ой команды значение улов2= улов2 + улов2 i-ого спортсмена

28. У i-ой команды значение уловоб= уловоб + уловоб i-ого спортсмена

29. i2= 1; i3= 0; i4 = 0;

30. До тех пор пока i2 < колво_спортсменов + 1 выполнять

31. Макс_улов1 = 0; макс_улов2 = 0; i1 = 0;

32. До тех пор пока i1 < колво_спортсменов выполнять

33. Если Макс_улов1 < улов1 i-ого спортсмена и место1 == 0 то

34. I3 = i1; Макс_улов1 = улов1 i-ого спортсмена;

35. Если Макс_улов2 < улов2 i-ого спортсмена и место2 == 0 то

36. I4 = i1; Макс_улов2 = улов2 i-ого спортсмена;

37. I1 ++;

38. Вернуться на 32

39. Место1 i3-ему спорстсмену = i2

40. Место2 i4-ему спорстсмену = i2

41. I2++;

42. Вернуться на 30;

43. Повторить с п. 29 заменяя спортсменов на команды

44. Для i от 0 до колво_спортсменов

45. Сумма_мест i-ого спортсмена = место1 + место2.

46. Для i от 0 до колво_команд

47. Сумма_мест i-ой команды = место1 + место2

48. I1 = сумма_мест 0-ой спортсмена; i2 = уловоб; i3 = улов1;

49. Для i от 0 колво_спортсменов

50. Если i1 > суммы_мест i-ого спортсмена

51. I1 = сумма_мест i-ого спортсмена

52. Для i от 0 до колво_спортсменов

53. Если i1 == сумма_мест i-ого спортсмена

54. Местооб i-ого спортсмена = 1;

55. Для i от 0 до колво_спортсменов

56. Если i2 < уловоб i-ого спортсмена и местооб ==1

57. I2 = уловоб i-ого спортсмена

58. Для i от 0 до колво_спортсменов

59. Если i2!= уловоб i-ого спортсмена и местооб ==1

60. Местооб = 0;

61. Для i от 0 до колво_спортсменов

62. Если i3 < улов1 i-ого спортсмена и местооб ==1

63. I3 = улов1 i-ого спортсмена

64. Для i от 0 до колво_спортсменов

65. Если i3!= улов1 i-ого спортсмена и местооб ==1

66. Местооб = 0;

67. Повторить с 43 заменяя спортсменов на команды

68. Для i от 0 до колво_спортсменов

69. Если место1 i-ого спортсмена == 1 Вывести его имя и страну

70. Если место2 i-ого спортсмена ==1 Вывести его имя и страну

71. Если местооб i-ого спортсмена ==1 Вывести его имя и страну

72. Для i от 0 до колво_команд

73. Если место1 i-ой команды == 1 Вывести страну

74. Если место2 i- ой команды ==1 Вывести страну

75. Если местооб i- ой команды ==1 Вывести страну


 

Начало  
Графический алгоритм

Выбор страны
Ввод имена участников
выбрана страна и И имена не равны «»
Что-то не ввели
Нет
Да
Нажатие кнопки добавить жертв
Создает команду с именем выбранной команды Создает 4 спортсменов с именами введенными и страны им дает из выбранной страны Созданной команде дает этих 4 спортсменов  
Продолжить?
Нет
Да
Выбор страны
Ввод улова спортсмена выбранной страны
Присваивает значения введенные уловам за 1 и 2 дни спортсменам
Всем спорстменам введены уловы?
Нет
Да
Для i 0…колво_спортсменов Спортсмен[i].уловоб = улов1+улов2
Для i 0…колво_команд Для j 0… колво_спорт_в_команде команда[i].улов1 += спорт[j].улов1 команда[i].улов2 += спорт[j].улов2 команда[i].уловоб = улов1+ улов2    
i2= 1; i3= 0; i4 = 0;  
 

Нет
I2<колво_спортсменов
Нет
Нет
Да
I1= 0; му1= 0;му2 = 0;  
I1<колво_спортсменов
Да
Му1< спорт[i1].улов1 Место1 = 0
Да
Нет
Му2< спорт[i1].улов2 Место1 = 0
Му1 = спорт[i1].улов1 I3= i1  
Му2 = спорт[i1].улов2 I4= i1  
Нет
Да
I1++  
Спорт[i3].mesto1 = i2; спорт[i4].mesto2 = i2; I2++  
Алгоритм для спортсменов и команд Со 2 по 3 повторить  
Цикл 1 По I от 0 до колво_спорт шаг 1
Спорт[i].сумма_мест = место1 +место2  
I1 = спорт[0].сумма_мест; i2 = спорт[0].уловоб; i3 = спорт[0].улов1
Цикл 1  
Цикл 1 По I от 0 до колво_спорт шаг 1
спорт[i].сумма_мест = место1 +место2  
 
I1>спорт[i].сумма_мест  
Да
Нет
Цикл 1  
Цикл 1 По I от 0 до колво_спорт шаг 1
Цикл 1  
 
I1==спорт[i].сумма_мест  
спорт[i].местооб = 1  
 
 
Алгоритм для спортсменов и команд Со 3 по 4 повторить  

Цикл 1 По I от 0 до колво_спорт шаг 1
I2 = спорт[i].уловоб
 
I2<спорт[i].уловоб  
Да
Нет
Цикл 1  
Цикл 1 По I от 0 до колво_спорт шаг 1
Цикл 1  
 
I2!=спорт[i]. уловоб  
спорт[i].местооб = 0  
Цикл 1 По I от 0 до колво_спорт шаг 1
I3 = спорт[i].улов1
 
I3<спорт[i].улов1  
Да
Нет
Цикл 1  
Цикл 1 По I от 0 до колво_спорт шаг 1
Цикл 1  
 
I3!=спорт[i].Улов1  
спорт[i].местооб = 0  
 
Цикл 1 По I от 0 до колво_спорт шаг 1
Цикл 1  
 
спорт[i].место1 ==1  
 
Вывод Спорт[i].imya
 
спорт[i].место1 ==1  
Вывод Спорт[i].imya
 
спорт[i].место1 ==1  
Вывод Спорт[i].imya
конец  
Алгоритм для спортсменов и команд Со 4 по 5 повторить  



Текст программы

v Formvvod.cs

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 Рыбалка_курсач

{

 

 

public partial class Formvvod: Form

{

public int nst = 0;

public int nsp = 0;

public int spvkom = 4;

TreeNode[] tn;

 

public komanda[] vsekom;

public sportsmen[] vsespotmens;

 

public Formvvod()

{

InitializeComponent();

vsekom = new komanda[comboBoxstrani.Items.Count];

for (int p = 0; p < comboBoxstrani.Items.Count; p++)

{

vsekom[p] = new komanda();

vsekom[p].sport = new sportsmen[spvkom];

}

tn = new TreeNode[comboBoxstrani.Items.Count];

vsespotmens = new sportsmen[comboBoxstrani.Items.Count * spvkom];

for (int g = 0; g < comboBoxstrani.Items.Count; g++)

tn[g] = new TreeNode();

}

 

private void button1_Click(object sender, EventArgs e)

{

textimya1.Text.Trim();

textimya2.Text.Trim();

textimya4.Text.Trim();

textimya5.Text.Trim();

 

if ((comboBoxstrani.SelectedIndex!= -1) && (textimya1.Text!= "") && (textimya2.Text!= "") && (textimya4.Text!= "") && (textimya5.Text!= ""))

{

vsekom[nst].strana = comboBoxstrani.SelectedItem.ToString();

vsespotmens[nsp] = new sportsmen(textimya1.Text, comboBoxstrani.SelectedItem.ToString());

vsekom[nst].sport[0] = vsespotmens[nsp];

nsp++;

vsespotmens[nsp] = new sportsmen(textimya2.Text, comboBoxstrani.SelectedItem.ToString());

vsekom[nst].sport[1] = vsespotmens[nsp];

nsp++;

vsespotmens[nsp] = new sportsmen(textimya4.Text, comboBoxstrani.SelectedItem.ToString());

vsekom[nst].sport[2] = vsespotmens[nsp];

nsp++;

vsespotmens[nsp] = new sportsmen(textimya5.Text, comboBoxstrani.SelectedItem.ToString());

vsekom[nst].sport[3] = vsespotmens[nsp];

nsp++;

tn[nst] = treeViewkomandi.Nodes.Add(vsekom[nst].strana);

tn[nst].Nodes.Add(vsekom[nst].sport[0].imya);

tn[nst].Nodes.Add(vsekom[nst].sport[1].imya);

tn[nst].Nodes.Add(vsekom[nst].sport[2].imya);

tn[nst].Nodes.Add(vsekom[nst].sport[3].imya);

nst++;

comboBoxstrani.Items.RemoveAt(comboBoxstrani.SelectedIndex);

textimya1.Clear();

textimya2.Clear();

textimya4.Clear();

textimya5.Clear();

 

}

else

{

MessageBox.Show("Извините, но вы чтото не сделали. ай-ай-ай");

}

}

 

 

private void but_MouseMove(object sender, MouseEventArgs e)

{

but.Image = global::Рыбалка_курсач.Properties.Resources.butup;

 

}

 

 

private void but_Click(object sender, EventArgs e)

{if (nsp > 0)

{

Formsost frm = new Formsost();

frm.Owner = this;

this.Hide();

frm.Show();

}

}

 

private void Formvvod_FormClosing(object sender, FormClosingEventArgs e)

{

Application.Exit();

}

 

private void but_MouseLeave(object sender, EventArgs e)

{

but.Image = global::Рыбалка_курсач.Properties.Resources.but;

}

 

}

public class komanda

{

public string strana;

public int kulov1;

public int kulov2;

public int kulovob;

public int kmesto1;

public int kmesto2;

public int kmestoob;

public int minmestsum;

public sportsmen[] sport;

}

public class sportsmen

{

public string strana;

public string imya;

public int ulov1;

public int ulov2;

public int ulovob;

public int mesto1;

public int mesto2;

public int mestoob;

public int minmestsum;

public sportsmen(string i,string s)

{

imya = i;

strana = s;

}

 

}

}

 


v Formsost

 

namespace Рыбалка_курсач

{

public partial class Formsost: Form

{

public Formvvod p;

int vce = 0;

 

public Formsost()

{

InitializeComponent();

}

 

private void Formsost_Load(object sender, EventArgs e)

{

 

p = Owner as Formvvod;

 

for (int i = 0; i < p.nst; i++)

{

comboBoxkomandi.Items.Add(p.vsekom[i].strana);

}

 

for (int o = 0; o < p.spvkom; o++)

dataGridViewsorev.Rows.Add(' ', ' ', ' ');

 

comboBoxkomandi.SelectedIndex = 0;

for (int i = 0; i < p.spvkom; i++)

{

dataGridViewsorev[0, i].Value = p.vsekom[comboBoxkomandi.SelectedIndex].sport[i].imya;

dataGridViewsorev[1, i].Value = p.vsekom[comboBoxkomandi.SelectedIndex].sport[i].ulov1;

dataGridViewsorev[2, i].Value = p.vsekom[comboBoxkomandi.SelectedIndex].sport[i].ulov2;

}

}

 

private void comboBoxkomandi_SelectedIndexChanged(object sender, EventArgs e)

{

if (comboBoxkomandi.SelectedIndex!= -1)

{

for (int i = 0; i < p.spvkom; i++)

{

dataGridViewsorev[0, i].Value = p.vsekom[comboBoxkomandi.SelectedIndex].sport[i].imya;

dataGridViewsorev[1, i].Value = p.vsekom[comboBoxkomandi.SelectedIndex].sport[i].ulov1;

dataGridViewsorev[2, i].Value = p.vsekom[comboBoxkomandi.SelectedIndex].sport[i].ulov2;

}

}

}

 

private void dataGridViewsorev_CellEndEdit(object sender, DataGridViewCellEventArgs e)

{

string str = dataGridViewsorev[e.ColumnIndex, e.RowIndex].Value.ToString();

str.Trim();

if (e.ColumnIndex == 1)

{

p.vsekom[comboBoxkomandi.SelectedIndex].sport[dataGridViewsorev.CurrentRow.Index].ulov1 = int.Parse(str);

vce++;

}

else if (e.ColumnIndex == 2)

{

p.vsekom[comboBoxkomandi.SelectedIndex].sport[dataGridViewsorev.CurrentRow.Index].ulov2 = int.Parse(str);

vce++;

}

 

if (vce == p.nsp * 2)

{

buttonrez.Visible = true;

buttonrez.Focus();

}

 

dataGridViewsorev[e.ColumnIndex, e.RowIndex].Value = str;

}

 

private void buttonrez_Click(object sender, EventArgs e)

{

 

Formrez frm2 = new Formrez();

frm2.Owner = this;

frm2.Show();

buttonrez.Visible = false;

}

 

private void Formsost_FormClosing(object sender, FormClosingEventArgs e)

{

Application.Exit();

}

 

private void dataGridViewsorev_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsDigit(e.KeyChar))

e.Handled = true;

}

 

 

private void dataGridViewsorev_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)

{

e.Control.KeyPress += dataGridViewsorev_KeyPress;

}

}

}

 


 

v Formrez

namespace Рыбалка_курсач

{

public partial class Formrez: Form

{

public Formsost r;

public Formrez()

{

InitializeComponent();

}

 

private void Formrez_Load(object sender, EventArgs e)

{

r = Owner as Formsost;

//MessageBox.Show(r.p.nst.ToString());

dataGridViewrez.Rows.Add("личный зачет");

dataGridViewrez.Rows.Add("командный зачет");

for (int p = 0; p < r.p.nsp; p++)

r.p.vsespotmens[p].ulovob = r.p.vsespotmens[p].ulov1 + r.p.vsespotmens[p].ulov2;

 

for (int i = 0; i < r.p.nst; i++)

for (int k = 0; k < r.p.spvkom; k++)

{

r.p.vsekom[i].kulov1 += r.p.vsekom[i].sport[k].ulov1;

r.p.vsekom[i].kulov2 += r.p.vsekom[i].sport[k].ulov2;

r.p.vsekom[i].kulovob += r.p.vsekom[i].sport[k].ulovob;

}

int i1;

int i2 = 1;

int i3 = 0;

 

int ob;

 

//спортсмены

while (i2 < r.p.nsp+1)

{

ob = 0;

i1 = 0;

while (i1 < r.p.nsp)

{

if (ob < r.p.vsespotmens[i1].ulov1 && r.p.vsespotmens[i1].mesto1 == 0)

{

i3 = i1;

ob = r.p.vsespotmens[i1].ulov1;

}

i1++;

}

 

r.p.vsespotmens[i3].mesto1 = i2;

i2++;

}

 

 

i2 = 1;

i3 = 0;

while (i2 < r.p.nsp + 1)

{

ob = 0;

i1 = 0;

while (i1 < r.p.nsp)

{

if (ob < r.p.vsespotmens[i1].ulov2 && r.p.vsespotmens[i1].mesto2 == 0)

{

i3 = i1;

ob = r.p.vsespotmens[i1].ulov2;

}

i1++;

}

 

r.p.vsespotmens[i3].mesto2 = i2;

i2++;

}

// команда

//Первый день

i2 = 1;

i3 = 0;

while (i2 < r.p.nst + 1)

{

ob = 0;

i1 = 0;

 

while (i1 < r.p.nst)

{

if (ob < r.p.vsekom[i1].kulov1 && r.p.vsekom[i1].kmesto1 == 0)

{

i3 = i1;

ob = r.p.vsekom[i1].kulov1;

}

i1++;

}

 

r.p.vsekom[i3].kmesto1 = i2;

i2++;

}

//второй день

i2 = 1;

i3 = 0;

while (i2 < r.p.nst + 1)

{

ob = 0;

i1 = 0;

 

while (i1 < r.p.nst)

{

if (ob < r.p.vsekom[i1].kulov2 && r.p.vsekom[i1].kmesto2 == 0)

{

i3 = i1;

ob = r.p.vsekom[i1].kulov2;

}

i1++;

}

 

r.p.vsekom[i3].kmesto2 = i2;

i2++;

}

 

// минимальная сумма мест за два дня

for (int p = 0; p < r.p.nsp; p++)

r.p.vsespotmens[p].minmestsum = r.p.vsespotmens[p].mesto1 + r.p.vsespotmens[p].mesto2;

 

for (int i = 0; i < r.p.nst; i++)

r.p.vsekom[i].minmestsum = r.p.vsekom[i].kmesto1 + r.p.vsekom[i].kmesto1;

//нахождение 1 в общем зачете по спортсменам

i1 = r.p.vsespotmens[0].minmestsum;

i2 = r.p.vsespotmens[0].ulovob;

i3 = r.p.vsespotmens[0].ulov1;

 

// поиск минимальной суммы

for (int p = 0; p < r.p.nsp; p++)

{

if (i1 > r.p.vsespotmens[p].minmestsum)

i1 = r.p.vsespotmens[p].minmestsum;

}

//всем с минимальной 1 место

for (int p = 0; p < r.p.nsp; p++)

if (i1 == r.p.vsespotmens[p].minmestsum)

{

r.p.vsespotmens[p].mestoob = 1;

}

//поиск максимального улова общего у спортов с первым местом

for (int p = 0; p < r.p.nsp; p++)

if (i2 < r.p.vsespotmens[p].ulovob && r.p.vsespotmens[p].mestoob == 1)

i2 = r.p.vsespotmens[p].ulovob;

// все с первым местом у кого максимальное общего улова остаются

for (int p = 0; p < r.p.nsp; p++)

if (i2!= r.p.vsespotmens[p].ulovob && r.p.vsespotmens[p].mestoob == 1)

{

r.p.vsespotmens[p].mestoob = 0;

}

// поиск максимального улова за первый день из тех у кого первое место

 

for (int p = 0; p < r.p.nsp; p++)

{

if (i3 < r.p.vsespotmens[p].ulov1 && r.p.vsespotmens[p].mestoob == 1)

i3 = r.p.vsespotmens[p].ulov1;

}

// все кто прошли и это испытание оставляют первое место

for (int p = 0; p < r.p.nsp; p++)

{

if (i3!= r.p.vsespotmens[p].ulov1 && r.p.vsespotmens[p].mestoob == 1)

r.p.vsespotmens[p].mestoob = 0;

}

 

//нахождение 1 в общем зачете по странам

i1 = r.p.vsekom[0].minmestsum;

i2 = r.p.vsekom[0].kulovob;

i3 = r.p.vsekom[0].kulov1;

 

// поиск минимальной суммы

for (int p = 0; p < r.p.nst; p++)

{

if (i1 > r.p.vsekom[p].minmestsum)

i1 = r.p.vsekom[p].minmestsum;

}

//всем с минимальной 1 место

for (int p = 0; p < r.p.nst; p++)

if (i1 == r.p.vsekom[p].minmestsum)

{

r.p.vsekom[p].kmestoob = 1;

}

//поиск максимального улова общего у спортов с первым местом

for (int p = 0; p < r.p.nst; p++)

if (i2 < r.p.vsekom[p].kulovob && r.p.vsekom[p].kmestoob == 1)

i2 = r.p.vsekom[p].kulovob;

// все с первым местом у кого максимальное общего улова остаются

for (int p = 0; p < r.p.nst; p++)

if (i2!= r.p.vsekom[p].kulovob && r.p.vsekom[p].kmestoob == 1)

{

r.p.vsekom[p].kmestoob = 0;

}

// поиск максимального улова за первый день из тех у кого первое место

 

for (int p = 0; p < r.p.nst; p++)

{

if (i3 < r.p.vsekom[p].kulov1 && r.p.vsekom[p].kmestoob == 1)

i3 = r.p.vsekom[p].kulov1;

}

// все кто прошли и это испытание оставляют первое место

for (int p = 0; p < r.p.nst; p++)

{

if (i3!= r.p.vsekom[p].kulov1 && r.p.vsekom[p].kmestoob == 1)

r.p.vsekom[p].kmestoob = 0;

}

//таблица

// личный 1 день

dataGridViewrez.RowCount =2;

for (int i = 0; i < r.p.nsp; i++)

if (r.p.vsespotmens[i].mesto1 == 1)

{

dataGridViewrez[1, 0].Value = r.p.vsespotmens[i].imya.ToString() + "(" + r.p.vsespotmens[i].strana.ToString() + ")";

}

//личный 2 день

 

for (int i = 0; i < r.p.nsp; i++)

if (r.p.vsespotmens[i].mesto2 == 1)

{

dataGridViewrez[2, 0].Value = r.p.vsespotmens[i].imya.ToString() + "(" + r.p.vsespotmens[i].strana.ToString() + ")";

}

//команды 1 день

for (int i = 0; i < r.p.nst; i++)

if (r.p.vsekom[i].kmesto1 == 1)

{

dataGridViewrez[1, 1].Value = r.p.vsekom[i].strana.ToString() + ":" + r.p.vsekom[i].kulov1;

}

//командный 2 день }

for (int i = 0; i < r.p.nst; i++)

if (r.p.vsekom[i].kmesto2 == 1)

{

dataGridViewrez[2, 1].Value = r.p.vsekom[i].strana.ToString() + ":" + r.p.vsekom[i].kulov2;

}

//личный общий

for (int i = 0; i < r.p.nsp; i++)

if (r.p.vsespotmens[i].mestoob == 1)

{

dataGridViewrez[3, 0].Value = r.p.vsespotmens[i].imya.ToString() + "(" + r.p.vsespotmens[i].strana.ToString() + ")";

}

// командный общий

for (int i = 0; i < r.p.nst; i++)

if (r.p.vsekom[i].kmestoob == 1)

{

dataGridViewrez[3, 1].Value = r.p.vsekom[i].strana.ToString();

 

 

}

}

}

Контрольный пример

1. Выберем страну

2. Напишем имена 4 участников

3. Добавим их кнопкой «добавить жертв»

 

 

4. Повторим 3 раза

5. Нажмем «время жатвы»

6. Выберем команду и укажем количество улова за 1 и 2 день

7. Укажем всем командам

8. Таблица решения

  улов за 1 день улов за 2 день место за 1 день место за 2 день сумма уловов за два дня сумма мест общее место
Эдолас              
На-день              
Натсу              
Эльза              
Грей              
               
Пылающий легион              
Эр'Зулаг              
Неравин              
Эз'Дулаг              
Гроуг              
               
Советский Союз              
Иван Уткин              
Владимир Светлый              
София Ушакова              
Александр Марьин              

 

9. Рассчитанные данные мной: Гроуг и Пылающий легион 1 место за 1 день, Эз'Дулаг и Пылающий легион 1 место за второй день, и Иван Уткин и Советский союз первое место по итогом соревнования и результаты вычисления программы совпадают.


 

Руководство пользователя

1. Для запуска программы совершите двойной клик по программе

2. Первое окно «создание команд»

3. Для начала выберем страну из которой прибыли участники.

4. Напишем имена 4 спортсменов команды

5. Если хоть одно поле не будет указано, то появится соответствующая ошибка

6. Добавим их с помощью кнопки «добавить жертв»

7. Это страна уберется из списка во избежание повтора страны

8. Повторять добавление команд пока не надоест или не кончатся страны

Выбор страны

 

9. Пока не будет введено минимум 1 команд, кнопка «время жатвы не активна»

10. После окончания добавления команд, продолжить нажатием кнопки «время жатвы»

11. Окно «создание команд» исчезнет

12. В появившемся окошке «время битвы» выбираем страну

 

 

13. Каждому участнику страны указываем улов за 1 и 2 дни.

14. После выставлении всех результатов появляется кнопка нажимаем на неё

15. Показывается окно «время жатвы» в котором отображены результаты соревнования. Если имена слишком длинные можно прокрутить полосой прокрутки

 

 

16. При закрытие окна «Время битвы» закроется окно Жатва


 

Используемая литература

1. Полный справочник по C#. Г.Шилдт

2. Язык программирования С# 2005 и платформа.NET. Э. Троелсен

3. https://msdn.microsoft.com



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-11-28 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: