2022. március 31., csütörtök

2022.03.31. Egyszámjáték, Napelemek megoldás

 using System;

using System.Collections.Generic;
using System.Linq;
using System.IO;

namespace Egyszamjatek
{
    class Jatekos
    {
        public string Nev { get; private set; }
        public List<int> Tippek { get; private set; }
        public Jatekos(string sor)
        {
            string[] m = sor.Split();
            Nev = m[0];
            Tippek = new List<int>();
            foreach (var i in m.Skip(1)) Tippek.Add(int.Parse(i));
        }
    }

    class Egyszamjatek
    {
        static void Main()
        {
            List<Jatekos> t = new List<Jatekos>();
            foreach (var i in File.ReadAllLines("egyszamjatek1.txt"))
t.Add(new Jatekos(i));

            Console.WriteLine($"3. feladat: Játékosok száma: {t.Count} fő");

            Console.Write($"4. feladat: Kérem a forduló sorszámát: ");
            int fordulóSorszáma = int.Parse(Console.ReadLine());

            Console.WriteLine($"5. feladat: A megadott forduló
tippjeinek átlaga: {t.Average(x=>x.Tippek[fordulóSorszáma -1]):F2}");

            Console.ReadKey();
        }
    }
}


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Controls;

namespace EgyszamjatekGUI
{
    class Jatekos
    {
        public string Nev { get; private set; }
        public List<int> Tippek { get; private set; }
        public int FordulokSzama { get { return Tippek.Count; } }
        public Jatekos(string sor)
        {
            string[] m = sor.Split();
            Nev = m[0];
            Tippek = new List<int>();
            foreach (var i in m.Skip(1)) Tippek.Add(int.Parse(i));
        }
    }

    public partial class MainWindow : Window
    {
        private List<Jatekos> jatekosok = new List<Jatekos>();

        public MainWindow()
        {
            InitializeComponent();
            AdatokBetoltese();
        }

        private void AdatokBetoltese()
        {
            foreach (var i in File.ReadAllLines("../../egyszamjatek2.txt"))
jatekosok.Add(new Jatekos(i));
        }

        private void JatekostHozzaad_Click(object sender, RoutedEventArgs e)
        {
            if (jatekosok.Exists(x => x.Nev == InputJatekos.Text))
            {
                MessageBox.Show("Van már ilyen nevű játékos!", "Hiba!");
                return;
            }
            if (jatekosok[0].FordulokSzama != InputTippek.Text.Split(' ').Where(x => x.Length != 0).ToList().Count)
            {
                MessageBox.Show("A tippek száma nem megfelelő!", "Hiba!");
                return;
            }

           
            try // nem a megoldás része
            {
                File.AppendAllText("../../egyszamjatek2.txt", $"{InputJatekos.Text}
{InputTippek.Text}\r\n");
                MessageBox.Show("Az állomány bővítése sikeres volt!", "Üzenet");
                InputJatekos.Text = "";
                InputTippek.Text = "";
                AdatokBetoltese();
            }
            catch (Exception ex) // nem a megoldás része
            {
                MessageBox.Show(ex.Message, "Hiba!");
            }
        }

        private void InputTippek_TextChanged(object sender, TextChangedEventArgs e)
        {
            TippDarab.Content = InputTippek.Text.Split(' ').Where(x => x.Length != 0).ToList().Count + " db";
        }
    }
}


<Window x:Class="EgyszamjatekGUI.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:EgyszamjatekGUI"
        mc:Ignorable="d"
        Title="Egyszámjáték GUI" Height="180" Width="500">
    <Canvas>
        <Label Content="Játékos neve" Canvas.Left="10" Canvas.Top="22" Name="jatekosNeve"/>
        <TextBox Canvas.Left="100" Canvas.Top="26" Width="200" Name="InputJatekos"/>
        <Label Content="Játékos tippjei" Canvas.Left="10" Canvas.Top="52" Name="JatekosTippjei"/>
        <TextBox Canvas.Left="100" Canvas.Top="56" Width="300" Name="InputTippek" TextChanged="InputTippek_TextChanged"/>
        <Label Content="0 db" Canvas.Left="417" Canvas.Top="52" Name="TippDarab"/>
        <Button Content="Játékos hozzáadása" Canvas.Left="150" Canvas.Top="100" Width="200" Name="JatekostHozzaad" Click="JatekostHozzaad_Click"/>
    </Canvas>
</Window>


-- A feladatok megoldására elkészített SQL parancsokat illessze be a feladat sorszáma után!


-- 1. feladat:
CREATE DATABASE napelem
    DEFAULT CHARACTER SET utf8
        COLLATE utf8_hungarian_ci;

-- 3. feladat:
UPDATE
    regiok
SET
    regioNev='Észak-Írország'
WHERE
    regioNev='Észak Írország';

-- 4. feladat:
SELECT
    COUNT(id) AS rekordszam,
    AVG(perc) AS atlag
FROM
    meresek;


-- 5. feladat:
SELECT
    ev,
    SUM(perc)/60 AS orak
FROM
    meresek INNER JOIN regiok ON meresek.regioId=regiok.id
WHERE
    regiok.regioNev='Anglia'
    AND
    ev BETWEEN 1990 AND 2000
GROUP BY
    ev
ORDER BY
    ev DESC;

-- 6. feladat:
SELECT
    ev,
    perc,
    regioNev AS terulet
FROM
    meresek INNER JOIN regiok ON meresek.regioId=regiok.id
WHERE
    ho=2
    AND
    perc>6000
ORDER BY
    perc DESC;

Nincsenek megjegyzések:

Megjegyzés küldése