hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

Hasonló dokumentumok
3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

Kalapácsvetés 2016 szöveges

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)!

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

Mentsd el code file-t kektura.cs néven, illetve kiterjesztéssel! Másold be a kektura.csv állományt a Projects munkamappa megfelelő almappájába!

Tájékoztató. Használható segédeszköz: -

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK

C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

Bánsághi Anna 2014 Bánsághi Anna 1 of 35

BME MOGI Gépészeti informatika 13.

INFORMATIKAI ALAPISMERETEK

PROGRAMOZÁS ALAPFELADATOK

Tájékoztató. Használható segédeszköz: -

BME MOGI Gépészeti informatika 4.

MestInt gyakorlat visszalépéses keresés

Szoftvertervezés és -fejlesztés I.

Tájékoztató. Használható segédeszköz: -

Tájékoztató. Használható segédeszköz: -

Fájlkezelés. Szöveges fájlok kezelése

INFORMATIKAI ALAPISMERETEK

BME MOGI Gépészeti informatika 5.

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Informatika terméktervezőknek

Objektumorientált programozás C# nyelven

Tájékoztató. Használható segédeszköz: -

Java Programozás 1. Gy: Java alapok. Ismétlés ++

INFORMATIKAI ALAPISMERETEK

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

Java és web programozás

Bánsághi Anna

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Objektumorientált programozás C# nyelven

INFORMATIKAI ALAPISMERETEK

A C# PROGRAMOZÁSI NYELV

C# feladatgyűjtemény

Objektumorientált Programozás VI.

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

Tájékoztató. Használható segédeszköz: -

Adatszerkezetek és algoritmusok

Java gyakorlat feladatai e s megolda sai ( )

Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok

OOP: Java 8.Gy: Abstract osztályok, interfészek

OOP: Java 8.Gy: Gyakorlás

Szoftvertechnolo gia gyakorlat

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Objektumorientált Programozás VI.

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

A LEVENSHTEIN TÁVOLSÁG THE LEVENSHTEIN DISTANCE

A C# programozási nyelv alapjai

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

BME MOGI Gépészeti informatika 1.

OOP: Java 1.Gy: Java alapok

Java programozási nyelv 6. rész Java a gyakorlatban

Tájékoztató. Használható segédeszköz: -

Adatbázis rendszerek Gy: Algoritmusok C-ben

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Operációs rendszerek gyak.

3. Gyakorlat Ismerkedés a Java nyelvvel

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

INFORMATIKAI ALAPISMERETEK

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák

4. Gy: JAVA osztályok

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

1. Jelölje meg az összes igaz állítást a következők közül!

Elemi adatszerkezetek

Szöveges fájl kezelése (a Caesar-kód feltörése) A kód feltörésének statisztikai háttere

Java és web programozás

Programozási nyelvek Java

BME MOGI Gépészeti informatika 8.

Objektumorientált programozás C# nyelven

7. K: JAVA alapok Konzultáció

Objektum Orientált Programozás. 5. JAVA osztályok 21/1B IT MAN

Objektumorientált programozás C# nyelven III.

INFORMATIKAI ALAPISMERETEK

Objektumorientált programozás C# nyelven

Szoftvertervezés és -fejlesztés I.

INFORMATIKAI ALAPISMERETEK

C# feladatok gyűjteménye

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

BME MOGI Gépészeti informatika 6.

III. Adatszerkezetek és algoritmusok

Készítette: Nagy Tibor István

JAVA SE/ME tanfolyam tematika

Maximum kiválasztás tömbben

Java és web programozás

OOP: Java 4.Gy: Java osztályok

Bevezetés a programozásba. 11. Előadás: Esettanulmány

Eseményvezérelt alkalmazások fejlesztése II. A.NET keretrendszer és a C# programozási nyelv. Objektumorientált programozási nyelvek A Smalltalk nyelv

Objektum Orientált Programozás VII.

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás

Átírás:

Hiányzások Ebben a feladatban egy általános iskola 2017 szeptemberi hiányzásai tartalmazó szövegfájlt kell feldolgoznia. Az adatok a szeptember.csv állomány tartalmazza. Az állomány egy sorában egy tanuló hiányzása szerepel. Minden hiányzás esetében ismert a tanuló neve és osztálya, a hiányzás első és utolsó napja, valamint a mulasztott órák száma. A fájlban az adatok pontosvesszővel vannak elválasztva. Pl.: Török Béla, 3b osztályos tanuló, szeptember 4-én egy napot hiányzott, amivel 6 órát mulasztott. A megoldás során vegye figyelembe a következőket: Az ékezetmentes kiírás is elfogadott! A felhasználótól kapott adatokat nem kell ellenőriznie. A feladat jobb megértése érdekében tanulmányozza a mintákat is! Készítsen konzolos vagy grafikus programot Hianyzasok néven, amely az alábbi feladatokat oldja meg! 1. Tárolja el a fájlok tartalmát olyan adatszerkezetben, amivel a további feladatok megoldhatók! 2. Határozza meg, és írja ki a képernyőre, hogy a diákok összesen hány órát mulasztottak ebben a hónapban. 3. Kérjen be a felhasználótól egy napot 1 és 30 között egy tanuló nevét 4. Írja ki a képernyőre, hogy az előző feladatban beért tanulónak volt-e hiányzása! A A tanuló hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget jelenítse meg 5. Írja ki a képernyőre azon tanulók nevét és osztályát a minta szerint, akik a 3. feladatban bekért napon hiányoztak! (Ha a 3. feladatot nem tudta megoldani, akkor a 19-ei nappal dolgozzon!) Ha nem volt hiányzó, akkor a Nem volt hiányzó szöveget jelenítse meg! 6. Készítsen összesítést, amely osztályonként fájlba írja a mulasztott órák számát! Az osszesites.csv nevű fájl tartalmazza az osztályt és a mulasztott órák számának összegét! Minta:

Minta a 6. feladathoz Megoldás: using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace hianyzasok class Program struct hianyzas//készítsen összetett változót az adatok tárolására!

public string nev; public string osztaly; public int elsonap; public int utolsonap; public int mulasztottorak; static hianyzas[] adatok = new hianyzas[200];//az állományban legfeljebb 200 sor lehet. static void Main(string[] args) string[] fajlbol = File.ReadAllLines("szeptember.csv"); int sorokszama = 0;//sorok száma a fájlban int i, j;//ciklusváltozó for (int k = 1; k < fajlbol.count(); k++)//ügyeljen arra, hogy az állomány első sora az adatok fejlécét tartalmazza! string[] egysordarabolva = fajlbol[k].split(';');//az adatokat pontosvessző választja el. adatok[sorokszama].nev = egysordarabolva[0]; adatok[sorokszama].osztaly = egysordarabolva[1]; adatok[sorokszama].elsonap = Convert.ToInt32(egysordarabolva[2]); adatok[sorokszama].utolsonap = Convert.ToInt32(egysordarabolva[3]); adatok[sorokszama].mulasztottorak = Convert.ToInt32(egysordarabolva[4]); sorokszama++; int hianyzasokszama = sorokszama; Console.WriteLine("Az adatok listája fájlból"); Console.WriteLine(" Név Osztály Első nap Utolsó nap Mulasztott órák"); Console.WriteLine("0,-20 1,-10 2,-10 3,-10 4", adatok[i].nev, adatok[i].osztaly, adatok[i].elsonap, adatok[i].utolsonap, adatok[i].mulasztottorak); //2. Határozza meg, és írja ki a képernyőre, hogy a diákok összesen hány órát mulasztottak ebben a hónapban. //összegzés tétele double osszeshianyzas = 0; osszeshianyzas += adatok[i].mulasztottorak; Console.WriteLine("2. feladat\n\tösszes mulasztott órák száma: 0 óra", osszeshianyzas); /*3. Kérjen be a felhasználótól * egy napot 1 és 30 között * egy tanuló nevét */ int nap; string tanulonev; do Console.Write("3. feladat\n\tkérem adjon meg egy napot: "); nap = Convert.ToInt32(Console.ReadLine()); while (nap <= 0 nap >= 31); Console.Write("\tTanuló neve: "); tanulonev = Console.ReadLine(); /*4. Írja ki a képernyőre, hogy az előző feladatban beért tanulónak volt-e hiányzása! * A A tanuló hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget jelenítse meg */ //keresés tétele i = 0; while (i < hianyzasokszama && adatok[i].nev!=tanulonev) i++;

Console.WriteLine("\n4. feladat"); if (i < hianyzasokszama) Console.WriteLine("\tA tanuló hiányzott szeptemberben"); else Console.WriteLine("\tA tanuló nem hiányzott szeptemberben"); /*5. Írja ki a képernyőre azon tanulók nevét és osztályát a minta szerint, akik a 3. feladatban bekért napon hiányoztak! * (Ha a 3. feladatot nem tudta megoldani, akkor a 19-ei nappal dolgozzon!) * Ha nem volt hiányzó, akkor a Nem volt hiányzó szöveget jelenítse meg! */ //megszámlálás tétele int hianyzokszama = 0; Console.Write("\n5. feladat: Hiányzók 2017.09.0-n:\n",nap); if (adatok[i].elsonap <= nap && adatok[i].utolsonap >= nap) hianyzokszama++; Console.WriteLine("\t0 (1)",adatok[i].nev,adatok[i].osztaly); if (hianyzokszama == 0) Console.WriteLine("\tNem volt hiányzó"); /*6. Készítsen összesítést, amely osztályonként fájlba írja a mulasztott órák számát! * Az osszesites.csv nevű fájl tartalmazza az osztályt és a mulasztott órák számának összegét! */ //adott egy sorozat, határozzuk meg hány különböző eleme van és gyűjtsük ki egy tömbbe int kulonbozoelemekszama = 0; string[] osztalyok = new string[100]; int[] hianyzasossz = new int[100]; for (i = 0; i < 100; i++) hianyzasossz[i] = 0;//adatok nullázása j = 0; while ((j <= kulonbozoelemekszama) && (adatok[i].osztaly!= osztalyok[j])) j++; if (j > kulonbozoelemekszama) kulonbozoelemekszama++; osztalyok[kulonbozoelemekszama] = adatok[i].osztaly; //összegzés tétele for (int k = 1; k <= kulonbozoelemekszama; k++) if (osztalyok[k] == adatok[i].osztaly) hianyzasossz[k]+=adatok[i].mulasztottorak; Console.WriteLine("6. feladat:"); Console.WriteLine("\t0,1 óra ", osztalyok[i], hianyzasossz[i]); //sorbarendezés min kiválasztással int mini = 0; string min; int csere; for (i = 0; i <= kulonbozoelemekszama; i++) mini = i; min = osztalyok[i]; for (j = i; j <= kulonbozoelemekszama; j++)

int x = String.Compare(osztalyok[j], min); if (x < 0) mini = j; min = osztalyok[j]; //csere var s = osztalyok[i]; csere = hianyzasossz[i]; osztalyok[i] = osztalyok[mini]; hianyzasossz[i] = hianyzasossz[mini]; osztalyok[mini] = s; hianyzasossz[mini] = csere; Console.WriteLine("sorbarendezett adatok:"); Console.WriteLine("\t0,1 óra ", osztalyok[i], hianyzasossz[i]); FileStream fnev = new FileStream("osszesites.csv", FileMode.Create); StreamWriter fajlbairo = new StreamWriter(fnev); fajlbairo.write("0;", osztalyok[i]); fajlbairo.write("0", hianyzasossz[i]); fajlbairo.writeline("\n");//sortörés fajlbairo.close(); fnev.close(); Console.ReadKey();