Ma folytattuk ezt a feladatsort, itt fejezzük be.
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
namespace Toto
{
class EredmenyElemzo
{
private string Eredmenyek;
private int DontetlenekSzama
{
get
{
return Megszamol('X');
}
}
private int Megszamol(char kimenet)
{
int darab = 0;
foreach (var i in Eredmenyek)
{
if (i == kimenet) darab++;
}
return darab;
}
public bool NemvoltDontetlenMerkozes
{
get
{
return DontetlenekSzama == 0;
}
}
public EredmenyElemzo(string eredmenyek) // konstruktor
{
Eredmenyek = eredmenyek;
}
}
class FogadasiFordulo
{
public int Év { get; private set; }
public int Hét { get; private set; }
public int Forduló { get; private set; }
public int TelitalálatDarab { get; private set; }
public int TelitalálatNyereméy { get; private set; }
public string Eredmények { get; private set; }
public int NyereményÖsszeg => TelitalálatDarab * TelitalálatNyereméy;
public FogadasiFordulo(string sor)
{
string[] m = sor.Split(';');
Év = int.Parse(m[0]);
Hét = int.Parse(m[1]);
Forduló = int.Parse(m[2]);
TelitalálatDarab = int.Parse(m[3]);
TelitalálatNyereméy = int.Parse(m[4]);
Eredmények = m[5];
}
public void EredménytKiír()
{
Console.WriteLine($"\tÉv: {Év}");
Console.WriteLine($"\tHét: {Hét}.");
Console.WriteLine($"\tForduló: {Forduló}.");
Console.WriteLine($"\tTelitalálat: {TelitalálatDarab} db");
Console.WriteLine($"\tNyeremény: {TelitalálatNyereméy} Ft");
Console.WriteLine($"\tEredmények: {Eredmények}");
}
}
class Toto
{
static void Main()
{
List<FogadasiFordulo> fordulók = new List<FogadasiFordulo>();
foreach (var i in File.ReadAllLines("toto.txt").Skip(1))
{
fordulók.Add(new FogadasiFordulo(i));
}
Console.WriteLine($"3. feladat: Fordulók száma: {fordulók.Count}");
// 4. feladat:
int szelvény13p1Db = 0;
foreach (var i in fordulók)
{
szelvény13p1Db += i.TelitalálatDarab;
}
Console.WriteLine($"4. feladat: Telitalálatos szelvények száma: {szelvény13p1Db} db");
// 5. feladat:
double nyereményekÖsszege = 0;
int telitalálatosFordulóDb = 0;
foreach (var i in fordulók)
{
checked
{
nyereményekÖsszege += i.NyereményÖsszeg;
telitalálatosFordulóDb++;
}
}
Console.WriteLine($"5. feladat: Átlag: {nyereményekÖsszege / telitalálatosFordulóDb:F0} Ft");
Console.WriteLine("6. feladat:");
int maxi = -1;
int mini = -1;
for (int i = 1; i < fordulók.Count; i++)
{
if (fordulók[i].TelitalálatDarab > 0)
{
if (maxi == -1) maxi = i;
if (mini == -1) mini = i;
if (fordulók[i].TelitalálatNyereméy > fordulók[maxi].TelitalálatNyereméy)
{
maxi = i;
}
if (fordulók[i].TelitalálatNyereméy < fordulók[mini].TelitalálatNyereméy)
{
mini = i;
}
}
}
Console.WriteLine("\tLegnagyobb:");
fordulók[maxi].EredménytKiír();
Console.WriteLine("\n\tLegkisebb:");
fordulók[mini].EredménytKiír();
// 8. feladat:
bool voltDöntetlenNélküliForduló = false;
foreach (var i in fordulók)
{
EredmenyElemzo ee = new EredmenyElemzo(i.Eredmények);
if (ee.NemvoltDontetlenMerkozes)
{
voltDöntetlenNélküliForduló = true;
break;
}
}
Console.WriteLine($"8. feladat: {(voltDöntetlenNélküliForduló ? "Volt" : "Nem volt")} döntetlen nélküli forduló!");
Console.ReadKey();
}
}
}
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
namespace TotoGUI
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Eredények_TextChanged(object sender, TextChangedEventArgs e)
{
cbHossz.IsChecked = Eredények.Text.Length != 14;
cbHossz.Content = $"Nem megfelelő a karakterek száma ({Eredények.Text.Length})";
List<Char> hibásKarakterek = new List<char>();
foreach (var i in Eredények.Text)
{
if ("12X".IndexOf(i) == -1)
{
hibásKarakterek.Add(i);
}
}
cbHibásKarakter.Content = $"Helytelen karakter az eredményekben ({string.Join(";", hibásKarakterek)})";
cbHibásKarakter.IsChecked = hibásKarakterek.Count != 0;
Mentés.IsEnabled = cbHossz.IsChecked == false && cbHibásKarakter.IsChecked == false;
}
}
}
<Window x:Class="TotoGUI.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:TotoGUI"
mc:Ignorable="d"
Title="Totó eredmény ellenőrző" Height="220" Width="400">
<Grid>
<Label Content="Kérem a forduló eredményeit [1, 2, X]:" HorizontalAlignment="Left" Margin="0,10,0,0" VerticalAlignment="Top" Width="265"/>
<CheckBox x:Name="cbHossz" IsEnabled="False" Content="Nem megfelelő a karakterek száma (14)" HorizontalAlignment="Left" Margin="10,79,0,0" VerticalAlignment="Top" Width="365"/>
<CheckBox x:Name="cbHibásKarakter" IsEnabled="False" Content="Helytelen karakter az eredményekben ()" HorizontalAlignment="Left" Margin="10,106,0,0" VerticalAlignment="Top" Width="365"/>
<Button x:Name="Mentés" Content="Eredmények mentése" HorizontalAlignment="Left" Margin="10,143,0,0" VerticalAlignment="Top" Width="152"/>
<TextBox x:Name="Eredények" HorizontalAlignment="Left" Height="23" Margin="10,40,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="255" Text="12X12X12X12X12" TextChanged="Eredények_TextChanged"/>
</Grid>
</Window>
-- A feladatok megoldására elkészített SQL parancsokat illessze be a feladat sorszáma után!
-- 10. feladat:
CREATE DATABASE tisza
DEFAULT CHARACTER SET utf8
COLLATE utf8_hungarian_ci;
-- 12. feladat:
DELETE
FROM
meres
WHERE
meres.nap='2020-03-27';
-- 13. feladat:
UPDATE
vizmerce
SET
vizmerce.igId=2
WHERE
vizmerce.varos="Tokaj";
-- 14. feladat:
SELECT
vizmerce.varos,
vizmerce.nullPont
FROM
vizmerce
ORDER BY
vizmerce.nullPont ASC
LIMIT 1;
-- 15. feladat:
SELECT
vizmerce.varos,
vizmerce.lnv-vizmerce.lkv AS ingadozas
FROM
vizmerce
ORDER BY
ingadozas DESC;
-- 16. feladat:
SELECT
igazgatosag.nev,
COUNT(vizmerce.id) AS merceszam
FROM
igazgatosag INNER JOIN vizmerce
ON vizmerce.igId=igazgatosag.id
GROUP BY
igazgatosag.nev;
-- 17. feladat:
SELECT
AVG(meres.vizAllas) AS atlag
FROM
meres INNER JOIN vizmerce
ON meres.vmId=vizmerce.id
WHERE
MONTH(nap) = 4 AND vizmerce.varos='Szolnok';
Nincsenek megjegyzések:
Megjegyzés küldése