C++ devc++



  • Da mir bei der Und verknüpfung niemand helfen wollte , habe ich sie übersprungen und den != vergleich versucht:

    #include <cstdlib>
    #include <iostream>

    using namespace std;

    int main()
    {

    int a = 5;
    int z = 100;
    bool ergebnis;

    ergebnis = a != z;

    return 0;
    getchar();
    }

    Kann man das so machen?

    Und könnt ihr mir bitte sagen was ich machen kann das mir bei devc++ das ergebnis länger angezeigt wird ?

    Weil das habe ich immer noch nicht hinbekommen hab.

    Und kann mir vielleicht nur jemand so erklären was ich machen könnte bei dem programmcode den ich gerade gepostet hab, dass ich eine beliebige eingabe vergleichen könnte ?

    Weil ich wollte das ein wenig schöner machen ?

    Wäre lieb wenn mir jemand helfen könnnte.



  • Hi,

    nach return 0; wird kein weiterer Code in der Funktion ausgeführt, deswegen läuft Dein getchar() ins Leere.

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        cout << "Bitte geben Sie eine wundervolle Zahl ein: ";
        int number;
        cin >> number;
        const int SomeNumber = 100;    
        bool inequality = number != SomeNumber;
        cout << (inequality ? "Es besteht Ungleichheit." : "Es besteht Gleichheit.");
        char dummy;
        cin >> dummy;
        return 0;
    }
    

    oder so



  • Erstmal wärs nett, wenn du Code-Tags benutzen würdest (unter den Smileys dieses "C/C++" Ding anklicken, [cpp ] code [/cpp ]).
    Wenn keine Eingabe mehr erwartet wird und sonst auch nichts mehr passiert, wird das Programm halt beendet. Lass einfach am Ende noch irgendwas eingeben, dann schließt sich die Konsole auch nicht sofort. Dieses getchar aus cstdlib brauchts dafür auch nicht, kannst gerne auch einfach cin.get(); am Ende des Programms hinschreiben (google das mal).

    Zu deinem Programm: Ich würd erstmal das Ergebnis überhaupt ausgeben. Und wenn du willst, dass zwei eingegebene Zahlen verglichen werden sollen, lass die doch einfach eingeben? cin >> a >> b;



  • Eine frage zuerst eimal war mein programmcode in ordnung ?

    Weil ich kann es irgendwie gar nicht testen .

    Und zu deinem code eine kleine frage was passier denn durch dieses char dummy?



  • Downloade dir erstmal Code::Blocks oder sonst was aktuelles.
    http://sourceforge.net/projects/codeblocks/files/Binaries/10.05/Windows/codeblocks-10.05mingw-setup.exe
    Ist jetzt nicht unbedingt topaktuell aber immer noch besser als das, was du da benutzt..
    Einfacher gehts nicht, ist auchn Compiler drin.

    Dein Code: Du gibst ergebnis nicht aus. Wär schon irgendwie cool, oder?
    Zu deinem return 0: damit wird die main-Funktion beendet. Dann wars das mit deinem Programm. Nimm das einfach da weg..



  • char dummy; ist einfach nur eine Variable und durch cin >> dummy; erfolgt eine Eingabe. Der Benutzer tippt also irgendwas und drückt enter, erst dann beendet sich das Programm. Nutze ich immer, wenn ich halt das Ergebnis noch länger anschauen will. Man kann auch cin.get(); oder kbhit und getch aus der conio.h oder so nehmen... ist eigentlich egal.



  • Was ist denn dieses code Blocks ? Bin leider noch anfänger daher meine frage.

    Achso und zu meinem Programmcode :

    #include <cstdlib>
    #include <iostream>

    using namespace std;

    int main()
    {

    int a = 5;
    int z = 100;
    bool ergebnis;
    cin >> a >> z;
    ergebnis = a != z;

    return 0;

    }

    Habs jetzt ein wenig geändert wollte versuchen das durch eingabe zu testen.
    Aber wenn ich was eingebe passiert leider nichts . Was stimmt mit meinem code nicht?

    Tut mir leid das ich euch wieder störe bin noch nicht ganz fit beim programieren.
    Ist nicht gerade einfach.
    Habt uhr euch das alle selber beigebracht?



  • Mit cin >> ... lässt du was eingeben.
    Dann berechnest du dein Ergebnis.

    Dann kommen ein paar Leerzeilen.

    Dann ein return 0;
    Dann ne geschweifte Klammer.
    Hmm...
    Ne, das wars.
    Irgendwas fehlt, oder?
    Und codeblocks ist sowas wie devc++, nur besser.



  • Bzgl. Code Blocks helfen Google und Wikipedia. Und bitte beherzige die Rückmeldung an Deine Beiträge, etwa das Codetag zu benutzen.

    Bei der Eingabe solltest Du die Werte bitte mit Leerzeichen getrennt voneinander eingeben.

    Am Besten lernst Du am Anfang durch ein gutes Buch. Es gibt Online-Tutorials, die aber eben kein Buch ersetzen. Wie die Guten hier gut wurden, weiß ich nicht, aber mit einem Buch hat die überwiegende Mehrheit hier angefangen.



  • Ich empfehle dir, bei Sachen wie ergebnis = a != z; explizit Klammern zu setzen. Das wird dir später beim Verstehen deines eigenen Programms helfen. (Wenn du weißt, was die Zeile macht, dann weißt du auch, wo die Klammern hingehören.)

    programmer21 schrieb:

    Habt uhr euch das alle selber beigebracht?

    Ist unterschiedlich. Manche sind Autodidakten, manche haben Informatik o.Ä. studiert. Falls du zur ersten Gruppe gehörst, fang bitte mit einem guten Buch an. Im Forum findest du die Buchempfehlungen (oder schau auf SeppJ's Signatur, wenn du mal seinen Beitrag irgendwo siehst).

    Zu deinem Problem: es passiert nichts, weil du vllt. in der Konsole nichts ausgibst. std::cout << ergebnis; und wait(); wären ein guter Anfang. #include <cstdlib> brauchst du übrigens in deinem letzten Code nicht.



  • [cpp]#include <cstdlib>
    #include <iostream>

    using namespace std;

    int main()
    {

    int a = 5;
    int z = 100;
    bool ergebnis;
    cin >> a >> z;
    ergebnis = a != z;

    char dummy;
    cin>> dummy;

    cout << " a nicht gleich z " ;

    getchar();

    return 0;

    }

    Ich habs jetzt so gemacht , weiss nicht ob es so in ordung ist.

    Aber eins muss ich sagen das code blocks ist wirklich angenehmer zu benutzen.

    Danke für euren tipp.

    Was muss man eigentlich jetzt beachten wenn ich strings vergleichen will leute?



  • programmer21 schrieb:

    Was muss man eigentlich jetzt beachten wenn ich strings vergleichen will leute?

    Kommt darauf an was für Strings.



  • Das muss ich ja machen:

    - 2 Strings und das Ergebnis des „>Vergleichs“
    Achten Sie auf eine gefällige Ausgabe am Bildschirm und erstellen Sie wieder zusätzlich einen
    Testplan.

    Hast du paar tips für mich?



  • Wenn die Strings vom Typ std::string sind, einfach mit == Vergleichen.



  • Hallo leute mein programmcode sieht so aus :

    [cpp ] code [/cpp ]#include < iostream >
    #include <string>
    using namespace std;

    int main() {

    string x = 8000000;

    string z = 1000000;

    boole ergebnis x == z ;

    cin>> x >> z;

    if( x > z ) {
    cout << " String" << x << " ist groesser als String" << z;

    cout << " Bye " ;

    return 0;

    }

    }

    Aber es wird gar nicht ausgeführt . Vergleiche ich die strings falsch oder was ist los?



  • Ich versuchs mal richtig darzustellen:

    Hallo leute mein programmcode sieht so aus :

    [cpp ] #include < iostream > [/cpp ]).
    #include <string>
    using namespace std;

    int main() {

    string x = 8000000;

    string z = 1000000;

    boole ergebnis x == z ;

    cin>> x >> z;

    if( x > z ) {
    cout << " String" << x << " ist groesser als String" << z;

    cout << " Bye " ;

    return 0;

    }

    }

    Aber es wird gar nicht ausgeführt . Vergleiche ich die strings falsch oder was ist los?



  • Bedienungsanleitung für C++-Tags:
    1. Text markieren
    2. auf [C/C++]-Button klicken

    Wenn du das jetzt immer noch nicht hinkriegst, dann gibt's ein Facepalm von mir.



  • #include <cstdlib> 
    #include <iostream> 
    
    using namespace std; 
    
    int main() 
    { 
    
    int a = 5; 
    int z = 100; 
    bool ergebnis; 
    cin >> a >> z; 
    ergebnis = a != z; 
    
    char dummy; 
    cin>> dummy; 
    
    cout << " a nicht gleich z " ; 
    
    getchar(); 
    
    return 0; 
    
    }
    

    Kann mir jemand erklären was mit meinem code nicht stimmt?



  • Keine Ahnung warum das falsche dargestellt wurde . Jetzt stimmts:

    #include < iostream > 
    #include <string> 
    using namespace std; 
    
    int main() { 
    
    string x = 8000000; 
    
    string z = 1000000; 
    
    boole ergebnis x == z ; 
    
    cin>> x >> z; 
    
    if( x > z ) { 
    cout << " String" << x << " ist groesser als String" << z; 
    
    cout << " Bye " ; 
    
    return 0; 
    
    } 
    
    }
    

    Aber was stimmt hier nun genau nicht?



  • Schaut dir mal das Example an, wie man eine Zeichenkette erstellt: http://www.cplusplus.com/reference/string/string/append/


Anmelden zum Antworten