added valasztasok
This commit is contained in:
183
20240212_valasztas/ConsoleApp1/Program.cs
Normal file
183
20240212_valasztas/ConsoleApp1/Program.cs
Normal file
@@ -0,0 +1,183 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.IO;
|
||||
|
||||
namespace ConsoleApp1
|
||||
{
|
||||
public class Kepviselo
|
||||
{
|
||||
public int valasztokerulet, szavazatok;
|
||||
public string nev, part;
|
||||
public Kepviselo(int szam1, int szam2, string nev, string part)
|
||||
{
|
||||
this.valasztokerulet = szam1;
|
||||
this.szavazatok = szam2;
|
||||
this.nev = nev;
|
||||
this.part = part;
|
||||
}
|
||||
}
|
||||
public static class Data
|
||||
{
|
||||
public static List<Kepviselo> kepviselok = new List<Kepviselo>();
|
||||
}
|
||||
class Program
|
||||
{
|
||||
public static void ReadData()
|
||||
{
|
||||
FileStream fileStream = new FileStream("..\\szavazatok.txt", FileMode.Open, FileAccess.Read);
|
||||
StreamReader streamReader = new StreamReader(fileStream);
|
||||
|
||||
string line = streamReader.ReadLine();
|
||||
while (line != null)
|
||||
{
|
||||
string[] splitted = line.Split(' ');
|
||||
string nev = $"{splitted[2]} {splitted[3]}";
|
||||
Kepviselo kepviselo = new Kepviselo(Convert.ToInt32(splitted[0]), Convert.ToInt32(splitted[1]), nev, splitted[4]);
|
||||
Data.kepviselok.Add(kepviselo);
|
||||
line = streamReader.ReadLine();
|
||||
}
|
||||
|
||||
streamReader.Close();
|
||||
fileStream.Close();
|
||||
}
|
||||
|
||||
public static int KepviseloNum()
|
||||
{
|
||||
return Data.kepviselok.Count;
|
||||
}
|
||||
public static void Feladat2()
|
||||
{
|
||||
Console.WriteLine($"A helyhatósági választáson {KepviseloNum()} képviselőjelölt indult.");
|
||||
}
|
||||
|
||||
public static int SzavazatNum(string kepviselo)
|
||||
{
|
||||
foreach (var item in Data.kepviselok)
|
||||
{
|
||||
if (item.nev.ToLower() == kepviselo.ToLower())
|
||||
{
|
||||
return item.szavazatok;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
public static void Feladat3()
|
||||
{
|
||||
Console.WriteLine("Add meg egy képviselő nevét!");
|
||||
string name = Console.ReadLine();
|
||||
int num = SzavazatNum(name);
|
||||
if (num >= 0)
|
||||
{
|
||||
Console.WriteLine($"{name} nevű képviselőre {num}db szavazatot adtak le.");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Ilyen nevű képviselőjelölt nem szerepel a nyilvántartásban!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static int SzavazokNum()
|
||||
{
|
||||
int num = 0;
|
||||
foreach (var item in Data.kepviselok)
|
||||
{
|
||||
num += item.szavazatok;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
public static void Feladat4()
|
||||
{
|
||||
const int jogosultak = 12345;
|
||||
int num = SzavazokNum();
|
||||
double percentage = RoundedPercentage(num, jogosultak);
|
||||
Console.WriteLine($"A választáson {num} állampolgár, a jogosultak {percentage}%-a vett részt.");
|
||||
}
|
||||
|
||||
public static double RoundedPercentage(int num, int all)
|
||||
{
|
||||
double sol = Convert.ToDouble(num) / Convert.ToDouble(all) * 100;
|
||||
return Math.Round(sol, 2);
|
||||
}
|
||||
|
||||
public static void Feladat5()
|
||||
{
|
||||
int jogosultak = SzavazokNum();
|
||||
int GYEP = 0;
|
||||
int HEP = 0;
|
||||
int TISZ = 0;
|
||||
int ZEP = 0;
|
||||
int FUG = 0;
|
||||
foreach (var item in Data.kepviselok)
|
||||
{
|
||||
switch (item.part)
|
||||
{
|
||||
case "GYEP":
|
||||
GYEP += item.szavazatok;
|
||||
break;
|
||||
case "HEP":
|
||||
HEP += item.szavazatok;
|
||||
break;
|
||||
case "TISZ":
|
||||
TISZ += item.szavazatok;
|
||||
break;
|
||||
case "ZEP":
|
||||
ZEP += item.szavazatok;
|
||||
break;
|
||||
default:
|
||||
FUG += item.szavazatok;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Console.WriteLine($"Gyermek evők pártja: {RoundedPercentage(GYEP, jogosultak)}%");
|
||||
Console.WriteLine($"Herpeszesek pártja: {RoundedPercentage(HEP, jogosultak)}%");
|
||||
Console.WriteLine($"Tisztáltalanok pártja: {RoundedPercentage(TISZ, jogosultak)}%");
|
||||
Console.WriteLine($"Zöldségevők pártja: {RoundedPercentage(ZEP, jogosultak)}%");
|
||||
Console.WriteLine($"Független jelöltek: {RoundedPercentage(FUG, jogosultak)}%");
|
||||
|
||||
}
|
||||
|
||||
public static void Feladat6()
|
||||
{
|
||||
List<Kepviselo> legjobbak = new List<Kepviselo>();
|
||||
int szavazatmax = Data.kepviselok[0].szavazatok;
|
||||
foreach (var item in Data.kepviselok)
|
||||
{
|
||||
if (item.szavazatok > szavazatmax)
|
||||
{
|
||||
szavazatmax = item.szavazatok;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in Data.kepviselok)
|
||||
{
|
||||
if (item.szavazatok == szavazatmax)
|
||||
{
|
||||
legjobbak.Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
Console.WriteLine($"A legtöbb szavazat: {szavazatmax}db");
|
||||
foreach (var item in legjobbak)
|
||||
{
|
||||
Console.WriteLine($"{item.nev}, {item.part}");
|
||||
}
|
||||
}
|
||||
static void Main(string[] args)
|
||||
{
|
||||
ReadData();
|
||||
Feladat2();
|
||||
Feladat3();
|
||||
Feladat4();
|
||||
Feladat5();
|
||||
Feladat6();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user