130 likes | 263 Views
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 – sztring végi karakter Hasznos szöveg:
E N D
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 • Sztringekkiiratá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 • 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 sztringmegegyezik, 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.