2018. január 29., hétfő

2018.01.29. Gyakorlás

Az előző programozás feladatsort kiegészítettem, azt kell befejezni.
A megoldáshoz szükséges átismételni a string műveleteket innen.
Házi feladat újra megtanulni, melyik függvény mit tud, illetve
otthon be kell fejezni a feladatsor megoldását - szerdára.

2018.01.29. Szoftverek

Vettük a szoftveres témakört. Számonkérés: jövő kedden.

2018. január 24., szerda

2018. január 23., kedd

2018.01.23. Gyakorlás

Önálló feladatmegoldás az előző bejegyzések segítségével.

1. Hozz létre egy szövegfájlt, amiben 5 autó következő 3 adatát tárolod:
- autó gyártója és típusa
- évjárat
- futott km

2. Olvasd be a fájlt, és tárold 3 tömbben az adatokat.
3. Írj egy kiíró metódust, ami kiírja a képernyőre az egyes autók összetartozó adatait; egy sorba egy autót.
4. Írj egy paraméteres kiíró metódust, ami kiírja a főprogramban választható szám tömb adatait.
5. Írj egy függvényt, aminek segítségével a főprogram kiírja a legtöbb kilométert futott autóhoz tartozó futott km értékét.
6. Írj egy paraméteres függvényt, aminek segítségével a főprogram kiírja az ABC-ben legelöl levő autó gyártóját és típusát. (Az eredeti sorrendet a tömbben ne változtasd meg.)
7. Írj egy függvényt, ami kiszámolja a futott kilométerek átlagát.
8. Írj egy függvényt, ami egy új tömbbe átmásolja a 2000 előtti évjáratú autók évjáratát. A függvény adja vissza a főprogramnak, hogy hány adatot másolt át. Az átmásolt adatokat írasd ki a 4. feladatban megírt metódussal.
9. Írd ki egy új fájlba (info.txt) az autók összesített futott km értékét. A szöveg: „ 501234 km-t futott együtt az összes autó.” (A szám helyére a kiszámolt érték kerül.) Ne zárd le a fájlt, mert a következő feladat is abba ír.
10. Írd ki az előző fájl következő sorába azt az információt, hogy az autók között van-e legalább egy FORD. (Használd az eldöntés tételét. A kiírás szövege: „Van Ford”. / ”Nincs Ford.”) Zárd le a fájlt.

11. Vizsgáld meg az autók futott km adatait. Írd ki egy új fájlba (szerviz.txt) minden autó szöveges adatát, és mellé egy szöveget – a következők szerint. Ahol a futott km érték 100000 km fölötti, az az autó szervízbe megy. Ahol 50000 és 100000 között van, azt írod mellé, hogy karbantartás; és ami 50000 alatt van, azt kell írni, hogy nincs teendő. Ettől eltérő érték esetén jelezzünk hibát. Ezt a feladatot gyakorlásképpen kétféle módszerrel is oldd meg: egymásba ágyazott kétágú szelekciókkal, illetve többágú szelekcióval. Mindkét módszerrel kiszámolt eredményhalmaz kerüljön a fájlba.

2018.01.23. FÜGGVÉNYEK, PARAMÉTERES FÜGGVÉNYEK

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace fuggvenyek
{
    class Program
    {   
        static string[] nevek = new string[8];
        static int[] korok = new int[8];
        static int[] szuletes = new int[8];

        static void kiirNevek()
        {
            for (int i = 0; i < nevek.Length; i++)
            {
                 Console.WriteLine(nevek[i]);
            }
        }

        static void kiirSzamok(int[] szamTomb) //paraméteres metódus; tömb átvétele paraméterként
        {
            for (int i = 0; i < szamTomb.Length; i++)
            {
                 Console.WriteLine(szamTomb[i]);
            }
        }
       
        static void kiirMindent()
        {
            for (int i = 0; i < nevek.Length; i++)
            {
                Console.WriteLine("{0}, {1}, {2}",nevek[i], korok[i], szuletes[i]);
            }
        }
        static void szuletesiEvSzamolo()
        {
            for (int i = 0; i < korok.Length; i++)
            {
                 szuletes[i] = 2017-korok[i];
            }
        }

        static void csere(int elsoSzam, int masodikSzam) //paraméteres metódus, 2 változó átvétele paraméterként
        {
            //Csere: cseréljük meg az első diákot az utolsóval
            //(mindkét tömbben, hogy az adataik összetartozzanak utána is)

            string nevCsere = nevek[elsoSzam];
            nevek[elsoSzam] = nevek[masodikSzam];
            nevek[masodikSzam] = nevCsere;

            int korCsere = korok[elsoSzam];
            korok[elsoSzam] = korok[masodikSzam];
            korok[masodikSzam] = korCsere;
           
            int szuletesCsere = szuletes[elsoSzam];
            szuletes[elsoSzam] = szuletes[masodikSzam];
            szuletes[masodikSzam] = szuletesCsere;
        }

        static int minimumKeresesKor() //függvény
        {
            int min = korok[0];
            for (int i = 1; i < korok.Length; i++)
                if (korok[i] < min)
                    min = korok[i];
            return min; //visszatérési érték: min
        }

        static int maximumKereses(int[] tomb) //paraméteres függvény; tömb átvétele paraméterként
        {
            int max = tomb[0];
            for (int i = 0; i < tomb.Length; i++)
                if (tomb[i] > max)
                    max = tomb[i];
            return max; //visszatérési érték: max
        }


        static void Main(string[] args)
        {
            StreamReader sr = new StreamReader("diakok.txt");
            string[] atmeneti;
            int i = 0;
            while (!sr.EndOfStream)
            {
                atmeneti = sr.ReadLine().Split(',');
                nevek[i] = atmeneti[0];
                korok[i] = Convert.ToInt32(atmeneti[1]);
                i++;
            }
            sr.Close();
            kiirNevek();
            kiirSzamok(korok); //a korokat tartalmazó tömb átadása paraméterként
            szuletesiEvSzamolo();//feltöltjük a születési évek tömbjét
            kiirSzamok(szuletes);//a születési éveket tartalmazó tömb átadása paraméterként

            StreamWriter nagybetus = new StreamWriter("nagy.txt");
            for (int j = 0; j < korok.Length; j++)
            {
                nagybetus.WriteLine(nevek[j].ToUpper());
            }
            nagybetus.Close();


            Console.WriteLine("Mely tanulók adatait szeretné megcserélni? (0-7) ");
            Console.Write("Első tanuló indexe:");
            int szam1 = Convert.ToInt32(Console.ReadLine());
            Console.Write("Második tanuló indexe:");
            int szam2 = Convert.ToInt32(Console.ReadLine());
            csere(szam1, szam2);
            kiirMindent();

            Console.WriteLine("A legfiatalabb tanuló kora: {0}", minimumKeresesKor());

            Console.Write("A maximális kort, vagy a maximális születési időt szeretné megtudni? (kor/születési idő ");
            string valasztas = Console.ReadLine();
            if (valasztas == "kor")
            {
                Console.WriteLine("A maximális kor: {0}", maximumKereses(korok)); //tömb átadása paraméterként egy függvénynek; a visszaadott értéket kiírjuk
            }
            else
            {
                if (valasztas == "születési idő")
                {
                    Console.WriteLine("A maximális születési idő: {0}", maximumKereses(szuletes)); //tömb átadása paraméterként egy függvénynek; a visszaadott értéket kiírjuk
                }
                else
                {
                    Console.WriteLine("Hibás adatbevitel!");
                }
            }


            Console.ReadLine();
        }
    }
}


2018.01.23. PARAMÉTEREK - Tömb átadása paraméterként

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace parameterII
{
    class Program
    {   
        static string[] nevek = new string[8];
        static int[] korok = new int[8];
        static int[] szuletes = new int[8];

        static void kiirNevek()
        {
            for (int i = 0; i < nevek.Length; i++)
            {
                 Console.WriteLine(nevek[i]);
            }
        }

        static void kiirSzamok(int[] szamTomb) //tömb átvétele paraméterként
        {
            for (int i = 0; i < szamTomb.Length; i++)
            {
                 Console.WriteLine(szamTomb[i]);
            }
        }
       
        static void kiirMindent()
        {
            for (int i = 0; i < nevek.Length; i++)
            {
                Console.WriteLine("{0}, {1}, {2}",nevek[i], korok[i], szuletes[i]);
            }
        }
        static void szuletesiEvSzamolo()
        {
            for (int i = 0; i < korok.Length; i++)
            {
                 szuletes[i] = 2017-korok[i];
            }
        }

        static void csere(int elsoSzam, int masodikSzam)
        {
            //Csere: cseréljük meg az első diákot az utolsóval
            //(mindkét tömbben, hogy az adataik összetartozzanak utána is.)

            string nevCsere = nevek[elsoSzam];
            nevek[elsoSzam] = nevek[masodikSzam];
            nevek[masodikSzam] = nevCsere;

            int korCsere = korok[elsoSzam];
            korok[elsoSzam] = korok[masodikSzam];
            korok[masodikSzam] = korCsere;
           
            int szuletesCsere = szuletes[elsoSzam];
            szuletes[elsoSzam] = szuletes[masodikSzam];
            szuletes[masodikSzam] = szuletesCsere;
        }

        static void Main(string[] args)
        {
            StreamReader sr = new StreamReader("diakok.txt");
            string[] atmeneti;
            int i = 0;
            while (!sr.EndOfStream)
            {
                atmeneti = sr.ReadLine().Split(',');
                nevek[i] = atmeneti[0];
                korok[i] = Convert.ToInt32(atmeneti[1]);
                i++;
            }
            sr.Close();
            kiirNevek();
            kiirSzamok(korok); //a korokat tartalmazó tömb átadása paraméterként
            szuletesiEvSzamolo();//feltöltjük a születési évek tömbjét
            kiirSzamok(szuletes);//a születési éveket tartalmazó tömb átadása paraméterként

            StreamWriter nagybetus = new StreamWriter("nagy.txt");
            for (int j = 0; j < korok.Length; j++)
            {
                nagybetus.WriteLine(nevek[j].ToUpper());
            }
            nagybetus.Close();


            Console.WriteLine("Mely tanulók adatait szeretné megcserélni? (0-7) ");
            Console.Write("Első tanuló indexe:");
            int szam1 = Convert.ToInt32(Console.ReadLine());
            Console.Write("Második tanuló indexe:");
            int szam2 = Convert.ToInt32(Console.ReadLine());
            csere(szam1, szam2);
            kiirMindent();

            Console.ReadLine();
        }
    }
}


2018. január 22., hétfő

2018.01.22. PARAMÉTEREK

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace fajlKezelesBonyolultabbPluszCsere
{
    class Program
    {   
        static string[] nevek = new string[8];
        static int[] korok = new int[8];


        static void kiir()
        {
            for (int i = 0; i < nevek.Length; i++)
            {
                 Console.WriteLine("{0}, {1}",nevek[i], korok[i]);
            }
        }

        static void csere(int elsoSzam, int masodikSzam)
        {
            //Csere: cseréljük meg az első diákot az utolsóval
            //(mindkét tömbben, hogy az adataik összetartozzanak utána is.)

            string nevCsere = nevek[elsoSzam];
            nevek[elsoSzam] = nevek[masodikSzam];
            nevek[masodikSzam] = nevCsere;

            int korCsere = korok[elsoSzam];
            korok[elsoSzam] = korok[masodikSzam];
            korok[masodikSzam] = korCsere;
        }

        static void Main(string[] args)
        {
            StreamReader sr = new StreamReader("diakok.txt");
            string[] atmeneti;
            int i = 0;
            while (!sr.EndOfStream)
            {
                atmeneti = sr.ReadLine().Split(',');
                nevek[i] = atmeneti[0];
                korok[i] = Convert.ToInt32(atmeneti[1]);
                i++;
            }
            sr.Close();
            kiir();

            StreamWriter nagybetus = new StreamWriter("nagy.txt");
            for (int j = 0; j < korok.Length; j++)
            {
                nagybetus.WriteLine(nevek[j].ToUpper());
            }
            nagybetus.Close();


            Console.WriteLine("Mely tanulók adatait szeretné megcserélni? (0-7) ");
            Console.Write("Első tanuló indexe:");
            int szam1 = Convert.ToInt32(Console.ReadLine());
            Console.Write("Második tanuló indexe:");
            int szam2 = Convert.ToInt32(Console.ReadLine());
            csere(szam1, szam2);
            kiir();

            Console.ReadLine();
        }
    }
}