Tekstitöötlus Sõne, string
Tekstitöötlusest Meenutuseks: Sõne/tekst/string on tähemärkidest koosnev massiiv Sõned on jutumärkide vahel, tähemärgid on ülakomade vahel Teksti lõppu tähistab erisümbol '\0’ (null-terminated) char w[] = "Mannavaht" char w[12] = "Mannavaht" Iga täht on tegelikult number vastavalt ASCII tabelile 'A' – 65, 'B' – 66, 'C' – 67 'a' – 97, 'b' – 98, 'c' – 99 '0' – 48, '1' – 49, '2' – 50 '\t' – 9, '\n’ – 10 M a n v h t \0 M a n v h t \0 2019 Risto Heinsar
Sõnede manipuleerimine Me saame võrrelda ja omistada tähemärke word[i] == 'a'; word[i] = 'a'; Tähemärke ükshaaval manipuleerides veendu, et sõned on korrektselt lõpetatud! word[i] = '\0'; Veel näiteid tähemärkide manipuleerimisest https://blue.pri.ee/ttu/programmeerimine-i/koodinaited/characters-c/ 2019 Risto Heinsar
Näide 1 #include <stdio.h> #include <string.h> int main(void) { int i, n; char word[] = "Mannavaht"; for (i = 0, n = strlen(word); i < n; i++) // printf("%c", word[i]) – this is considered wasteful putchar(word[i]); } putchar('\n'); return 0; 2019 Risto Heinsar
Näide 2 #include <stdio.h> #include <string.h> int main(void) { int i, n; char word[] = "Mannavaht"; for (i = 0, n = strlen(word); i < n; i++) if (word[i] == 'a') printf("Letter 'a' found at position %d\n", i + 1); } return 0; 2019 Risto Heinsar
Teegid Sõnedega lihtsamalt toimetamiseks kasutame <string.h> teeki http://www.cplusplus.com/reference/cstring/ Üksikute tähemärkide puhul on abiks <ctype.h> teek http://www.cplusplus.com/reference/cctype/ Kõike võib alati teha puhtalt ASCII tabeli põhjal! 2019 Risto Heinsar
Tunnitöö Lae alla baaskood Andmed on esitatud lihtsustatud CSV formaadis – iga väli on komaga eraldatud. Andmed on antud algväärtustatud massiivina. Koosta kõigile isikutele personaalne meiliaadress. Nimeosaks on 3 tähte eesnimest ja perenimest, millele järgneb domeen. Meiliaadress salvesta uude tähemärgimassiivi ja väljasta selle kaudu! Väljasta inimeste nimed ja loodud meiliaadressid: Nimi: Maria Kask E-post: markas@ttu.ee 2019 Risto Heinsar
Edasijõudnutele Programm peab töötama ka lühemate nimede puhul Ly Kask -> lykask@ttu.ee Lisa igale kasutajale väli personaalse tekstiga, mis võib sisaldada koma kui lause osa. CSV formaati kui sellist rikkuda ei tohi, st kui sellele peaks järgnema veel üks väli, siis on see eristatav. 2019 Risto Heinsar