Anfängerproblem...undeclared (first use in this function)



  • Hallo zusammen,

    ich hoffe ich darf so einfache Fragen hier stellen...ich habe gerade mit dem Programmieren angefangen und in meinem Umkreis keine Möglichkeit jemanden zu fragen.

    Ich Programmiere mit Eclipse und habe ein wsh sehr simples Problem.
    Das Programm soll dem Nutzer 3 Versuche lassen um einen Buchstaben aus dem Alphabet zu erraten.

    Mein Problem besteht darin, dass ich in meiner if-Schleife eine Fehlermeldung bekomme:

    'A' undeclared (first use in this function)

    So meine Frage, ich habe den Buchstaben A doch schon vor der main initialisiert oder etwa nicht?

    Und in meiner scanf Zeile wird mir die Anmerkung angezeigt:
    format argument is not a pointer (arg2)

    Was bedeutet das?

    Ich hoffe ich darf hier so einfache Fragen stellen, Google hilft mir bei diesen beiden Problemen leider nur unzureichend.

    Vielen Dank!!

    Mein Quellcode

    #include <stdio.h>
    #define VERSUCHE 3
    #define BUCHSTABE A

    int main(){
    int n=1;
    char eingabe;

    printf("Bitte erraten Sie den gesuchten Großbuchstaben:");
    scanf("%c", eingabe);
    while(n<=VERSUCHE){
    if(BUCHSTABE == eingabe){
    printf("Herzlichen Glückwunsch, das ist der gesuchte Buchstabe!");
    break;
    }

    }
    printf("Leider hat es nicht geklappt.");

    return 0;
    }



  • Du wolltest wohl 'A' schreiben... 😉



  • atix schrieb:

    Mein Problem besteht darin, dass ich in meiner if-Schleife eine Fehlermeldung bekomme

    if-Schleife

    atix schrieb:

    So meine Frage, ich habe den Buchstaben A doch schon vor der main initialisiert oder etwa nicht?

    Nein. Du hast mit #define BUCHSTABE A dem Präprozessor gesagt, daß er bevor noch der Compiler den Code zu Gesicht bekommt, er BUCHSTABE mit A ersetzen soll.

    atix schrieb:

    Und in meiner scanf Zeile wird mir die Anmerkung angezeigt:
    format argument is not a pointer (arg2)

    scanf() erwartet die Adressen der Variablen, die es füllen soll:

    scanf( "%c", &eingabe );
    

    Weiters darf deinem Code nach der Benutzer nur einmal raten. Das scanf() soll vermutlich in die Schleife.

    btw: Verwende das nächste Mal für C/C++-Code bitte [cpp]-Tags.



  • Ja cool, die Fehlermeldungen sind schonmal weg :)!
    Funktioniert aber noch nicht ganz, aber vllt bekomme ich das ja hin 🙂 mir ist noch das ein oder andere aufgefallen.

    Danke für die Tipps 🙂 und die schnellen Antworten!


Log in to reply