Szöveges fájlok kezelése String műveletek Feladatok

Slides:



Advertisements
Hasonló előadás
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Advertisements

LINUX/UNIX PARANCSOK.
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Sztringek.
Sztringek  Az fscanf() és a fprintf() függvényeknél a %s-es formátumtagot kell használni.  A %s formátumtag az első white space karakterig folytatja,
Bevezetés a Java programozásba
Bevezetés a Java programozásba
Bevezetés a Java programozásba
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
Tömbök ismétlés Osztályok Java-ban Garbage collection
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
Borland C/C++ mintapéldák fájlokra. 1. példa Írjon olyan programot,amely megnyit egy hw.txt fájlt és írja bele a Hello világ szöveget. Ez után zárja le.
Programozás I. Horváth Ernő.
C# tagfüggvények.
Web-grafika (VRML) 10. gyakorlat Kereszty Gábor. Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Operációs rendszerek gyakorlat sed, awk parancsok.
Microsoft Excel Függvények II.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
V 1.0 ÓE-NIK, Programozás I. A Microsoft Visual Studio 2010 használata.
Összetett adattípusok
Grafikus tervezőrendszerek programozása 8. előadás.
Összetett adattípusok a Pascal nyelvben
Programozási nyelvek Páll Boglárka.
Feladat: 1.Írjunk eljárást amely egy paraméterként megadott stringből kitörli az összes ‘b’ betűt. 2.Írjunk eljárást amely beolvassa egy személy adatait.
2012. tavaszi félév Véső Tamás Véső Tamás OE­NIK / 29.
J.Zs.Cs.: Vizuális programozás (c) 2010 Vizuális programozás Fájl- és állományrendszer kezelés Névtér: System.IO.
Rendezések és szövegkezelő függvények
Fájlkezelés Pascalban
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
Készítette: Csíki Gyula
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Visual Basic 2008 Express Edition
Java programozási nyelv Filekezelés
Komoróczy Tamás 1 Java programozási nyelv Stringek.
Java programozási nyelv Metódusok
Java programozási nyelv Adatbekérés konzolról
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
Programozás I. Típus algoritmusok
Programozás I. Matematikai lehetőségek Műveletek tömbökkel
V 1.0 ÓE-NIK-AII, Programozás I. Karaktersorozatok Feladatok.
Operátorok Vezérlési szerkezetek Gyakorlás
Power Lutár Patrícia Pellek Krisztián.  -ltLess than  -leLess than or equal to  -gtGreater than  -geGreater than or equal to  -eqEqual to  -neNot.
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Fájlkezelés Programozási tételek
Informatikai gyakorlatok 11. évfolyam
Programozás I. Microsoft Visual Studio 2012 Hello C# World!
V 1.0 OE-NIK-AII, Programozás I. Szöveges fájlok kezelése String műveletek Feladatok.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
V 1.0 OE-NIK, Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok.
V 1.01 Szoftverfejlesztés párhuzamos és elosztott környezetben.
Szöveges fájlok kezelése
Objektum-orientált programozás Stringműveletek
Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök
C# SZINTAKTIKÁJA Az egyes utasítások végén pontosvessző áll
Programozás C# -ban Elágazások.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
A CLIPS keretrendszer
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Változók.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
B M Java Programozás 1. Gy: Java alapok IT A N Ismétlés ++
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Folyamatok.
Előadás másolata:

Szöveges fájlok kezelése String műveletek Feladatok Programozás I. Szöveges fájlok kezelése String műveletek Feladatok OE-NIK-AII, 2014

Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges, de nem elégséges feltétele a sikeres zárthelyinek, illetve vizsgának. Sikeres zárthelyihez, illetve vizsgához a jelen bemutató tartalmán felül a kötelező irodalomként megjelölt anyag, a gyakorlatokon szóban, illetve a táblán átadott tudnivalók ismerete, valamint a gyakorlatokon megoldott példák és az otthoni feldolgozás céljából kiadott feladatok önálló megoldásának képessége is szükséges. OE-NIK-AII, 2014

Szöveges fájlok kezelése String műveletek Feladatok Programozás I. Szöveges fájlok kezelése String műveletek Feladatok OE-NIK-AII, 2014

Szöveges fájlok kezelése A szöveges fájlok egyes soraiban stringek találhatók A fájlokat soronként elölről hátrafelé haladva tudjuk bejárni A fájlt háromféle módon nyithatjuk meg Olvasás: Ilyen esetben soronként ki tudjuk olvasni a fájl tartalmát Írás: Ilyenkor új fájl jön létre, melybe soronként írhatunk, vagy a már létező fájl törlődik és egy ugyanolyan nevű új fájlba írhatunk soronként Hozzáfűzés: Ekkor a fájlunk végére tudunk új sorokat írni A fájlkezelés végén a fájlt kötelező bezárnunk A fájlműveletek a System.IO névtérben találhatók OE-NIK-AII, 2014

Fájl olvasása A StreamReader osztályt kell használnunk StreamReader sr = new StreamReader("fajlnev.txt"); Egy sor kiolvasása a fájlból string s = sr.ReadLine(); Fájl végének ellenőrzése sr.EndOfStream Fájl bezárása sr.Close(); StreamReader sr = new StreamReader("fajlnev.txt"); while (!sr.EndOfStream) { string s = sr.ReadLine(); Console.WriteLine(s); } sr.Close(); OE-NIK-AII, 2014

Fájl írása A StreamWriter osztályt kell használnunk StreamWriter sw = new StreamWriter("fajlnev.txt"); Egy sor kiírása a fájlba sw.WriteLine(s); Fájl bezárása sw.Close(); StreamWriter sw = new StreamWriter("fajlnev.txt"); foreach (string s in sTomb) { sw.WriteLine(s); } sw.Close(); OE-NIK-AII, 2014

Hozzáfűzés és karakterkódolás Ha hozzá akarunk fűzni már létező fájlhoz, akkor a fájl megnyitásakor kell ezt megadnunk StreamWriter sw = new StreamWriter("fajlnev.txt", true); false használata felülírást eredményez StreamWriter sw = new StreamWriter("fajlnev.txt", false); A szövegfájlok karakterkódolása a mentő programtól, beállítástól függhet A StreamWriter-t úgy kell megnyitni, hogy a szövegfájlénak megfelelő karakterkódolásban olvasson Alapértelmezetten UTF-8-ban próbál olvasni StreamWriter megnyitása karakterkódolás megadásával: StreamWriter sw = new StreamWriter("fajlnev.txt", Encoding.Default); A Default nem az UTF8-at, hanem a rendszer alapértelmezettjét (ANSI kódtábla) jelenti! OE-NIK-AII, 2014

Elérési út megadása A fájlnév megadásánál megadhatunk abszolút elérési utat: StreamWriter sw = new StreamWriter("c:\\hallgato\\fajlnev.txt"); StreamWriter sw = new StreamWriter(@"c:\hallgato\fajlnev.txt"); Nem ajánlott, más rendszeren nem lesz pontosan azon a helyen a fájl Relatív elérési út megadása: StreamWriter sw = new StreamWriter("fajlnev.txt"); StreamWriter sw = new StreamWriter("szovegek\\fajlnev.txt"); Ez a megadott nevű fájlt a munkakönyvtárban (working directory) keresi A munkakönyvtár egyszerű esetben az a könyvtár, ahol az exe van OE-NIK-AII, 2014

Feladatok Egy string tömbbe olvassa be egy szöveges fájl sorait, majd a sorokat írja ki a konzolra! Határozza meg, hogy hány sora van a beolvasott fájlnak, illetve hány betű található benne. A fájl végére írjon két új sort, mely ezeket az adatokat tartalmazzák! Olvasson be egy fájlt, majd a beolvasott szöveget alakítsa át úgy, hogy csak a betűket és számokat tartsa meg. Az eredménnyel írja felül az eredeti fájlt! OE-NIK-AII, 2014

Szöveges fájlok kezelése String műveletek Feladatok Programozás I. Szöveges fájlok kezelése String műveletek Feladatok OE-NIK-AII, 2014

Műveletek karaktersorozatokkal A karaktersorozat („string”) karakterek halmazaként is felfogható Mivel gyakran használt, igen fontos típusról van szó, rengeteg beépített segédfunkció áll rendelkezésre hozzá Néhány kiemelt művelet és segédfunkció: Összekapcsolás (+ operátor) Részsorozat kiválasztása (Substring függvény) Részsorozat keresése (IndexOf /LastIndexOf, Contains) Konverziók (változónév.ToString() és típusnév.Parse() ) Kis- és nagybetűs formára alakítás (ToUpper, ToLower) Formázott megjelenítés (String.Format) Karaktersorozat kezelése karakterenként OE-NIK-AII, 2014

Műveletek karaktersorozatokkal Összekapcsolás class Összekapcsolás { static void Main() string str1 = "Szervusz"; string str2 = "C#"; string str3 = "világ!"; string str4 = str1 + ", " + str2 + " " + str3; System.Console.WriteLine(str4); } OE-NIK-AII, 2014

Műveletek karaktersorozatokkal int proba = 0; string be; do { Console.Write(proba + ". próba: "); be = Console.ReadLine(); proba++; } while (be == ""); Console.Write(proba + 1 + ". próba: "); Console.Write("A(z) " + proba + 1 + ". próba: "); Console.Write("A(z) " + (proba + 1) + ". próba: "); Console.Write(proba + ". próba: ");  0, 1, 2 Console.Write(proba + 1 + ". próba: ");  1, 2, 3 Console.Write("A(z) " + proba + 1 + ". próba: ");  az első összeadás miatt string  01, 11, 21 Console.Write("A(z) " + (proba + 1) + ". próba: ");  1, 2, 3 OE-NIK-AII, 2014

Műveletek karaktersorozatokkal Metódusok hívása: stringváltozó.valami(); Előtte inicializálni kell a változót A forrásváltozót a metódus hívása NEM módosítja, a művelet eredménye a kimenetben lesz stringváltozó=stringváltozó.valami();  visszaírás stringváltozó2=stringváltozó.valami();  átírás Az első karakter sorszáma: 0 OE-NIK-AII, 2014

Műveletek karaktersorozatokkal class Részsorozat { static void Main() string s1, s2; s1 = "Hello, World"; s2 = s1.Substring(7, 5); // Kezdő index: 0 System.Console.WriteLine(s2); } OE-NIK-AII, 2014

Műveletek karaktersorozatokkal Részsorozat keresése: IndexOf(substr) / Contains(substr) class Keresés { static void Main() int i; string s1; s1 = "Ez egy karaktersorozat"; i = s1.IndexOf("karakter"); System.Console.WriteLine(i); i = s1.IndexOf("egy"); i = s1.IndexOf("ez nincs benne"); } OE-NIK-AII, 2014

Műveletek karaktersorozatokkal Konverziók A stringgé történő konverzió a C# nyelven MINDEN változónál ugyanúgy történik: byte b=250; float f=3.14f; string s1=b.ToString(); string s2=f.ToString(); Stringből számmá tudunk konvertálni: string s="123"; string s2="123,456"; byte b=byte.Parse(s); float f=float.Parse(s2); OE-NIK-AII, 2014

Műveletek karaktersorozatokkal Kis- és nagybetűs formára alakítás class CsupaKisÉsNagybetű { static void Main() int i; string s; i = 1982; s = "Lajos születési éve " + i; System.Console.WriteLine(s.ToUpper()); System.Console.WriteLine(s.ToLower()); } OE-NIK-AII, 2014

Műveletek karaktersorozatokkal Formázott megjelenítés string mi = "árvíztűrő tükörfúrógép"; string milyen = "legjobb"; int db = 123; float ar = 2.5f;   string kimenet = string.Format("Ha nekem {0, 5} darab {1}em lenne {2:F} forintért, az lenne a {3}", db, mi, ar, milyen); Console.WriteLine(kimenet);  Ha nekem 123 darab árvíztűrő tükörfúrógépem lenne 2,50 forintért, az lenne a legjobb OE-NIK-AII, 2014

Műveletek karaktersorozatokkal Formázott megjelenítés vezérlőkarakterei Kód Számtípus Magyarázat Példa C Egész és valós Helyi pénznem formázási szabályai szerinti kijelzés 1 435,5 Ft (Magyarország) $1435.5 (USA) D Csak egész Általános egész szám 1435 E Tudományos jelölésmód 1,4355E+003 (Magyarország) 1.4355E+003 (USA) F Fixpontos decimális számkijelzés 1435,50 (Magyarország) 1435.50 (USA) G Általános számkijelzés 1435,5 (Magyarország) 1435.5 (USA) N Helyi területi beállítások szerinti számkijelzés 1 435,500 (Magyarország) 1,435.500 (USA) P Százalékos formátum 143 550,00 % X Hexadecimális formátum 59B OE-NIK-AII, 2014

Műveletek karaktersorozatokkal Név Feladat Paraméterek Length String hossza NEM ELJÁRÁS  int adat StartsWith(), EndsWith() String elejének / végének ellenőrzése substring  bool visszatérési érték PadLeft(), PadRight() String feltöltése extra karakterekkel width / width, paddingChar Trim(), TrimStart(), TrimEnd() Whitespace eltávolítása trimChars Remove() Részsorozat eltávolítása index / index, count Replace() Részsorozat cseréje string, string / char, char Elmondani: Split() [bármennyi char / char[] / string[] ]  szétvágja a stringet, tömböt csinál az elemekből… még nem tudjuk h mi az. Amikor a tömbről szó lesz, úgyis használjuk majd OE-NIK-AII, 2014

Műveletek karaktersorozatokkal Karaktersorozat kezelése karakterenként (substring helyett) class Karakterenként { static void Main() int i; string s = "Karaktersorozat"; i = 1; while (i < s.Length) System.Console.WriteLine(s[i]); i++; } OE-NIK-AII, 2014

Gyakorló feladatok Készítsen programot, amely egy stringben megkeresi egy adott karakter valamennyi előfordulását! (a feladatot az .IndexOf() nélkül valósítsuk meg!) Készítsen programot, amely egy stringben kicserél minden A karaktert B-re (A és B legyen tetszőleges)! Készítsen programot, amely egy adott karaktersorozatot (pl. „Amelyik kutya ugat, az a kutya nem harap”) minden adott karaktersorozatát (pl. „kutya”) egy adott karaktersorozatra (pl. „macska”) cseréli! OE-NIK-AII, 2014

Szöveges fájlok kezelése String műveletek Feladatok Programozás I. Szöveges fájlok kezelése String műveletek Feladatok OE-NIK-AII, 2014

Feladatok Egy szöveges fájlt alakítson át úgy, hogy minden sor középre legyen rendezve! Egy szöveges fájlt alakítson át úgy, hogy minden sor sorkizárt legyen! Határozza meg, hogy egy szöveges fájlban melyik a leghosszabb szó, illetve melyik szó fordul elő leggyakrabban! OE-NIK-AII, 2014

Feladatok Írjon menüvezérelt programot, amely lehetővé teszi egy futó napi edzéseinek eltárolását Új edzés felvitele - Dátum YYYYMMDD formátumban - Táv #,# km formában - Idő HH:MM:SS formátumban Az új edzés bekerül a futónapló fájl végére Edzések listázása A konzolra kilistázza az edzéseket Statisztikák A konzolra és egy statisztika fájlba kiírja az edzések számát, valamint a távok és idők összegét és átlagát OE-NIK-AII, 2014

Feladatok Készítsen szótárprogramot, amely szópárokat tárol, illetve ki is kérdezi a szavakat! Lehessen új szópárokat felvenni, de csak akkor, ha még nincsenek bent a szótárban! Lehessen kilistázni a szótár tartalmát! Tudja kikérdezni a szavakat mindkét nyelv szavai alapján. A kikérdezés végén adja meg, hány helyes válasz érkezett! OE-NIK-AII, 2014

Irodalom, feladatok Kotsis-Légrádi-Nagy-Szénási: Többnyelvű programozástechnika, PANEM, Budapest, 2007 Faraz Rasheed: C# School, Synchron Data, 2006 http://www.programmersheaven.com/2/CSharpBook Reiter István: C# jegyzet, DevPortal, 2010, http://devportal.hu/content/CSharpjegyzet.aspx OE-NIK-AII, 2014

OE-NIK-AII, 2014

OE-NIK-AII, 2014