using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void kilépésToolStripMenuItem_Click(object sender, EventArgs e) { this.Close(); } private void megnyitásToolStripMenuItem_Click(object sender, EventArgs e) { openFileDialog1.ShowDialog(); Data.path = openFileDialog1.FileName; KepviselokBetoltes(); } public void KepviselokBetoltes() { FileStream fs = new FileStream(Data.path, FileMode.Open, FileAccess.Read); StreamReader streamReader = new StreamReader(fs); string sor = streamReader.ReadLine(); while (sor != null) { string[] elemek = sor.Split(' '); string nev =$"{elemek[2]} {elemek[3]}"; string part = elemek[4]; int szavazatok = Convert.ToInt32(elemek[1]); int kerulet = Convert.ToInt32(elemek[0]); Kepviselo kepviselo = new Kepviselo(nev, kerulet, szavazatok, part); Data.kepviselok.Add(kepviselo); sor = streamReader.ReadLine(); } streamReader.Close(); fs.Close(); foreach (var item in Data.kepviselok) { listBox1.Items.Add(item.nev); } } private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { Data.index = listBox1.SelectedIndex; textBox1.Text = Data.kepviselok[Data.index].nev; textBox2.Text = Data.kepviselok[Data.index].valasztokerulet.ToString(); textBox3.Text = Data.kepviselok[Data.index].part; textBox4.Text = Data.kepviselok[Data.index].szavazatok.ToString(); } private void button1_Click(object sender, EventArgs e) { if (listBox1.SelectedIndex == -1) { MessageBox.Show("Hiba! Nincs kiválasztott képviselő."); return; } listBox2.Items.Clear(); int kerulet = Data.kepviselok[Data.index].valasztokerulet; foreach (var item in Data.kepviselok) { if (item.valasztokerulet == kerulet) { string formatted = $"{item.nev} ({item.szavazatok} szavazat)"; listBox2.Items.Add(formatted); } } } private void súgóToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show($" Helyhatósági választásokat elemző program"); } private void statisztikaToolStripMenuItem_Click(object sender, EventArgs e) { } private void nyertesekToolStripMenuItem_Click(object sender, EventArgs e) { FileStream fs = new FileStream("nyertesek.txt", FileMode.Create, FileAccess.Write); StreamWriter streamWriter = new StreamWriter(fs); //0: érték //1: index List<(int, int)> lista = new List<(int, int)>(); for (int i = 0; i < Data.kepviselok.Count; i++) { lista.Add((Data.kepviselok[i].szavazatok,i)); } lista.Sort(); for (int i = 0; i < 8; i++) { streamWriter.WriteLine(Data.kepviselok[lista[i].Item2].nev); } streamWriter.Close(); fs.Close(); } } public static class Data { public static string path; public static List kepviselok = new List(); public static int index; } public class Kepviselo { public string nev; public int valasztokerulet; public int szavazatok; public string part; public Kepviselo(string nev, int valasztokerulet, int szavazatok, string part) { this.nev = nev; this.valasztokerulet = valasztokerulet; this.szavazatok = szavazatok; this.part = part; } } }