Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Úkol změna velikosti písma

C a C++ C a C++ Úkol změna velikosti písma

Aktivity (1)
Avatar
majklvorisek
Člen
Avatar
majklvorisek:20.4.2014 17:06

Zdravím potřeboval bych Poct s úkolem. Program má změnit všechna malá písmena na velká a místo mezer má být _. Příklad:
Programování v jazyku c++
//Se změní na:
PROGRAMOVÁNÍ_V_JA­ZYKU_C++

Dík za pomoc

 
Odpovědět 20.4.2014 17:06
Avatar
Libor Šimo (libcosenior):20.4.2014 17:19

A čo si už nakódil?

Nahoru Odpovědět 20.4.2014 17:19
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
majklvorisek
Člen
Avatar
majklvorisek:20.4.2014 17:26

Problém je že nevím jak pořádně začít.

 
Nahoru Odpovědět 20.4.2014 17:26
Avatar
Odpovídá na majklvorisek
Ondřej Štorc:20.4.2014 17:28

Koukni se na ASCII tabulku.

Nahoru Odpovědět 20.4.2014 17:28
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Libor Šimo (libcosenior):20.4.2014 17:44
- inkluduješ potrebné knižnice
- funkcia main
{
  - definuješ potrebné premenné

  - vypíšeš na obrazovku: "Zadajte vetu a ja ju upravim tak, ze vypisem vsetky pismena velke a medzery zmenim na podtrzniky: "
  - vyžiadaš od užívateľa vstup vo formáte reťazec.
  - v cykle prejdeš zadaný reťazec, postupne zmeníš malé písmená na veľké a medzery na podtržníky
  {
    - použiješ podmienku: ak je písmeno malé,
      - zmeň ho na velké
    - alebo ak je znak ' ' teda medzera,
      - zmeň ju na podtržník
    - ak nie je splnená ani jedna z uvedených podmienok,
      - nechaj znak bez zmeny.
  }
Poznámka: všetko to prepisuješ do nového reťazca.
  - reťazec ukončíš znakom '\0'
  - vypíšeš na obrazovku zmenený reťazec
}

Hotovo. ;-)

Nahoru Odpovědět 20.4.2014 17:44
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
majklvorisek
Člen
Avatar
majklvorisek:20.4.2014 17:48

Dík

 
Nahoru Odpovědět 20.4.2014 17:48
Avatar
Odpovídá na majklvorisek
Libor Šimo (libcosenior):20.4.2014 18:13

Na zmenu písmen si includuj knižnicu ctype.h a použi z nej makro islower() - (ak je znak malé písmeno) a makro toupper() - (zmeň znak na veľké pismeno).

Nahoru Odpovědět 20.4.2014 18:13
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Libor Šimo (libcosenior):20.4.2014 18:37
#include <stdio.h>
#include <ctype.h>

int main(void)
{
    int i;
    char vstup[80], vystup[80];

    printf("Zadajte vstupnu vetu: ");
    gets(vstup);
    while (vstup[i] != '\0') {
        vystup[i] = islower(vstup[i]) ? toupper(vstup[i]) : vstup[i] == ' ' ? '_' : vstup[i];
      i++;
    }
    vystup[i] = '\0';
    printf("Vystup je: %s\n", vystup);

    return 0;
}

Pozor, nefunguje to na písmená s diakritikou. S tým sa mi už nechcelo hrať.

Editováno 20.4.2014 18:40
Nahoru Odpovědět 20.4.2014 18:37
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na majklvorisek
Libor Šimo (libcosenior):20.4.2014 19:45

Ten terárny operátor sa dá skrátiť, pretože makro toupper() reaguje iba na malé písmená nasledovne:

vystup[i] = vstup[i] == ' ' ? '_' : toupper(vstup[i]);
Nahoru Odpovědět 20.4.2014 19:45
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
majklvorisek
Člen
Avatar
majklvorisek:20.4.2014 20:57

Díky moc za pomoc.

 
Nahoru Odpovědět 20.4.2014 20:57
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.