getch() funktioniert nich



  • Hallo Leuts,

    damit die Konsolenandwendung nicht gleich wieder schließt habe ich versucht das getch() einzufügen, natürlich auch mit dem #include <conio.h>

    (hab ich jetzt wieder rausgenommen...)

    troztdem schliesst das Fenster ...ist vielleicht im Quelltext ein Fehler???

    Vielen Dank für eure Hilfe...

    namespace TestAddition
    {
    
    	//Definition der Klasse Addition
    	class Addition
    	{
    		//Anlegen der Privaten Eigenschaften
    	private:
    		int Ergebnis;
    		int Summand1;
    		int Summand2;
    
    		// Anlegen der öffentlichen Eigenschaften
    	public:
    		// Konstruktior --> Prototyp zum Initialiesieren einer Eigenschaft
    		Addition(int);
    
    		// Deklaration der Variablen und Schnittstellenfunktionen
    		void setSummand2(int);
    		void berechnen(void);
    		int getErgebnis(void);
    	};
    
    	// Definition des Konstruktors zur Initialisierung von Sumannd1
    	Addition::Addition(int Wert)
    	{
    		Summand1 = Wert;
    	}
    
    	void Addition::setSummand2(int Wert) // Definition Summand2
    	{
    		Summand2 = Wert;
    	}
    
    	void Addition::berechnen()
    	{
    		Ergebnis = Summand1+Summand2;
    	}
    
    	int Addition::getErgebnis()
    	{
    		return Ergebnis;
    	}
    
    } // Ende der Klassendefiniton
    
    #include <iostream>
    
    using namespace TestAddition;
    using namespace std;
    
    int main()
    {
    	// Erstellen eines statischen Objektes der Klasse Addition
    	// mit eingebundener Intitialisierung des Objektes Summand1 mit 
    	// dem Wert1
    	Addition meinAdditionsrechner(1);
    
    	int eingabe;
    	cout << "Bitte Summand2 eingeben: ";
    	cin >> eingabe;
    
    	meinAdditionsrechner.setSummand2(eingabe);
    	meinAdditionsrechner.berechnen();
    
    	cout << "\n\nErgebnis:\n "<<meinAdditionsrechner.getErgebnis();
    
    	return 0;
    
    }
    

    😕



  • Ich sehe keinen Fehler.
    Ich offe du schreibst das

    getch()
    

    nicht hinter das

    return 0;
    


  • Ich hoffe du schreibst das

    getch()
    

    nicht hinter das

    return 0;
    

    Ich sehe keinen Fehler.

    Allerdings:
    -du braucst kein extra ns
    -du brauchst keine Klasse
    -solche methoden würde ich inline schreiben
    -der ganze ns gehört in einen header



  • int main()
    {
    ...
    
    getchar()
    
    return 0;
    }
    

    wenn das nicht klappt, dann sollte eines dieser methoden sollte auch bei dir Früchte tragen:

    http://c-plusplus.net/forum/viewtopic-var-t-is-111042.html



  • Es schrieb:

    Ich hoffe du schreibst das

    getch()
    

    nicht hinter das

    return 0;
    

    Ich sehe keinen Fehler.

    Allerdings:
    -du braucst kein extra ns --> wollte der Lehrer so
    -du brauchst keine Klasse --> Unser Lehrer hat uns das so in Aufgabe gestellt...
    -solche methoden würde ich inline schreiben --> Sollte extra keine Inline Funkt. werden lt. Lehrer
    -der ganze ns gehört in einen header



  • Ich sehe den Fehler nicht, aber ich weis welcher es ist. Es befindet sich beim Aufruf von "getch" noch was im Eingabepuffer, das dann als Eingabe interpretiert wird. Als Gegenmaßnahme muss man logischerweise den Puffer leeren. Steht in der FAQ. (Muffmolch hat schon den richtigen Link gepostet)


Anmelden zum Antworten