2023.02.03. Városok - OOP mintaprogram

 using System;

using System.IO;
using System.Linq;
using System.Collections.Generic;
namespace VarosKereso
{
    class Varos
    {
        public string Varosnev;
        public int Lakosokszama;
        public int Tavolsag;
        public string Megyeszekhely;
        public Varos(string sor)
        {
            List<string> atmeneti = sor.Split(" ").ToList();
            Varosnev = atmeneti[0];
            Lakosokszama = Convert.ToInt32(atmeneti[1]);
            Tavolsag = Convert.ToInt32(atmeneti[2]);
            if (atmeneti.Count < 4)
            {
                Megyeszekhely = "Igen";
            }
            else
            {
                Megyeszekhely = "Nem"; //feltételeztük, hogy jó volt a fájl tartalma
            }
        }
        public string kiiras() //ez egyetlen várost tud kezelni egyszerre
        {
            string ki = $"Település neve: {Varosnev}, Lakosok száma: {Lakosokszama} fő, Budapesttől való távolság: {Tavolsag} km, Megyeszékhely? {Megyeszekhely}";
            return ki;
        }
    }
    class Program
    {
        static string legtavolabbi(List<Varos> v)
        {
            int max = v[0].Tavolsag;
            int index = 0;
            for (int i = 1; i < v.Count; i++)
            {
                if (max < v[i].Tavolsag)
                {
                    max = v[i].Tavolsag;
                    index = i;
                }
            }
            return v[index].Varosnev;
        }
        static string lakszamFelett(List<Varos> v, int b)
        {
            string lakFelettKiir = String.Empty;
            bool van = false;
            for (int i = 0; i < v.Count; i++)
            {
                if (b < v[i].Lakosokszama)
                {
                    lakFelettKiir += v[i].kiiras() + "\n";
                    van = true;
                }
            }
            if (!van)
            {
                lakFelettKiir = "Nincs az ön által megadott lakosságszámnál nagyobb lakosszámmal rendelkező település.";
            }
            return lakFelettKiir;
        }
        static void fajlkiiras(List<Varos> a)
        {
            StreamWriter sw = new StreamWriter("Varos1.txt");
            for (int i = 0; i < a.Count; i++)
            {
                if (a[i].Megyeszekhely == "Nem")
                {
                    sw.WriteLine($"{a[i].Varosnev.ToUpper()},Nem megyeszékhely");
                }
                else
                {
                    sw.WriteLine($"{a[i].Varosnev.ToUpper()},Megyeszékhely");
                }
            }
            sw.Close();
        }

        static void Main(string[] args)
        {
            //A program neve legyen: varosok.
            //A tanult objektum-orientált programszerkezetet használd a megoldásnál.
            //Minden képernyőre író feladat előtt írjuk ki a főprogramban a feladat sorszámát.
            //A fájl most 5 sort tartalmaz, de a programod készüljön fel arra,
            //hogy hosszabb, és más tartalmú fájlt is fel tudjon dolgozni.
            //A programban városok adatait tároljuk.
            //Az adatok soronként: a város neve, lakosainak száma, Budapesttől mért távolsága,
            //illetve amelyik város nem megyeszékhely, ott még ez is szerepel: NO.
            //Ez legyen a varosok.txt tartalma:
            /*
            Békéscsaba 59000 210
            Szolnok 72000 119
            Kecskemét 112000 93
            Nyíregyháza 118000 230 NO
            Miskolc 164000 182
            */
            //1.feladat:
            Console.WriteLine("1. feladat\nBeolvasás");
            //Olvasd be a fájlt, és tárold a tartalmát egy osztálypéldányokat tartalmazó listában.
            List<Varos> varosok = new List<Varos>();
            foreach (var item in File.ReadAllLines("varosok.txt"))
            {
                varosok.Add(new Varos(item));
            }
            //2.feladat:
            //Írd ki az adatokat a képernyőre, egy sorba egy város adatait.  
            Console.WriteLine("2. feladat\nÖsszes adat kiírása");
            for (int i = 0; i < varosok.Count; i++)
            {
                Console.WriteLine(varosok[i].kiiras());
            }
            //3.feladat:
            Console.WriteLine("3. feladat\nNem megyeszékhelyek neve, népessége");
            //Írd ki a képernyőre annak a városnak a nevét, és a népességét, amely nem megyeszékhely.
            //(Ha több ilyen lenne, mindet ki kéne írni.) Ha nincs ilyen, írj ki hibaüzenetet.
            bool megyeszhely = false;
            for (int i = 0; i < varosok.Count; i++)
            {
                if (varosok[i].Megyeszekhely == "Nem")
                {
                    Console.WriteLine($"{varosok[i].Varosnev}, {varosok[i].Lakosokszama}");
                    megyeszhely = true;
                }
            }
            if (megyeszhely == false)
            {
                Console.WriteLine("Nincs olyan település a listában, amely nem megyeszékhely!");
            }
            //4.feladat:
            //Írd ki a Budapesttől legtávolabbi város nevét a képernyőre. A feladatot lehetőleg függvénnyel valósítsd meg.
            //Ha nem függvénnyel valósítod meg, kaphatsz részpontokat.        
            Console.WriteLine("4. feladat\nLegtávolabbi város nevének kiíratása...");
            Console.WriteLine(legtavolabbi(varosok));
            //vagy szájbarágósabban:
            Console.WriteLine("4. feladat\nLegtávolabbi város nevének kiíratása once more...");
            string nev = legtavolabbi(varosok);
            Console.WriteLine(nev);
            //5.feladat:
            //Írd ki a legkevesebb lakosú város nevét a képernyőre. Nem kötelező metódust használni.
            Console.WriteLine("5. feladat\nLegkevesebb lakosú város nevének kiíratása...");
            int min = varosok[0].Lakosokszama;
            int index = 0;
            for (int i = 0; i < varosok.Count; i++)
            {
                if (min > varosok[i].Lakosokszama)
                {
                    min = varosok[i].Lakosokszama;
                    index = i;
                }
            }
            Console.WriteLine(varosok[index].Varosnev);
            //6.feladat:
            //Kérd meg a felhasználót a főprogramban, hogy adjon meg egy lakosságszámot.
            //Írd ki a felhasználó által beírt értéknél nagyobb lakosságú városok adatait, soronként egyet.
            //Ha nincs ilyen, írj ki hibaüzenetet.
            Console.WriteLine("6. feladat\nBekért értéknél nagyobb lakosságú városok összes adata");
            Console.Write("Kérek egy értéket: ");
            int bekert = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine(lakszamFelett(varosok, bekert));
            //7.feladat:
            //Döntsd el, hogy van-e 180 km-nél távolabbi város. Ha találsz ilyet,
            //írd ki az elsőnek a nevét és a hozzá tartozó km-t.
            //Ha nincs ilyen, írj ki hibaüzenetet.
            Console.WriteLine("7. feladat\n180 km-nél távolabbi városok kilistázása...");

            bool megfelel = false;
            int k = 0;
            while (k < varosok.Count && !megfelel)
            {
                if (varosok[k].Tavolsag > 180)
                {
                    megfelel = true;
                }
                k++;
            }
            if (megfelel)
            {
                Console.WriteLine($"{varosok[k - 1].Varosnev} az az első település amely Budapesttől 180 kilométeren túl helyezkedik el! A távolság {varosok[k - 1].Tavolsag} kilométer.");
            }
            else
            {
                Console.WriteLine($"HIBA! Nincsen olyan település az adatok között, amely Budapesttől messzebb lenne, mint 180 kilométer");
            }
            //8. feladat:
            //Írd ki egy új fájlba a városok neveit nagybetűsen,
            //mögéjük vesszővel elválasztva azt a szót,
            //hogy megyeszékhely/nem megyeszékhely
            //(a valóságnak megfelelően).
            Console.WriteLine("8. feladat\nVárosok kiíratása fájlba...");
            fajlkiiras(varosok);
            Console.WriteLine("A program bezárásához nyomjon meg egy billentyűt...");
            Console.ReadLine();
        }
    }
}

2023.02.02. SQL DML parancsok

Ma elkezdtük a Napsütés adatbázist, itt folytatjuk. 

mySQL DML (Data Manipulation Language) parancsok 

INSERT INTO
UPDATE - SET
DELETE

PÉLDÁK

/*9. Rögzíts egy új rekordot a processzor táblába 54-es azonosítóval,
a gyártó AMD legyen, a típus pedig Ryzen 5 5600X.*/
INSERT INTO `processzor` (`id`, `gyarto`, `tipus`) VALUES (54, 'AMD', 'Ryzen 5 5600X ');

/*10. Módosítsd az oprendszer táblában az operációs rendszer nevét tartalmazó
mező értéét Unixra, ahol az eredeti érték Linux.*/
UPDATE oprendszer SET nev='Unix'
WHERE nev='Linux';

/*11. Töröld a gépek közül a 246-os azonosítójú terméket.*/
DELETE FROM gep
WHERE id = 246;

TISZTA FORRÁS


2023.02.02. WEB - Napelemek megoldás

  Tudnivalók:

HTML EVENTS (html oldalon bekövetkező események) pl.: onfocus, oninput, onclick, onmouseout

Zeal-ben keresni! ÉS helyi menü!

Ellenőriztük a megoldást.

2024.02.15.-16. Helyettesítés

 Adatbázis: vizsgaremek adatbázisának befejezése teljesen készre, dokumentáció kiegészítése, befejezése. Vizsgaremek felületének megvalósítá...