NET 4.x Класс, содержащий сведения о студентах - C#
Формулировка задачи:
На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, номер группы и результаты сдачи трех экзаменов. Вывести в новый файл информацию о студентах, успешно сдавших сессию, отсортировав их по номеру группы.
Данную задачу взял у вас на форуме.
код программы
Ругается на 12 строку: Ошибка 1 ConsoleApplication6.Program.Main(string[]) должен объявлять тело, так как он не помечен как абстрактный, внешний или частичный.
Пробовал убирать ";" ставил "{}" тогда выдавал другие ошибки.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args);
class Student_List
{
List<Student> _Sudent_List = new List<Student>(); //Динамический массив студентов;
/// <summary>
/// Структура студент содержит поля Ф,И,О, Номер группы, И 3 оценки;
/// </summary>
struct Student
{
internal String _Name, //имя;
_Family_Name, //фамилия;
_Middle_Name; //отчество;
internal Int32 _Number_Group, //Номер группы;
_First_Exam, //Первый экзамен;
_Second_Exam, //Второй экзамен;
_Third_Exam; //Третий экзамен;
}
/// <summary>
/// Добавляет запись о студенте в коллекцию;
/// </summary>
/// <param name="Name">Имя студента</param>
/// <param name="Family_Name">Фамилия студента</param>
/// <param name="Middle_Name">Отчество студента</param>
/// <param name="Number_Group">Номер группы</param>
/// <param name="First_Exam">Результат Первого экзамена</param>
/// <param name="Second_Exam">Результат Второго экзамена</param>
/// <param name="Third_Exam">Результат Третьего экзамена</param>
public void Add(Int32 Number_Group, String Family_Name, String Name,
String Middle_Name, Int32 First_Exam,
Int32 Second_Exam, Int32 Third_Exam)
{
_Sudent_List.Add(
new Student
{
_Name = Name,
_Family_Name = Family_Name,
_Middle_Name = Middle_Name,
_Number_Group = Number_Group,
_First_Exam = First_Exam,
_Second_Exam = Second_Exam,
_Third_Exam = Third_Exam
});
}
//перегрузка Add ..
void Add(Student student)
{
_Sudent_List.Add(student);
}
//составление списка сдавших студентов
public Student_List Sdali()
{
Student_List _Temp = new Student_List();
for(Int32 i =0; i < _Sudent_List.Count; i++){//если по всем экзаменам >2 то сдал
if (_Sudent_List[i]._First_Exam > 2 && _Sudent_List[i]._Second_Exam > 2 && _Sudent_List[i]._Third_Exam > 2)
{
_Temp.Add(_Sudent_List[i]);//добавляю в коллекцию сдавших
}
}
return _Temp;
}
public void Sort_Number()
{
this._Sudent_List.Sort();
}
}
private void Main()
{
Student_List _Student_List = new Student_List();
using (StreamReader _Read = new StreamReader("List.txt"))
{
while (!_Read.EndOfStream)//иду до конца файла
{
String[] _Temp = _Read.ReadLine().Split(' ');
_Student_List.Add(
Convert.ToInt32(_Temp[0]),
_Temp[1], _Temp[2], _Temp[3],
Convert.ToInt32(_Temp[4]),
Convert.ToInt32(_Temp[5]),
Convert.ToInt32(_Temp[6]));
}
}
_Student_List.Sdali().Sort_Number();
}
}
}Решение задачи: «NET 4.x Класс, содержащий сведения о студентах»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
Student_List _Student_List = new Student_List();
using (System.IO.StreamReader _Read = new System.IO.StreamReader("List.txt"))
{
while (!_Read.EndOfStream)//иду до конца файла
{
String[] _Temp = _Read.ReadLine().Split(' ');
_Student_List.Add(
Convert.ToInt32(_Temp[0]),
_Temp[1], _Temp[2], _Temp[3],
Convert.ToInt32(_Temp[4]),
Convert.ToInt32(_Temp[5]),
Convert.ToInt32(_Temp[6]));
}
}
Student_List Sorted_Student_List = _Student_List.Sdali();
Sorted_Student_List.Sort_Number();
Sorted_Student_List.Print();
Sorted_Student_List.SaveToFile();
Console.ReadKey();
}
}
class Student_List
{
List<Student> _Sudent_List = new List<Student>(); //Динамический массив студентов;
/// <summary>
/// Структура студент содержит поля Ф,И,О, Номер группы, И 3 оценки;
/// </summary>
struct Student
{
internal String _Name, //имя;
_Family_Name, //фамилия;
_Middle_Name; //отчество;
internal Int32 _Number_Group, //Номер группы;
_First_Exam, //Первый экзамен;
_Second_Exam, //Второй экзамен;
_Third_Exam; //Третий экзамен;
}
/// <summary>
/// Добвляет запись о студенте в коллекцию;
/// </summary>
/// <param name="Name">Имя студента</param>
/// <param name="Family_Name">Фамилия студента</param>
/// <param name="Middle_Name">Отчество студента</param>
/// <param name="Number_Group">Номер группы</param>
/// <param name="First_Exam">Результат Первного экзамена</param>
/// <param name="Second_Exam">Результат Второго экзамена</param>
/// <param name="Third_Exam">Результат Третьего экзамена</param>
public void Add(Int32 Number_Group, String Family_Name, String Name, String Middle_Name,
Int32 First_Exam, Int32 Second_Exam, Int32 Third_Exam)
{
_Sudent_List.Add(
new Student
{
_Name = Name,
_Family_Name = Family_Name,
_Middle_Name = Middle_Name,
_Number_Group = Number_Group,
_First_Exam = First_Exam,
_Second_Exam = Second_Exam,
_Third_Exam = Third_Exam
});
}
//перегрузка Add ..
void Add(Student student)
{
_Sudent_List.Add(student);
}
//составление списка сдавших студентов
public Student_List Sdali()
{
Student_List _Temp = new Student_List();
for (Int32 i = 0; i < _Sudent_List.Count; i++)
{//если по всем экзаменам >2 то сдал
if (_Sudent_List[i]._First_Exam > 2 && _Sudent_List[i]._Second_Exam > 2 && _Sudent_List[i]._Third_Exam > 2)
{
_Temp.Add(_Sudent_List[i]);//добавляю в коллекцию сдавших
}
}
return _Temp;
}
public void Sort_Number()
{
this._Sudent_List.Sort(delegate(Student T, Student B)
{
return T._Number_Group.CompareTo(B._Number_Group);
});
}
public void Print()
{
for (Int32 i = 0; i < _Sudent_List.Count; i++)
{
Console.WriteLine(_Sudent_List[i]._Family_Name + ' ' + _Sudent_List[i]._Name + ' ' + _Sudent_List[i]._Middle_Name
+ " ({0:D}): {1:D} / {2:D} / {3:D}", _Sudent_List[i]._Number_Group, _Sudent_List[i]._First_Exam, _Sudent_List[i]._Second_Exam, _Sudent_List[i]._Third_Exam);
}
}
public void SaveToFile()
{
System.IO.StreamWriter _W = new System.IO.StreamWriter("List1.txt");
for (Int32 i = 0; i < _Sudent_List.Count; i++)
{
_W.WriteLine(_Sudent_List[i]._Family_Name + ' ' + _Sudent_List[i]._Name + ' ' + _Sudent_List[i]._Middle_Name
+ " ({0:D}): {1:D} / {2:D} / {3:D}", _Sudent_List[i]._Number_Group, _Sudent_List[i]._First_Exam, _Sudent_List[i]._Second_Exam, _Sudent_List[i]._Third_Exam);
}
_W.Close();
}
}
}