Считать данные из текстового файла "Список".
Соревнования фигуристов. Список содержит фамилию фигуриста, страну, и оценку за обязательные выступления и за произвольную программу. Вычислить суммарную оценку. Найти победителя.
Пока это все что есть
Как это все объединить ?
Код:
static void Main(string[] args)//чтение из файла
{
StreamReader reafl; //поток для считывания данных
if (File.Exists(@"E:\Для заочников\список фигуристов. txt"))//проверка существует ли данный массив
{ readfl = new StreamReader(@"E:\Для заочников\список фигуристов. txt"); }
else
{
Console.WriteLine("файла нет");
Console.ReadKey();
return;
}
sting str;//Пока файл не закончится
Тут должен считать общую оценку и выявлять победителя
Код:
public Form1()
{
InitializeComponent();
StreamReader data = new StreamReader("abit.txt", Encoding.Default);
dataGridView1.ColumnCount = 4;
dataGridView1.RowCount = 1;
dataGridView2.ColumnCount = 2;
dataGridView2.RowCount = 1;
dataGridView1.Rows.Add("Фамилия", "Оценка 1", "Оценка 2");
dataGridView2.Rows.Add("Фамилия", "Баллы");
for (n = 0; !data.EndOfStream; n++)
{
string[] temp = data.ReadLine().Split(' ');
{
str = readfl.ReadLine();
string[] s = str.Split(';');
spisok[i].fam = s[0];
spisok[i].strana = s[0];
spisok[i].ocenka1 = Convert.ToInt32(s[2]);
spisok[i].ocenka2 = Convert.ToInt32(s[2]);
}
data.Close();
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < n; i++)
{
spor[i].ocenka = (spisok[i].ocenka1 + spisok[i].ocenka2);
dataGridView2.Rows.Add(spisok[i].fam, spisok[i].ocenka.ToString());
}
button2.Enabled = false;
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 A = new Form2();
A.Show();
this.Hide();
Другие языки программирования и технологии
C# нужна помощь, как это все объединить ?
А зачем в базу писать эту херабору? И если писать, то тогда уже не выборкой искать победителя и другое, а через SQL запрос
Вобщем как то так
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var TheFiguristObject = new TheFigurist();
var FiguristList = TheFiguristObject.GetFiguristListFromTextFile();
var Winner = TheFiguristObject.GetWinnerFromList(FiguristList);
Console.WriteLine($"{Winner.Name} {Winner.Country} {Winner.Score}");
var SumScore = TheFiguristObject.GetSumScoreFromFiguristList(FiguristList);
Console.WriteLine($"{SumScore}");
}
}
class TheFigurist:IEnumerable
{
public string Name { get; set; }
public string Country { get; set; }
public int Score { get; set; }
public IEnumerator GetEnumerator()
{
throw new NotImplementedException();
}
public List GetFiguristListFromTextFile(string FilePath = @"c:\test.txt")
{
try
{
if (File.Exists(FilePath))
{
var ListFigurist = new List();
string[] lines;
var list = new List();
var fileStream = new FileStream(FilePath, FileMode.Open, FileAccess.Read);
using (var streamReader = new StreamReader(fileStream, Encoding.UTF8))
{
//Предпологается, что список во всем файле идет в каком то установленном порядке, например ИМЯ; СТРАНА; ОЦЕНКА
string line;
while ((line = streamReader.ReadLine()) != null)
{
var x = line.Split(";");
var TheFiguristObject = new TheFigurist
{
Name = x[0],
Country = x[1],
Score = Int32.Parse(x[2]),
};
ListFigurist.Add(TheFiguristObject);
}
}
return ListFigurist;
}
else
{
Console.WriteLine("файла нет");
Console.ReadKey();
return null;
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return null;
}
}
public TheFigurist GetWinnerFromList(List ListFigurist) {
try
{
if (ListFigurist.Count > 0)
{
int MaxScore = ListFigurist.Max(f => f.Score);
var Winner = ListFigurist.Find(f => f.Score == MaxScore);
return Winner;
}
else
{
Console.WriteLine("Фигуристов не обнаружено");
return null;
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return null;
}
}
public int GetSumScoreFromFiguristList(List ListFigurist) {
try
{
if (ListFigurist.Count>0)
{
int SumScore = ListFigurist.Sum(f => f.Score);
return SumScore;
Вобщем как то так
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var TheFiguristObject = new TheFigurist();
var FiguristList = TheFiguristObject.GetFiguristListFromTextFile();
var Winner = TheFiguristObject.GetWinnerFromList(FiguristList);
Console.WriteLine($"{Winner.Name} {Winner.Country} {Winner.Score}");
var SumScore = TheFiguristObject.GetSumScoreFromFiguristList(FiguristList);
Console.WriteLine($"{SumScore}");
}
}
class TheFigurist:IEnumerable
{
public string Name { get; set; }
public string Country { get; set; }
public int Score { get; set; }
public IEnumerator GetEnumerator()
{
throw new NotImplementedException();
}
public List GetFiguristListFromTextFile(string FilePath = @"c:\test.txt")
{
try
{
if (File.Exists(FilePath))
{
var ListFigurist = new List();
string[] lines;
var list = new List();
var fileStream = new FileStream(FilePath, FileMode.Open, FileAccess.Read);
using (var streamReader = new StreamReader(fileStream, Encoding.UTF8))
{
//Предпологается, что список во всем файле идет в каком то установленном порядке, например ИМЯ; СТРАНА; ОЦЕНКА
string line;
while ((line = streamReader.ReadLine()) != null)
{
var x = line.Split(";");
var TheFiguristObject = new TheFigurist
{
Name = x[0],
Country = x[1],
Score = Int32.Parse(x[2]),
};
ListFigurist.Add(TheFiguristObject);
}
}
return ListFigurist;
}
else
{
Console.WriteLine("файла нет");
Console.ReadKey();
return null;
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return null;
}
}
public TheFigurist GetWinnerFromList(List ListFigurist) {
try
{
if (ListFigurist.Count > 0)
{
int MaxScore = ListFigurist.Max(f => f.Score);
var Winner = ListFigurist.Find(f => f.Score == MaxScore);
return Winner;
}
else
{
Console.WriteLine("Фигуристов не обнаружено");
return null;
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return null;
}
}
public int GetSumScoreFromFiguristList(List ListFigurist) {
try
{
if (ListFigurist.Count>0)
{
int SumScore = ListFigurist.Sum(f => f.Score);
return SumScore;
Андрей Попов
Все элементарно.. когда не понимаешь ничего, приходится делать херабору ))
c hz
Похожие вопросы
- Программка c# нужна помощь
- (C++) Нужна помощь в создании метода "пузырька".
- c++ нужна помощь
- C++ Нужна Помощь
- Язык Arduino(C, C++) Нужна помощь: в изучении arduino встретил знак "&" помогите, пожалуйста, что он означает!
- c++ нужна помощь )
- C#. Нужна помощь.
- (C++) Нужна помощь в написании 4-х программ. максимально простые, уровень с++ нулевой практически.
- Нужна помощь в C++
- Программисты нужна помощь в c++!