» Poradna » Programy

Textové řetězce v jazyku C

 |   | 

Dobrý den, kde mám chybu? Chci, aby se po zadání správného "hesla" vytiskl "libovolný text", ale ačkoliv to kompilátor projde, tak to nedělá, co má...

#include
#include

int main(int argc, char *argv[])
{
char jmeno[15];
scanf("%s",jmeno);
if (jmeno == "Heslo") printf("Heslo je OK!");
system("PAUSE");
return 0;
}

Děkuji předem!

Odpovědi na otázku

 |   | 

Prosím, prosím, nenajde se zde nikdo, kdo by mi poradil ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

V Ccku se porovnavaji retezce jinak
if (strcmp(jmeno,"Heslo") == 0) printf("Heslo je OK!");

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Ahoj. Tuším, že odpověď je v tom, že ukazatel na konstantní řetězec je něco jiného než pole znaků char.
Podmínka nebude nikdy splněna.

Pro porovnávání řetězců (respektive polí znaků) je funkce: strcmp

S tou by ti to mělo fungovat.


char jmeno[15];
scanf("%s",jmeno);

if (strcmp(jmeno,"Heslo")==0) printf("Heslo je OK!");
else
printf("Heslo NENI OK!");


Odpověď je možné hledat taky tady:
alpha.ujep.cz ...
a tady:
people.tuke.sk ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

V c jsem nedělal už aspoň 5 let, ale pokud moje chbá paměť slouží dobře, nemělo by být
scanf("%s", &jmeno);

Ale jak říkám, moje paměť a jazyk C nejsou moc v dobré kondici

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Neni protoze jmeno uz je sam o sobe ukazatel, tak neni treba tam dodavat &

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Děkuji moc "johnnash" i "Squad_leader", funguje to nyní ZCELA DLE MÝCH PŘEDSTAV!

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

A jak se to chova pri zadani hesla dlouheho 15 a vice znaku?

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: #include, Libovolný text, Kompilátor




Určitě si přečtěte

Jak John Kemeny a Thomas Kurtz stvořili BASIC, základ novodobého programování

Jak John Kemeny a Thomas Kurtz stvořili BASIC, základ novodobého programování

** Programovací jazyk BASIC tvořil základ osobních počítačů ** Původně byl určen vysokoškolským studentům, aby vůbec byli schopni využívat univerzitní počítač ** Jeden ze spoluautorů dělal výpočtáře Einsteinovi

Pavel Tronner | 78

Nejlepší služby pro streamovanou hudbu: Není jen Spotify

Nejlepší služby pro streamovanou hudbu: Není jen Spotify

** Za měsíční předplatné je dnes možné získat přístup k desítkám milionů skladeb ** S některými méně známými interprety je ale stále problém ** Cena předplatného může být i jen pár desítek korun

Vladislav Kluska | 45

Tesla je stále ve ztrátě, ale elektromobily Model 3 se prodávají neuvěřitelně dobře

Tesla je stále ve ztrátě, ale elektromobily Model 3 se prodávají neuvěřitelně dobře

** Tesla má rekordní příjem, je ale ve ztrátě ** Objem výroby se zvyšuje, dochází ale baterie ** Pomoci mají nové továrny Gigafactory

Karel Javůrek | 91

Intel vs. AMD: souboj vícejádrových procesorů začal. AMD zesměšňuje Intel neuvěřitelně nízkou cenou

Intel vs. AMD: souboj vícejádrových procesorů začal. AMD zesměšňuje Intel neuvěřitelně nízkou cenou

** AMD představilo nové levné procesory až s 32jádry ** AMD útočí na serverový i domácí trh Intelu ** Intel nemá konkurenceschopnou nabídku

Karel Javůrek | 84

Portál občana už funguje. Na státní web vypadá až překvapivě použitelně

Portál občana už funguje. Na státní web vypadá až překvapivě použitelně

** Portál občana už funguje, vyřídíte na něm první požadavky ** Funkce se budou postupně rozšiřovat ** Web je docela moderní a přehledný

David Polesný | 66


Jízdní řády Bileto
Aktuální číslo časopisu Computer

Jak mobily určují svoji polohu?

Velký test notebooků pro studenty

Nejlepší reproduktory na párty

Služby a aplikace pro výuku angličtiny