Problem beim Vergleich von zwei char (Ausgabenproblem?)



  • Im folgenden Programm sollen zwei Buchstaben eingelesen werden und auf bezüglich ihrer Position im Alphabet verglichen werden. Leider zeigt er mir immer an, dass der zweite Buchstabe vor dem ersten steht.
    Es wäre nett, wenn mir jemand schnell helfen könnte. Bin kurz vor'm Verzweifeln.

    lg
    Patrick

    #include<stdio.h>

    int vergleich(char *linkerString, char*rechterString);

    int main()
    {
    char buchstabe_1;
    char buchstabe_2;

    printf("Bitte geben Sie Buchstaben 1 ein:\n");
    fflush(stdin);
    scanf("%c",&buchstabe_1);
    printf("Bitte geben Sie Buchstaben 2 ein:\n");
    fflush(stdin);
    scanf("%c",&buchstabe_2);

    printf("Das Ergebnis:%d",vergleich(&buchstabe_1,&buchstabe_2));

    fflush(stdin);
    getchar();
    return 0;
    }

    int vergleich(char *linkerString, char *rechterString)
    {
    char A[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
    int Index1,Index2;
    int counter1=0,counter2=0,k;

    for(k=0;k<26;k++)
    {
    counter1++;
    if(A[k]==*linkerString)
    {
    Index1==counter1;
    }
    }

    for(k=0;k<26;k++)
    {
    counter2++;
    if(A[k]==*rechterString)
    {
    Index2==counter2;
    }

    }

    if(Index1==Index2)
    {
    return 0;
    }
    else if(Index1<Index2)
    {
    return -1;
    }
    else if(Index1>Index2)
    {
    return 1;
    }
    }



  • Aloha,

    spricht für dich irgendwas dagegen, die beiden Chars einfach per == zu prüfen, anstatt erst umständlich 2 Schleifen zu durchlaufen?

    Und ich geb zu, dass es länger her ist, dass ich mit C gearbeitet hat, aber wenn ich mich recht erinner ist

    fflush(stdin);
    

    verboten oder zumindest stark compilerabhängig...

    MfG
    Shelling



  • verboten ist es nicht, aber wie du schon schriebst stark compilerabhängig

    Die Alternative die man benutzen sollte

    char c;
    while ((c=getchar())!=EOF && c!='\n');
    


  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten