NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Nemuzu najit chybu

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
dfdfdf
Člen
Avatar
dfdfdf:12.12.2016 10:49

Dobry den.Prosim o pomoc s programem.Nevim proc nefunguje

int main(void)
{
char s;
printf("Say something");
scanf("%s",&s);
if(s==NULL)
{
return 0;
}
char t=s;
if(strlen("t")>0)
{
t[0] = toupper(t[0]);
}
printf("Original :%s",s);
printf("Copy : %s",t);
return 0;
}

Editováno 12.12.2016 10:50
 
Odpovědět
12.12.2016 10:49
Avatar
Odpovídá na dfdfdf
Erik Šťastný:12.12.2016 11:16

Ahoj, používej

Na kód

Kdo to má číst :)

int main(void)
{
        char s;
        printf("Say something");
        scanf("%s",&s);
        if(s==NULL)
        {
                return 0;
        }
        char t=s;
        if(strlen("t")>0)
        {
                t[0] = toupper(t[0]);
        }
        printf("Original :%s",s);
        printf("Copy : %s",t);
        return 0;
}
Editováno 12.12.2016 11:19
 
Nahoru Odpovědět
12.12.2016 11:16
Avatar
Odpovídá na dfdfdf
Erik Šťastný:12.12.2016 11:28

Každopádně asi bude lepší když popíšeš co vůbec chceš aby to dělalo, částečně to vypadá, že chceš aby to bralo znaky, částečně pole znaků...

podmínka

if(strlen("t")>0)

je zbytečná jelikož je vždy true, hádám že jsi chtěl jen t a ne "t"

atd. atd. :)

 
Nahoru Odpovědět
12.12.2016 11:28
Avatar
mkub
Tvůrce
Avatar
Odpovídá na dfdfdf
mkub:12.12.2016 11:29

a cp ti nefunguje? preklad? ci robi to, co nema?
a nabuduce pouzivaj tlacitko < i > na vlozenie zdrojaku

 
Nahoru Odpovědět
12.12.2016 11:29
Avatar
dfdfdf
Člen
Avatar
Odpovídá na Erik Šťastný
dfdfdf:12.12.2016 11:40

Chtel bych,kdyz "Say something" napisu neco,co &s, aby t taky ukazalo tenhle zapis

 
Nahoru Odpovědět
12.12.2016 11:40
Avatar
Odpovídá na dfdfdf
Libor Šimo (libcosenior):12.12.2016 11:53
char s; // je znak a nie slovo
scanf("%s",&s); // spatne, slovo sa vola: scanf("%s",s); ale slovo musí byť deklarované ako pole znakov
char t=s; // do premennej znak t vkladáš obsah premennej znak s

Predpokladám, že chceš pracovať s reťazcom a to je v céčku pole znakov a nie samotný znak!

Nahoru Odpovědět
12.12.2016 11:53
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Libor Šimo (libcosenior):12.12.2016 11:59

Asi si to chcel nejak takto:

#include <stdio.h>
#include <string.h>

int main(void)
{
        char s[128], t[128];
        printf("Say something:  ");
        scanf("%s",s);
        if(s==NULL)
        {
                return 0;
        }
        strcpy(t, s);
        if(strlen(t)>0)
        {
                t[0] = toupper(t[0]);
        }
        printf("Original :%s\n",s);
        printf("Copy : %s\n",t);

        return 0;
}
Nahoru Odpovědět
12.12.2016 11:59
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
dfdfdf
Člen
Avatar
Odpovídá na Libor Šimo (libcosenior)
dfdfdf:12.12.2016 12:06

jo diky moc.Ale proc s[128]?

 
Nahoru Odpovědět
12.12.2016 12:06
Avatar
Odpovídá na dfdfdf
Libor Šimo (libcosenior):12.12.2016 12:09

Mohol som tam dať aj 1024, 2, 50, 20.......
Začni študovať céčko, ale aj prácu s reťazcami. Potom sa nebudeš pýtať.

Nahoru Odpovědět
12.12.2016 12:09
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
dfdfdf
Člen
Avatar
Odpovídá na Libor Šimo (libcosenior)
dfdfdf:12.12.2016 12:12

Jeste nevim jak udelat aby s a t ukaz-valy na stejnou adresu.

 
Nahoru Odpovědět
12.12.2016 12:12
Avatar
Libor Šimo (libcosenior):12.12.2016 12:15

Začni študovať céčko, ale aj prácu s pointermi. Potom sa nebudeš pýtať.

Nahoru Odpovědět
12.12.2016 12:15
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Erik Šťastný:12.12.2016 12:16

Ty jsi to nepochopil, on nechce nic studovat :D chce postnout zadání a dostat kód :D

 
Nahoru Odpovědět
12.12.2016 12:16
Avatar

Člen
Avatar
:12.12.2016 16:29

Pride mi to, ako keby to pisal ten jozef jozef v podobnej otazke

 
Nahoru Odpovědět
12.12.2016 16:29
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 13 zpráv z 13.