KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: Problem mit C für Windows
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi Leute,

da ich mir nicht sicher war wo ich dass hier posten soll, hab ich s mal hier rein gemacht. Entschuldigung falls dies die falsche sektion dafür ist.

Nun zu meinem Problem: Ich hab grad angefangen C für Windows zu programmieren. Ich hab ein programm mit der "case" funktion geschrieben. Aber der kompiler nimmt mir den Code nicht ab, obwohl er aus einem Lehrbuch ist.

Hier mein Code:

Code:
//include .h librarys
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

//variables
int a = 1;
int number;
char input;

//mainloop
int main(){

       printf("press ´a´, ´b´ or ´c´ for differten numbers \n\n\n ");
       input = getchar();
       scanf("i%",&number);
      
       switch(toupper(input)){
              case ´A´:
                   a = 10;
                   printf("\nshow variable: %d \n",a);
                   break;
              case ´B´:
                   a = 20;
                   printf("\nshow variable: %d \n",a);
                   break;
               case ´B´:
                   a = 30;
                   printf("\nshow variable: %d \n",a);
                   break;
       }      


//end of mainloop  
system("PAUSE");    
return 0;
}


Diese Fehler hat mir mein Compiler ausgespuckt:

Code:
20 C:\Users\Florian\Desktop\C projects\main.c `A' undeclared (first use in this function)


Vielleicht ist da irgendwas mit den Apostrophen...

Ich benutze Bloodsheed DEV ++ als Compiler.

Hoffentlich kann mir einer von euch helfen...

Danke im Voraus

MFG

Flo

EDIT: HABE DAS PROBLEM BEHOBEN, ICH HABE EINEN APOSTROPH ANSTATT EIN HOCHKOMMA BEI CASE VERWENDET.

ALLERDINGS HABE ICH EIN NEUES PROBLEM: WENN ICH JETZT DIE ZAHL 1 EINGEBE MÜSSTE JA EIGENTLICH DAS ZEUG ANGEZEIGT WERDEN WAS ICH BEI CASE GESCHRIEBEN HABE. STATTDESSEN STEHT DA NUR: "DRUECKEN SIE EINE BELIEBIGE TASTE UM FORTZUFAHREN"....

HAT JEMAND EINE LÖSUNG?

Edit 2: Auch dieses Problem hat sich gelöst. Diesmal einfach so von alleine. Komisch.

HIER KANN GECLOSED WERDEN

Auf Deutsch übersetzt heißt das: A undeklariert (erstes mal benutzt)

Wie man das behebt weiß ich nicht^^
Du hast bei case `A` geschrieben dafür hast er die Taste neben '?' verwendet. Das korrekte Zeichen für einen Char ist aber "Shift+#" also ' das kannst du nun überall ersetzen wo du es im case verwendest. Danach neu übersetzen. Es werden mehr Fehler kommen Tongue Wenn du es mal übersetzt hast und die Syntaxfehler beseitigt hat, dann sag ich dir was du logisch noch falsch gemacht hat Wink
Es funktioniert schon alles perfekt, danke.

Außerdem kam kein anderer Fehler bis auf das ich versehentlich 2 mal 'B' geschrieben hab.
Referenz-URLs