Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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í.

Diskuze: Pomoc s úkolem nebo jak napsat makro

Aktivity
Avatar
nemec.radovan:1.11.2018 14:25

Ahoj, potřeboval bych pomoct s úkolem, v C jsem začátečník. Tak spíš bych potřeboval nějaký náznak jak se co zapisuje.

Úkol je takový:
Makro s parametrem, které převede anglické znaky (malá písmena) ‘a’ až ‘z’ na znaky ‘A’ až ‘Z’ (velká písmena). Například zadáme-li do parametru makra znak ‘d’, převede jej makro na znak ‘D’. Makro vyzkoušejte ve funkci main.

Zkusil jsem: Kód pro main, ale nevím jak ho přepsat do makra.

#include <stdio.h>
#include <ctype.h>

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

printf("Zadej symbol: ");
gets(vstup);

while (vstup[i] != '\0'){
vystup[i] = toupper(vstup[i­]),i++;
}

vystup[i] != '\0';
printf("Vypsany symbol: %s\n",vystup);
return 0;
}

Chci docílit: Kdyby se tu našla dobrá duše a poradila mi jak vytvořit makro pro tento úkol ? Předem všem děkuji

 
Odpovědět
1.11.2018 14:25
Avatar
DarkCoder
Člen
Avatar
Odpovídá na nemec.radovan
DarkCoder:1.11.2018 15:00

Takto:

#define TOUPPER(x) (('a' <= (x) && (x) <= 'z') ? (((x) - 'a') + 'A') : (x))
Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět
1.11.2018 15:00
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovídá na DarkCoder
nemec.radovan:1.11.2018 20:46

Super, děkuji :)

 
Nahoru Odpovědět
1.11.2018 20:46
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 3 zpráv z 3.