Divisionsprogramm und dabei Problem beim einlesen der Werte des Divident und Divisors... LAME hehe



  • #include <iostream>
    #include <stdlib.h>
    using namespace std;
    
    int main()
    {
    
       int x, y;
    
       cin >> x >> endl; <--------- [b]XXX[/b]
       cin >> y >> endl;
    
       div_t div_result;
    
       div_result = div( x, y );
    
       printf( "For %d / %d, the quotient is ", x, y );
    
       printf( "%d, and the remainder is %d\n", 
                div_result.quot, div_result.rem );
    }
    

    Hab mir ein bischen Code zusammengebastelt, der 2 Zahlen dividiert und den Quotienten sowie den Restwert ausgibt.

    Nun habe ich folgendes Problem: An der Stelle die ich mit 3 "XXX" gekennzeichnet habe, sagt mein Compiler folgendes:

    no match for 'operator>>' in '(&std::cin)->std::basic_istream<_CharT, _Traits>::operator>> [with _CharT = char, _Traits = std::char_traits<char>](((int&)(&x))) >> std::endl'

    Was mache ich falsch? Wie muss ich das schreiben??? Ich nutzt doch Namespaces std (siehe oben).

    Vielen Dank für eure/deine Hilfe gleich mal im Vorraus!!! 🙂



  • Das "endl" kannst du dir schenken.

    Da du wohl versuchst die ganze Zeile einzulesen solltest du dir getline anschauen 🙂



  • Fujitsu schrieb:

    Das "endl" kannst du dir schenken.

    Da du wohl versuchst die ganze Zeile einzulesen solltest du dir getline anschauen 🙂

    Logisch mag ich die ganze Zeile einlesen, denn ich will ja auch beliebig große Werte dividieren können. Wenn ich das "endl" weg lasse, dann lässt sich der Code fehlerfrei compilieren, allerdings kann ich nicht nachvollziehen wieso das endl so ,,stört". Kannst mir mal sagen wieso bitte?
    Danke 🙂



  • Du kannst doch nichts in endl einlesen.



  • @Diron:
    Bzg. endl; siehe vielleicht auch hier. (Unter format-flags).

    Und Nochwas: Wenn du C++-Programme schreiben willst, sollte die Standard-Ein/Ausgabe auch mit den Extra für C++ geschriebenen Ein/Ausgabe-Strömen realisiert werden. Also istream und ostream.

    Caipi



  • und bitte cstdlib wenn überhaupt nötig (statt stdlib.h)



  • Lars Hupel schrieb:

    und bitte cstdlib wenn überhaupt nötig (statt stdlib.h)

    Ok dank dir! 😃



  • YASC schrieb:

    Du kannst doch nichts in endl einlesen.

    Ja das ist richtig was du sagst. Dachte nur das wäre wie bei cout auch möglich die Ausgabe, bzw. die Eingabe, genauergesagt der Cursor durch cin an den Zeilenanfang durch den Manipulator endl zu setzen.

    Bei cout sieht das so aus (so stehts in meinem schlauen Buch):

    cout << [Variable]|["Stringkonstante"]|[Was_auch_immer] << endl;
    
    
    Dank dir vielmals!!!  
    :sunglasses:

Anmelden zum Antworten