Sztringek
Sztringek A C programozási nyelv a sztring típust nem ismeri Sztring – betűk sorozata, karaktertömb Bár tárolásukat tekintve karaktertömböknek felelnek meg, rendelkeznek némi speciális tulajdonsággal \0 – sztring végi karakter Hasznos szöveg: Karaktertömb 0. elemével kezdődik és a \0 karakterrel ér véget
Sztring létrehozása Egy megadott méretű karaktertömb létrehozásával kezdődik 3 karakterből álló szöveg: char s[4]; Sztringek létrehozása: char s2[10] = {‘S’,’a’,’n’,’y’,’i’,’\0’}; char s3[] = {‘S’,’a’,’n’,’y’,’i’,’\0’}; char s4[10] = „Sanyi”; char s5[] = „Sanyi”;
Sztringműveletek Sztringek beolvasására két mód van: scanf() segítségével, melyben a megfelelő formátumszöveg a %s gets() mely a billentyűzetről olvas karaktereket a sorvége jelig. A beolvasott szövegnek a sorvége nem lesz része (de a \0 természetesen belekerül)
Sztringműveletek Sztringek kiiratása printf() - %s formátumtaggal puts() – a paraméterül kapott sztringet írja ki Írás sztringbe és olvasás sztringből Mivel karaktertömb, bármely elemét megváltoztathatjuk sprintf() – különböző típusú adatok szöveges változatának sztringbe írása. Pl.: sprintf(s, „A szám: %d”, 123);
Sztringműveletek Másolás Sztring hossza strcpy() függvény segítségével. Két paramétere van: az első a cél-, a második a forrásszöveg. A cél méretének megfelelőnek kell lennie a forrás tárolására (beleértve a \0 karaktert is) Sztring hossza strlen() – tetszőleges sztring hossza. Nem értendő bele a \0 karakter
Sztringműveletek Összehasonlítás strcmp() – két sztring angol ábécé szerinti összehasonlítása. Visszatérési érték nulla, ha a két sztring megegyezik, pozitív szám, ha az első sztringben szereplő első különböző karakter ASCII kódja nagyobb, mint a másodikban, negatív, ha kisebb. Nem alkalmas magyar ábécé szerinti összehasonlításra
A sztringek is mutatók A sztringek is kezelhetők mutatók segítségével, ahogy minden más tömb strstr() – szöveg keresésére szolgál strchr() – karakter keresésére szolgál Mindkettőnek két paramétere van: első – szöveg, amiben keresünk második – keresett szöveg vagy karakter Visszatérési érték egy mutató, mely a keresett szöveg/karakter első előfordulására mutat. Ha nem szerepel benne, akkor a visszatérési érték NULL
1. Feladat Írj programot, mely bekér egy vezeték- és keresztnévből álló férfi nevet, valamint egy vezeték és keresztnévből álló női nevet, majd kiírja, hogy házasságkötés után mi lehet a feleség felvett neve (X Yné P Q, vagy Xné PQ, vagy X Q, vagy X Yné Q, vagy akár maradhat P Q is), legalább 4 féle variáció szerepeljen a programban
2. Feladat Írj programot, mely bekér két szót és a képernyőre írj azt, amelyik hamarabb szerepel angol ábécé szerinti sorrendben
3. Feladat Írj olyan programot, mely a billentyűzetről bekér egy szöveget, majd kiírja, hogy a szövegben milyen kis angol betűk(!) szerepelnek (Érdemes for ciklust indítani az „a” betű ASCII kódjától a „z” betű ASCII kódjáig – 97 - 122)
4. Feladat Írj programot, melyben jól megjegyezhető , véletlen, biztonságos jelszavakat generálsz (legyen minden generált jelszó 8 karakter hosszú és minden páratlan helyen mássalhangzó és minden páros helyen magánhangzó áll, a 8 karakter után pedig szerepeljen egy véletlen egész szám 0 és 100 között)
5. Feladat Írj olyan programot, melyben szerepel két függvény, egy megszámolja, hogy hány magánhangzó (magyar is) és egy, hogy hány mássalhangzó szerepel a paraméterül kapott szövegben. Szerepeljen továbbá a programban egy függvény annak eldöntésére, hogy a paraméterül kapott karakter magánhangzó-e. Ha az, akkor a visszatérési érték legyen 1 ha nem, akkor 0. A programban kérj be egy szöveget, majd írd a képernyőre, hogy hány mássalhangzó és hány magánhangzó szerepel benne.