Shrnutí

V této lekci jste se naučili, že:

  • Řetězec je pole znaků (char), které končí nulovým znakem '\0'. char jmeno[] = "Anna"; má 5 prvků: 4 písmena a '\0'. char jmeno[20] = "Anna"; nechá místo pro delší text.
  • 'A' je jeden znak, "A" je řetězec ze dvou znaků ('A' a '\0').
  • Řetězec se vypisuje pomocí %s: printf("%s\n", jmeno);, nikdy ne printf(jmeno);. Jeden znak, třeba jmeno[0], se vypisuje pomocí %c.
  • Znaky čtete a měníte přes index: jmeno[0] = 'H';. Řetězec projdete cyklem až k '\0': for (int i = 0; jmeno[i] != '\0'; i++).
  • Knihovna string.h má funkce pro řetězce: strlen dá délku bez '\0' (uložte ji do int: int delka = strlen(jmeno);), strcpy(cil, text) zkopíruje text do pole a strcat(cil, text) ho přidá na konec. Pole musí mít místo na text i na '\0'.
  • Řetězce nejde přiřadit pomocí = ani porovnat pomocí ==. strcmp(a, b) dá 0 pro stejný text, záporné číslo, když je a v abecedě dřív, a kladné, když je až za b.
  • Knihovna ctype.h pracuje se znaky: toupper a tolower dají změněný znak (musíte ho uložit), isupper, isalpha a isdigit odpoví 0 (ne), nebo jiným číslem (ano).
  • Šířka zarovná sloupce: %-10s, %5d, %6.2f.
  • Písmena s diakritikou zabírají dva znaky typu char, a proto řetězce, se kterými pracujete po znacích, pište bez diakritiky.

V příští lekci, o funkcích, se naučíte psát vlastní funkce, podobné strlen nebo toupper, a rozdělit jimi své programy na pojmenované části. Nejdřív si ale vyzkoušejte, co už umíte, na kontrole hesla.

Pokyny

Projděte řetězec heslo cyklem a spočítejte v něm číslice a velká písmena. Vypište je ve tvaru Číslic: 4, velkých písmen: 1.

Heslo je silné, když má aspoň 8 znaků, aspoň jednu číslici a aspoň jedno velké písmeno. Ověřte všechny tři věci v jedné podmínce pomocí strlen a svých počtů a vypište Silné heslo, nebo Slabé heslo. (Až to bude fungovat, zkuste heslo změnit na "tygr".)

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

10/10