C/C++



  • Also erstmal thx für die vielen und schnellen Antworten, ich wollte nochmal betonen: Ich stehe ganz am Anfang! Ich kann zwar etwas Delphi, Pascal und Basic - C/C++ ist für mich jedoch neues Territorium und der cygwin Editor macht echt nur Angst weil das ist dasselbe als wenn ich "command" in Ausführen eingeben würde. In meinem Buch wird direkt auf die Programmierung eingegangen und nicht erst groß erklärt, wie wo was ist und wo man was eingibt um was zu kriegen. D.h. ich muss jetzt erst einen guten Einstieg finden und wenn ich den habe (nur die Grundlegenen Sachen), dann ist das Buch optimal.

    Ich hoffe es ist ok wenn ich jetzt hier mal mit ner weiteren Frage weiter mache, und zwar habe ich eben mal versucht folgendes zu Programmieren (Syntax kenne ich aus dem Buch):

    # include <stdio.h>
    # include <stdlib.h>
    
    main()
    { int summe; 
      int a;
      int b;
    
      a=12;
      b=13;
      summe= a + b;
      printf("Die Summe ergibt %d .", summe);
    }
    

    Dann hab ich auf den Compilen Button geklickt, er hat 0 fehler gefunden und scheinbar compilt. Aber es erscheint beim klicken auf "Execute" weder ein Dialog wo der Satz geprintet wird noch irgendeine Kommandozeilenartige Oberfläche wie in BASIC. Wo liegt mein Fehler ?
    (Ich muss erstmal verstehen wie was klappt, dann komme ich alleine mit dem Buch weiter)
    MfG berocked



  • füge mal SYSTEM("Pause"); am ende an.



  • Das Programm erinnert eher an ein C Programm als an ein C++ Programm.

    Kann es sein, dass die Konsole ganz kurz erscheint und dann sofort wieder verschwindet?



  • "erinnert" ist gut 😃 Das ist nichtmal gültiges C++.



  • c++eus schrieb:

    füge mal SYSTEM("Pause"); am ende an.

    Wow, vielleicht sollte mal ein extra Eintrag in die FAQ gepackt werden warum system("pause"); und Konsorten noch schlimmer sind als Geschwüre am Hintern, Karottensuppe und [hier noch was ekliges einfügen] zusammen. 🤡

    Andererseits würde das wohl auch niemand lesen der es nötig hätte... 🙄



  • Hey, was ist schlimm an Karottensuppe? 😉 Bzw. an system("pause") ... dass das unprofessionell und unportabel ist, darüber sind wir uns ja einig, aber für so kleine Anfängerprogramme wie die Summe zweier vorgegebener Zahlen ausgeben sollte es reichen. Ideal wär natürlich, wenn Konsolenfenster per default aufblieben, aber den Gefallen tut einem Windows ja nicht ...



  • An dieser Stelle erfüllt System(Pause); aber seinen Zweck. Und Plattformunabhängig braucht dieses Programm wirklich nicht sein.



  • Aha ok _das_ war ein C programm, wie sähe dass denn in C++ aus (ich habs übrigens in devc++ in c und in c++ compilen lassen. Es wird nichts geladen.
    Wäre vllt jemand so nett und erklärt mir warum SYSTEM("Pause"); und wie es in c++ aussehen würde ?



  • #include <iostream>
    using namespace std;
    
    int main()
    { 
      int summe;
      int a;
      int b;
    
      a=12;
      b=13;
      summe= a + b;
    
      cout << "Die Summe ergibt " << summe << ".";
    
      system("PAUSE");
    
      return 0;
    }
    

    Die Funktion system() führt Befehle des Betriebssystems aus; auf Windows-Rechnern
    beweirkt PAUSE, dass das laufende Programm angehlten wird. Du siehst von dem
    Programm nichts, weil kurz ein Konsolenfenster aufgeht, das Programm zu ende
    ist und es *sofort* wieder geschlossen wird - ohne dass du etwas gesehen hast.

    Hässlich ist das ganze, weil damit das Programm inkompatibel zu anderen
    Betriebssystemen wird. Für den Anfang würd ich das an deiner Stelle aber ohne
    schlechtes Gewissen benutzen.



  • [cpp]

    # include <stdio.h>
    # include <stdlib.h>
    using namespace std;
    int main()
    {
    int summe;
    int a;
    int b;

    a=12;
    b=13;
    summe= a + b;
    cout << "Die Summe ergibt" <<summe endl;
    cin.get();
    return 0;
    }
    ich programmier eigentlich nur unter c,aber etwas c++ kann ich auch...das müßte so hinauen...greets
    ciro



  • sorry!hab vergessen du mußt natürlich die iostream includieren....



  • Das Aktuelle C (ISO-C99) und C++ (ISO-C++98) sind zwei verschiedene Sprachen,
    C++ kann nur das was ANSI-C89 beherrscht. Neue Typen wiez.B. "long long" besitzt
    C++ nicht oder die dynamischen Built-in Arrays.

    In C könnte ein Programm wie folgt aussehen:

    main () {
     return 0;
    }
    

    In C++ könnte ein Programm wie folgt aussehen:

    int main () {
    }
    

    Beides ist zu dem jeweiligen Standard absolut konform und man sieht, dass sich
    beide Sprachen bereits in den einfachsten Minimalprogrammen unterscheiden.



  • Ich behaupte jetzt einfach mal ganz frech, dass gute C-Programme in der Regel
    auch C++ Programme sind (dies natürlich nur, wenn ANSI-C98 geschrieben wird;
    aber für ISO-C99 gibts doch noch kaum einen vernünftigen Compiler...) 🙂

    gruß,
    walker



  • c++eus schrieb:

    An dieser Stelle erfüllt System(Pause); aber seinen Zweck.

    Stimmt auch wieder.

    Nur heißt die Funktion weder SYSTEM noch System sondern einfach system... 😉



  • und noch genauer (weil es bis jetzt noch nicht gekommen ist)
    std::system. und dafür muss man auch die <cstdlib> einbinden, und nicht die <stdlib.h>, und das ist auch C++ eigen 😉



  • oh mann, der anfang fällt mir richtig schwer, da in meinem buch nix zu "iostream" steht noch was das includen am anfang soll. ich kenn zwar include() aus php, da ist es aber um externe scripte einfach einzubinden.
    thx ich schau mich erstmal in den tutorials hier um.



  • berocked.de schrieb:

    oh mann, der anfang fällt mir richtig schwer, da in meinem buch nix zu "iostream" steht

    Was für ein Buch ist das? Wenn es ein Buch über C (nicht C++) ist, ist das verständlich, in C gibts ja auch keine IOStreams. Für ein C++-Buch ist das allerdings unverzeihlich.



  • Bashar schrieb:

    berocked.de schrieb:

    oh mann, der anfang fällt mir richtig schwer, da in meinem buch nix zu "iostream" steht

    Was für ein Buch ist das? Wenn es ein Buch über C (nicht C++) ist, ist das verständlich, in C gibts ja auch keine IOStreams. Für ein C++-Buch ist das allerdings unverzeihlich.

    Naja auf dem Titel steht "C/C++" lol ich muss lachen.. Ich glaube das Buch fängt erst mit C an geht dann zu C++ was aber nicht explizit gesagt wird.
    ( http://www.c-plusplus.net/titelanzeige.php?ISBN=3898422739 ) (siehe smiley was bedeuten soll es ist für anfänger ;))



  • #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    
    using namespace std;
    
    int main(void)
    { 
      int summe;
      int a;
      int b;
    
      a=12;
      b=13;
      summe= a + b;
      cout << "Die Summe ergibt" <<summe endl;
    
      // cin.get(); // leert leider nur den eingabebuffer
      char c[1];
      cout << "Zum beenden Enter drücken!\n";
      cin.get(c, 1);
    
     return 0;
    }
    

    mfg



  • terraner schrieb:

    #include <stdio.h>
    #include <stdlib.h>
    

    Nimm bitte die neuen include dateien:

    #include <cstdio>
    #include <cstdlib>
    

    MfG Max


Anmelden zum Antworten