probleme beim veriable einlesen



  • leute, ich hab nen brett vorm kopf. in der exe kann ich nur die ganze zahl eingeben und dann schließt das programm sofort. die ausgaben bekomme ich nicht zu gesicht. getchar(); anweisung bringt auch nichts. was mach ich falsch?
    ich benutze VSE 2013 Desktop.

    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int i;
    
    	cout << "Please enter an integer value: ";
    	cin >> i;
    	cout << "The value you entered is " << i;
    	cout << " and its double is " << i * 2 << ".\n";
    
    	return 0;
    }
    


  • Zwei mal

    cin.get();
    

    vor return sollte gehen.
    Liegt glaub ich daran das nur die Zahl eingelesen wird und das Enter noch im Input buffer bleibt. Das erste cin.get() bzw getchar ließt dann das Enter aus den Input buffer das zweite sollte dann wieder auf eine neue Eingabe warten.
    EDIT: Bin blutiger Anfänger also nicht so auf meine Antwort zählen.



  • leider nein

    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int i,j,b,c;
    	cout << "Please enter an integer value for triangle width: ";
    	cin >> b;
    	c = b;
    
    	for (j = 0; j <= b; j++)
    	{
    		for (i = 0; i <= c; i++)
    		{
    			cout << "*";
    		}
    		c--;
    	}
    	cin.get();
    	return 0;
    }
    


  • oh sry das ist jetzt nen anderes programm. aber problem ist das selbe!



  • #include <iostream> 
    using namespace std; 
    
    int main() 
    { 
        int i,j,b,c; 
        cout << "Please enter an integer value for triangle width: "; 
        cin >> b; 
        c = b; 
    
        for (j = 0; j <= b; j++) 
        { 
            for (i = 0; i <= c; i++) 
            { 
                cout << "*"; 
            } 
            c--; 
        } 
        cin.get(); 
        cin.get();
        return 0; 
    }
    

    Zwei mal siehe Beitrag oben 😃



  • EDIT: Doppelpost 😞



  • danke erstmal. aber das mit dem cin.get hab ich noch nie gesehen. das muss doch auch ohne gehen. ich habe schon öfter c++ code kompiliert. da gab es dieses problem auch nicht. bin echt überfragt



  • ja so funzt es erstmal. danke aber gehts nich auch ohne cin.get. das ist doch c++ urschleim. hab ich noch nirgendwo gelesen in unseren skripts. mhhhhhh.....



  • Zwei mal getchar() geht auch 😃
    Wie gesagt bin Anfänger. Liegt aber glaub ich daran das das Enter noch im Inputstream Buffer ist.



  • wieder was gelernt. ich danke dir!



  • taka schrieb:

    aber das mit dem cin.get hab ich noch nie gesehen. das muss doch auch ohne gehen. ich habe schon öfter c++ code kompiliert. da gab es dieses problem auch nicht. bin echt überfragt

    Code::Blocks zum Beispiel startet eine Console und startet das Programm darin. Diese geöffnete Console schließt sich nicht, wenn das Programm "fertig" ist (erst nach Tastendruck).

    In Visual Studio ist es durchaus üblich einen Breakpoint am Ende zu setzen um die Beendigung zu verhindern.

    In der fertigen Consolenanwendung schreibt man keine Pausen ans Ende des Programms, da man für gewöhnlich Konsolenanwendungen ohnehin in einer Console / Terminal startet.

    EDIT: Das Thema ist auch in der FAQ zu finden.


Anmelden zum Antworten