"Hallo", geteilt aus "Linkliste für Neulinge". WTF? Wer macht solche Titel?



  • Da ich hier komplett neu bin und nicht weiß zu welchem Thema das gehört habe ich hier meine Frage gestellt.

    Weiß jemand warum dieses Programm nicht funktioniert?

    #include <stdlib.h>

    int main(int argc, char *argv[]) {
    int zahl1, zahl2;
    int ergebnis;

    char op[0]; //Variable für Rechenoperation
    while(1>0)
    {
    printf("Zahl eingeben\n");
    scanf("%d",&zahl1);
    printf("Waehlen: +,-,/, e(nde)) \n");
    printf("getch()%c\n",op);

    switch (op[0])
    {
    case '+':
    printf("2.Zahl eingeben\n");
    scanf("%d",&zahl2);
    ergebnis =zahl1+zahl2;
    break;
    case '-':
    printf("2.Zahl eingeben\n");
    scanf("%d",&zahl2);ergebnis =zahl1-zahl2;
    break;
    case 'e':
    return 0;
    case '/':
    printf("2.Zahl eingeben\n");
    scanf("%d",&zahl2);
    ergebnis =zahl1/zahl2;

    default:
    printf("nicht erlaubt\n");
    }
    printf("Ergebnis %d\n\n",ergebnis);
    }
    return 0;
    }


  • Mod

    Yufkakopter schrieb:

    Weiß jemand warum dieses Programm nicht funktioniert?

    Ja.

    Und wenn du dir einigermaßen Mühe gibst mit der Frage, dann verrate ich dir sogar, wer es weiß. Einen vollkommen unformatierten Beitrag ohne klare Problembeschreibung mit Titel "Hallo" in einem anderen Thread zu posten, hält mich jedoch eher davon ab, mir Mühe für eine Antwort zu geben.



  • Sehr geehrter Herr SeppJ,

    da ich leider neu hier bin und nicht weiß, zu welchem Thema meine folgende Frage gehört, habe ich sie hier gestellt, da ich das Wort Neulinge in der Überschrift gelesen habe. Da ich kompletter Neuling bin und mir die Frage stelle warum mein Programm, das ich Rechner nenne nicht funktioniert, möchte ich sie bitten, mir den Themenbereich meiner Frage zu meinem C Programm mitzuteilen. Hier meine Frage:

    Warum funktioniert meine Konsolenanwendung die ich mit Dev-C++ geschrieben habe nicht?

    Vielen Dank im Voraus und entschuldigung für die aufgekommenen Unannehmlichkeiten.

    🙂

    #include <stdlib.h>
    
    int main(int argc, char *argv[]) {
    	int zahl1, zahl2;
    	int ergebnis;
    
    	char op[0];	//Variable für Rechenoperation
    	while(1>0)
    	{
    	printf("Zahl eingeben\n");
    	scanf("%d",&zahl1);
    	printf("Waehlen: +,-,/, e(nde)) \n");
    	printf("getch()%c\n",op);
    
    	switch (op[0])
    	{
    	case '+':
    		printf("2.Zahl eingeben\n");
    		scanf("%d",&zahl2);	
    		ergebnis =zahl1+zahl2;
    		break;	
    	case '-':
    		printf("2.Zahl eingeben\n");
    		scanf("%d",&zahl2);ergebnis =zahl1-zahl2;
    		break;
    	case 'e':
    		return 0;	
    	case '/':
    		printf("2.Zahl eingeben\n");
    		scanf("%d",&zahl2);
    		ergebnis =zahl1/zahl2;
    
    	default:
    		printf("nicht erlaubt\n");	
    	}
    	printf("Ergebnis %d\n\n",ergebnis);
    }  
    	return 0;
    }
    


  • Du liest keinen Operator ein.
    Auch wäre der Speicherplatz dafür nicht ausreichend.

    Du hast ja wohl die Linkliste gefunden, aber anscheinend nicht "RTFM! oder warum dir keiner helfen will..." direkt darunter.

    Zudem sind die Code-Tags auffallend hilfreich, weil die Formatierung erhalten bleibt.
    Den Code markieren und auf den C-Button unter dem 😡 clicken.
    Das kannst du, als registriertes Mitglied, sogar nachträglich machen.

    Und nutze auch den Vorschau-Button, damit du vorher weißt, wie dein Post aussieht.

    Edit:
    Schalte die Compiler-Warnungen auf Maximum. BEim gcc wäre das -Wall
    Welche Version vom Dev-C++ hast du?



  • Danke,

    Ich dachte das ich den Operator mit

    char op[0]
    

    einlese. Mit

    char op = '+';
    

    funktioniert dann auch + und -, jedoch leider nicht /.

    Diese Vesion benutze ich:
    Dev-Cpp 5.11 TDM-GCC 4.9.2

    - Wall konnte ich in den Compiler Optionen leider nicht finden.

    Nochmal danke für die schnelle Hilfe

    Tim



  • Yufkakopter schrieb:

    Danke,

    Ich dachte das ich den Operator mit

    char op[0]
    

    einlese.

    Damit definierst du ein Array vom Typ char .
    Die Anzahl der Element steht in den Klammern.

    Zudem definierst du das ja ziemlich am Anfang vom Programm. Zu dem Zeitpunkt wäre ein Einlesen vom Operator eher unpassend.

    Yufkakopter schrieb:

    Mit

    char op = '+';
    

    funktioniert dann auch + und -, jedoch leider nicht /.

    Hier definierst du eine Variable vom Typ char , die du gleichzeitig initialisierst.

    ⚠ Arrays werden in C ganz anders behandelt als Variablen.



  • Zeile 8 ist dein Problem.
    Definiere was diese Zeile machen soll und überlege was sie macht.



  • Wutz schrieb:

    Zeile 8 ist dein Problem.

    Nur Zeile 8?


Log in to reply