IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
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
Ondřej Štorc
Tvůrce
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.