Liegts am Compiler?



  • OMG

    Bitte löschen 😃

    Sorry



  • Versuch mal

    #include <iomanip>

    statt

    #include <iomanip.h>



  • Gustl schrieb:

    völlig simples Programm aber es funktioniert nicht...

    1. Verwende <iomanip> wie auch im Fehlertext gesagt wird.
    2. Wechsel bei nächst möglicher Gelegenheit die Entwicklungsumgebung (Dev-Cpp ist veraltet besser Visual C++ 2008 Express oder Code::Blocks).
    3. Wofür brauchst du #include <cstdlib> ? (Vielleicht für EXIT_SUCCESS? wobei du das wirklich weglassen kannst, int main macht implizit ein return 0).

    // #include <cstdlib> C-Header, wofür
    #include <iostream>
    #include <iomanip> // #include <iomanip.h>
    
    using namespace std;
    
    int main() // (void) ist unter C++ eigentlich eine ungewöhnliche Schreibwese
    {
        float h,b,l;
        cout <<"\n\t -- Volumenberechnung -- "<< endl
             <<"\n\t Eingabe (Hoehe / Breite / Laenge):";
        cin  >> h >> b >> l;
        cout <<"\n\t Hoehe:" << h <<"\n\t Breite:" << b << "\n\t Laenge:" << l <<endl; 
        cout << setw(10) << setprecision(2) << setfill('.') <<"\t Gesamtvolumen:"<< h*b*l << endl;
        // Zudem habe ich mal setfill('.') statt setfill(".") verwendet...
    
        system("PAUSE>NUL"); // Hier drüber kann man sich wahrlich streiten...
        // return EXIT_SUCCESS;
    }
    


  • Alles klar danke.

    ich habe setfill(".") in setfill('.') geändert und es ging.

    Danke auch für die anderen tipps.

    Gruß



  • Gustl schrieb:

    Liegts am Compiler?

    Der Fehler sitzt eigentlich immer vor der Tastatur 😉



  • 😃

    meistens ja.



  • pumuckl schrieb:

    Der Fehler sitzt eigentlich immer vor der Tastatur 😉

    Zumindestens sehr häufig.

    Wenn du in einer Firma gezwungen bist eine sehr alte (schon lange nicht mehr supportete) Entwicklungsumgebung mit ebenso alten Compiler zu verwenden, kann man diese Aussage nicht so einfach bringen. Da muss man immer erst "antasten" was der Compiler den noch schluckt...

    cu André



  • asc schrieb:

    Wenn du in einer Firma gezwungen bist eine sehr alte (schon lange nicht mehr supportete) Entwicklungsumgebung mit ebenso alten Compiler zu verwenden, kann man diese Aussage nicht so einfach bringen. Da muss man immer erst "antasten" was der Compiler den noch schluckt...

    cu André

    In dem Fall liegt der Fehler dann wohl bei dem Schlipsträger der (direkt oder indirekt) entschieden hat dass man keine aktuelle Entwicklungsumgebung braucht 😉



  • ... naja, ich predige auch immer, dass der Compiler immer Recht hat - aber wenn man sich mal die "bug reports" der Compilerhersteller ansieht (bei uns natürlich IBM), dann ist man schon überrascht, was für "Böcke" (und wie viele!) selbst ein Compiler in der Version 9 noch aufweist. ...

    Aber ich selbst bin noch mit keinem kollidiert und bin auch froh, dass ein vernünftiger Hersteller sich schnell um Fixes bemüht.

    Deswegen bleibt es bei meiner Erfahrung: Es ist immer der Programmierer, der den Fehler macht.

    Gruß,

    Simon2.



  • Ich hab leider hier in der Arbeit kein Visual...

    achja, #include <cstdlib> hat der dev-cpp selbst eingebunden.
    Keine Ahnung wozu.



  • Gustl schrieb:

    Ich hab leider hier in der Arbeit kein Visual...

    achja, #include <cstdlib> hat der dev-cpp selbst eingebunden.
    Keine Ahnung wozu.

    Nimm doch wenigstens VS2008 Express (kostenlos) oder Code::Blocks (ebenfalls kostenlos).

    Simon


Anmelden zum Antworten