Hirdetés

Új hozzászólás Aktív témák

  • cucka
    addikt

    Nézegetem őket én is, van egy prog könyvem, de nem igazán taglalja a használatukat. :F
    Az strcmp függvény sem akar menni valamiért. Sokféleképp próbáltam már alakítgatni, de nem ment, most épp szegmens hibát ír. Ez azért ciki, mert az általad írt függvényeket is elvileg ugyanúgy kell majd használni a másik feladatomnál.

    Itt az strcmp-s progi, ami nem akar menni:
    (lényegében az a feladat, hogy meg kell adni a bástya és a gyalog pozícióját és el kell dönteni hogy üti-e a bástya a gyalogot? Én úgy gondoltam megvalósítani ezt, hogy mivel a bástya csak vagy vízszintesen vagy függőlegesen mozoghat, azt kell eldönteni, hogy a két bekért pozíció betűje egyezik-e a 2 bábunál, vagy a 2 számos tagja egyezik-e. Ezzel eldönthető, hogy ugyanabban az oszlopban van-e vagy ugyanabban a sorban. Ha a 2 közül legalább az egyik igen, akkor üti, ha nem akkor nem. Ehhez kellene a karakter összehasonlító függvény.)

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

    int strcmp (const char *s, const char *t)
    {
    if (*s == *t)
    return 0;
    else
    {
    printf("WTF? \n");
    }
    }

    void sakk ()
    {
    char bastya [3];
    char gyalog [3];

    printf("Kerem a bastya poziciojat: ");
    scanf("%c %c", &bastya[1], &bastya[2]);
    printf("Kerem a gyalog poziciojat: ");
    scanf("%c %c", &gyalog[1], &gyalog[2]);

    if ((strcmp(bastya[1], gyalog[1]) ==0) || (strcmp(bastya[2], gyalog[2]) ==0))
    printf("A bastya uti a gyalogot.\n");
    else
    {
    printf("A bastya nem uti a gyalogot.\n");
    }
    }

    int main ()
    {
    sakk();
    }

    El kéne olvasni, hogy az strcmp hogy működik:

    int strcmp(const char *s1, const char *s2);

    Tehát két darab char* típusú változót kér paraméternek, a te programodban pedig két char típusú változóval próbálod meghívni.
    Char típusú változókat pont úgy tudod összehasonlítani, mint ahogy sima int-eket hasonlítasz, tehát alapvetően ebben a programban semmi szükség az strcmp függvényre. A char típus egy darab karaktert jelent ugyan, de felfoghatod úgy is, mint egy előjel nélküli egész számot, mert tulajdonképpen az.

Új hozzászólás Aktív témák