G
Guest
Здравствуйте! У меня возникла программа с написанием программы на C#.
"Реализовать набор классов, описывающих студента (с успеваемостью) и группу студентов. Класс Группа должен обладать функциональностью, позволяющей получать статистику по группе (количество задолженностей, средний балл и т.п.)."
В классе FormStud создан массив экземпляров класса Stud. Как получить доступ к элементам этого массива класса из класса Group. При обращении к currStudent из класса Group возникает ошибка "Элемент currStudent не существует в текущем контексте". Если кто знает, как это исправить, отзовитесь. Заранее спасибо!
Класс Stud
Класс FormStud
Класс Group
Класс FormStud
"Реализовать набор классов, описывающих студента (с успеваемостью) и группу студентов. Класс Группа должен обладать функциональностью, позволяющей получать статистику по группе (количество задолженностей, средний балл и т.п.)."
В классе FormStud создан массив экземпляров класса Stud. Как получить доступ к элементам этого массива класса из класса Group. При обращении к currStudent из класса Group возникает ошибка "Элемент currStudent не существует в текущем контексте". Если кто знает, как это исправить, отзовитесь. Заранее спасибо!
Класс Stud
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MyGroup.Classes
{
public class Stud
{
private string _Surname;
private string _Name;
private double _Mark;
private int _Dolg;
private int _Propusk;
public Stud()
{
}
public string Surname
{
get { return _Surname; }
set { _Surname = value; }
}
public string Name
{
get { return _Name; }
set { _Name = value; }
}
public double Mark
{
get { return _Mark; }
set { _Mark = value; }
}
public int Dolg
{
get { return _Dolg; }
set { _Dolg = value; }
}
public int Propusk
{
get { return _Propusk; }
set { _Propusk = value; }
}
public string Res
{
get
{
return _Surname;
}
set
{
SetResult(value);
}
}
private void SetResult(string StrResult)
{
string[] StrElem = StrResult.Split(' ');
_Surname = StrElem[0];
_Name = StrElem[1];
_Mark = Convert.ToDouble(StrElem[2]);
_Dolg = Convert.ToInt32(StrElem[3]);
_Propusk = Convert.ToInt32(StrElem[4]);
}
}
}
Код:
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;
using MyGroup.Classes;
namespace MyGroup
{
public partial class FormStud : Form
{
public FormStud()
{
InitializeComponent();
}
private void cmdGroup_Click(object sender, EventArgs e)
{
FormGroup f1 = new FormGroup();
f1.Show();
this.Hide();
}
private void FormStud_Load(object sender, EventArgs e)
{
int i;
Encoding enc = Encoding.GetEncoding(1251);
string[] _students = System.IO.File.ReadAllLines("Students.txt", enc); //Массив строк из файла
Stud[] currStudent = new Stud[_students.GetLength(0)]
int k = 25;
for (i = 0; i < _students.GetLength(0); i++)
{
currStudent[i] = new Stud();
currStudent[i].Res = _students[i];
TextBox tSurname = new TextBox();
tSurname.Left = 20;
tSurname.Top = k;
tSurname.Width = 100;
tSurname.Text = currStudent[i].Surname;
TextBox tName = new TextBox();
tName.Left = 130;
tName.Top = k;
tName.Width = 100;
tName.Text = currStudent[i].Name;
TextBox tMark = new TextBox();
tMark.Left = 230;
tMark.Top = k;
tMark.Width = 40;
tMark.Text = Convert.ToString(currStudent[i].Mark);
TextBox tDolg = new TextBox();
tDolg.Left = 300;
tDolg.Top = k;
tDolg.Width = 40;
tDolg.Text = Convert.ToString(currStudent[i].Dolg);
TextBox tPropusk = new TextBox();
tPropusk.Left = 370;
tPropusk.Top = k;
tPropusk.Width = 40;
tPropusk.Text = Convert.ToString(currStudent[i].Propusk);
k += 22;
this.Controls.Add(tSurname);
this.Controls.Add(tName);
this.Controls.Add(tMark);
this.Controls.Add(tDolg);
this.Controls.Add(tPropusk);
}
}
private void FormStud_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
}
}
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MyGroup;
namespace MyGroup.Classes
{
public class Group
{
private int _Number = 1;
private double _Mark = 0;
private int _Dolg = 0;
private int _Propusk = 0;
private int n = 0;
public Group()
{
}
public double Mark
{
get { return _Mark; }
set { _Mark = value; }
}
public int Number
{
get { return _Number; }
}
public int N
{
get { return n; }
set { n = value; }
}
public int Dolg
{
get { return _Dolg; }
set { _Dolg = value; }
}
public int Propusk
{
get { return _Propusk; }
set { _Propusk = value; }
}
public void SetResult()
{
int i;
for (i = 0; i < currStudent.GetLength(0); i++)
{
_Mark += currStudent[i].Mark;
_Dolg += currStudent[i].Dolg;
_Propusk += currStudent[i].Propusk;
}
_Mark /= currStudent.GetLength(0);
}
}
}
Код:
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;
using MyGroup.Classes;
namespace MyGroup
{
public partial class FormStud : Form
{
public FormStud()
{
InitializeComponent();
}
private void cmdGroup_Click(object sender, EventArgs e)
{
FormGroup f1 = new FormGroup();
f1.Show();
this.Hide();
}
private void FormStud_Load(object sender, EventArgs e)
{
int i;
Encoding enc = Encoding.GetEncoding(1251);
string[] _students = System.IO.File.ReadAllLines("Students.txt", enc); //Массив строк из файла
Stud[] currStudent = new Stud[_students.GetLength(0)];
int k = 25;
for (i = 0; i < _students.GetLength(0); i++)
{
currStudent[i] = new Stud();
currStudent[i].Res = _students[i];
TextBox tSurname = new TextBox();
tSurname.Left = 20;
tSurname.Top = k;
tSurname.Width = 100;
tSurname.Text = currStudent[i].Surname;
TextBox tName = new TextBox();
tName.Left = 130;
tName.Top = k;
tName.Width = 100;
tName.Text = currStudent[i].Name;
TextBox tMark = new TextBox();
tMark.Left = 230;
tMark.Top = k;
tMark.Width = 40;
tMark.Text = Convert.ToString(currStudent[i].Mark);
TextBox tDolg = new TextBox();
tDolg.Left = 300;
tDolg.Top = k;
tDolg.Width = 40;
tDolg.Text = Convert.ToString(currStudent[i].Dolg);
TextBox tPropusk = new TextBox();
tPropusk.Left = 370;
tPropusk.Top = k;
tPropusk.Width = 40;
tPropusk.Text = Convert.ToString(currStudent[i].Propusk);
k += 22;
this.Controls.Add(tSurname);
this.Controls.Add(tName);
this.Controls.Add(tMark);
this.Controls.Add(tDolg);
this.Controls.Add(tPropusk);
}
}
private void FormStud_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
}
}