c++ kompletter neuling



  • schlaeftnix schrieb:

    @ unskilled.
    danke perfekt
    hat geklappt

    np - wär auch schwer gewesen, das nicht zu schaffen ;P

    schlaeftnix schrieb:

    wie bau ich das ganze in ne exe ein?
    [...]
    also ich meine dass sihc ned die cmd öffnet sondern ein ganz normales fenster.

    xD
    das kann standard C++ nicht - bitte fang wenigsten erst einmal an, dein Buch zu lesen...



  • bin gerade dabei.
    die enstehung und stärken und schwächen von c++ kann ich überspringen oder?



  • ja, wenn es dich nicht interessiert , kannst du es überspringen XD



  • uhsuhz schrieb:

    ja, wenn es dich nicht interessiert , kannst du es überspringen XD

    würd ich dir aber nicht empfehlen(ok, ich kenn das buch nicht - aber so etwas ist immer interessant)
    und es ist doch auch völlig egal, ob du jz anfängst, das kapitel 1 zu lesen oder ne stunde später!?



  • ich denke in das Kapitel sollte man mal ab und zu lesen an einem Stück ist das zu langweilig, eventuell kommt aufs Buch an.
    Aber ab und zu ist das mal ganz interessant, wie lang ist das denn, wenn das 10 - 20 Seiten sind ist das ja nicht ville



  • schlaeftnix schrieb:

    @ unskilled.
    danke perfekt
    hat geklappt
    nur frage,
    wie bau ich das ganze in ne exe ein?
    also das ich die blabla.exe ausführe
    und da drinn Hallo Welt steht
    also ich meine dass sihc ned die cmd öffnet sondern ein ganz normales fenster.

    Möchte die Aussage von unskilled ein wenig relativieren:
    Also Fenster kann man mit C++ schon programmieren, nur die blanke Sprache kennt keine Fenster. Dafür muss man auf Windows-Funktionen zurückgreifen. Diese kann man einbinden. Aber wie unskilled sagte: Les erstmal, lern die Sprache alles andere kommt mit der Zeit.
    Nur als Information nicht dass du uns die Motivation verlierst. 🕶 🤡
    rya.



  • also nächste frage,
    ich hab hier mal was kleines gescripted:
    sollte ganz einfach mal zu beginn mit der ASCII TABELLE Arbeitenund hab da mal folgendes probiert:

    "microsoft visual studio" öffnen, dann startseite:
    "Erstellen" (bzw. "Create", ) Projekt...
    "Visual C++"
    -> "Leeres Projekt"
    "Name"
    "Location": C:/Programmieren/Cpp
    "Solution Name":

    // main.ccp
    #include <iostream>
    using namespace std;
    int main (){
    	char ch1 = 'A';
    	char ch2 = 'B';
    	char ch3 = 67; //ASCII TABELLE = 'C'
    	char ch4 = 68; //ASCII TABELLE = 'D'
    	cout << ch1 << ch2 << ch3 << ch4 << '\n';
    		return 0;
    }
    

    gu und dann drück ich f5 zur kompelierung.
    wenn ich dan die (in meinem fall) char.exe ausführe öffnet sich jedoch nur ganz kurz das programm und schließt sich gleich wieder. warum?



  • Edit: Wie nutzt man denn die URL-Tags richtig?

    eigentlich so, aber manche urls werden auch dann falsch angezeigt

    Test

    Ups, hab Edit statt Quote geklickt.





  • und du hast in deinem buch nicht weitegelesen?
    wenn du das genau so liest, wie meine posts, seh ich schwarz:

    myself schrieb:

    #include <iostream>
    void halte_konsole_offen()
    {
      std::cin.clear();
      std::cin.ignore(std::cin.rdbuf()->in_avail());
      std::cin.get();
    }
    
    using namespace std;
    
    int main()
    {
      cout << "hallo welt!111elf" << endl;
    
      halte_konsole_offen();
    }
    

    was meinst du, was halte_konsole_offen(); macht?
    könnte es vll sein, dass du das bei jedem bsp. ans ende schreiben musst, damit die konsole sich nicht von alleine schließt?

    #include <iostream>
    using namespace std;
    int main (){
        char ch1 = 'A';
        char ch2 = 'B';
        char ch3 = 67; //ASCII TABELLE = 'C'
        char ch4 = 68; //ASCII TABELLE = 'D'
        cout << ch1 << ch2 << ch3 << ch4 << '\n';
            return 0;
    }
    

    ich wüsste nicht, wieso du so etwas machst...
    dem compiler ist es völlig bummie, ob du 'C' oder 67 oder 67*1 oder 52+15+1-1 schreibst...
    an welcher stelle in der ascii-tabelle 'C' steht musst du nie wissen...
    noch dazu ist das völlig unerheblich, weil es nicht vorgeschrieben ist, welcher zeichensatz intern verwendet wird...

    bb



  • also richtiger code wäre demnach:

    #include <iostream>
    void halte_konsole_offen()
    {
      std::cin.clear();
      std::cin.ignore(std::cin.rdbuf()->in_avail());
      std::cin.get();
    }
    using namespace std;
    int main (){
        char ch1 = 'A';
        char ch2 = 'B';
        char ch3 = 67; //ASCII TABELLE = 'C'
        char ch4 = 68; //ASCII TABELLE = 'D'
        cout << ch1 << ch2 << ch3 << ch4 << '\n';
            return 0;
    halte_konsole_offen();
    }
    


  • wie stellt man es denn in deinem buch an?

    vergleiche:

    int main()
    {
      cout << "hallo welt!111elf" << endl;
    
      halte_konsole_offen();
    }
    

    vs.

    int main (){
      cout << "ABCD" << endl;
    
      return 0;
      halte_konsole_offen();
    }
    

    return verlässt eine Funktion sofort(der Code dahinter wird niemals ausgeführt) - da das return in der main-fkt nicht notwendig ist, hab ich es auch weggelasssen und würde es niemals mitschreiben...
    wenn du es unbedingt weiterhin mitschreiben willst, ist klar, was du tun müsstest, oder?!

    bb



  • ahh danke kapiers (:



  • gut - und jz lies dein Buch! ;o)
    C++ lernt man nicht durch try and error...

    bb



  • ich lese nur is das nicht das ideale buch für anfänger X__X



  • schlaeftnix schrieb:

    ich lese nur is das nicht das ideale buch für anfänger X__X

    nur weil das hier in dem thread jmd von sich gegeben hat, dass es nicht das perfekte buch ist, wird es nicht so extrem versagen, wie man bei deinen fragen vermuten könnte...
    ich find es ein wenig dreist, dass jeder immer behauptet, dass es am buch oder am lehrer/dozenten liegen würde...
    ich wette, es steht im buch (nur nicht gleich auf dem deckblatt oder auf dem klappentext - und langsam hab ich den eindruck, dass du noch nicht viel mehr gelesen hast:P)

    bb



  • schlaeftnix schrieb:

    ... dann drück ich f5 zur kompelierung.
    wenn ich dan die (in meinem fall) char.exe ausführe öffnet sich jedoch nur ganz kurz das programm und schließt sich gleich wieder. warum?

    Mit F5 startest du den Debugger. Ohne gesetzten Haltepunkt saust das Ding dann durch dein Programm und beendet auch die Konsole wieder.

    Verwende Strg+F5 um dein Programm ohne Debugger einfach laufen zu lassen, dann sorgt die IDE dafür, dass die Konsole stehen bleibt bis du eine weitere beliebige Taste drückst.



  • ahh okay danke (:
    na ich lese schon brav (:
    nur hinterfrage auch geren u. wenn ich ned selbst auf ne antwort komme, frage ich hier.
    Vl. siehst du meine Fragen als unnötig bzw bereits in einem vorherigen beitrag sinngemäß erläutert, jedoch musst du immer bedenken dass ich gerade erst anfange und das verknüpfen noch nicht wirklich beherrsche.



  • [COLOR="Red"]Aktueller Stand:[/COLOR]

    // if2.cpp
    #include <iostream>
    #include <cstdlib>
    using namespace std;
    int main(void) {
    int var;
    cout << "[0] Ich will zu if\n";
    cout << "\nIhre Wahl bitte : ";
    if( (cin >> var) == false ) {
    cerr << "Fehler bei der Eingabe!\n";
    exit(1);
    }
    if( var == 0 ) {
    cout << "Du hast if gewählt!\n";
    }
    else {
    cout << "Du hast nicht [0] gewählt daher else\n";
    }
    return 0;
    }
    

    hoffe da war kein tipp-fehler drinn.
    stimmt das so?

    [COLOR="Red"]Ausgeführt will ich das bezwecken:[/COLOR]

    [o] Ich will zu if
    [1-9] Ich will zu else
    Ihre Wahl bitte: 0
    Du hast if gewählt!

    [0] Ich will zu if
    [1-9] Ich will zu else
    Ihre Wahl bitte : 6
    Du hast nicht [0] gewählt daher else.

    Jetz hab ich da noch ne frage könnt ich theoretisch auch:

    #include <iostream>
    using namespace std;
    
    int main(void) {
    long double wert;
    cout<< "Bitte eine Zahl :";
    cin >> wert;
    cout << "Die Eingabe war " << wert << '\n';
    return 0;
    }
    

    einschreiben um nicht:

    Du hast nicht [0] gewählt daher else.

    zu schreiben sondern um:

    Du hast << wert << eingegeben daher if/else.

    Danke für eure tolle Hilfe.
    Ich selbst finde dass ich bereits gute Vortschritte mache.



  • 1. sollte doch gehen!?
    wenn du es mehrfach hintereinander haben willst, müsstest du in deinem buch mal weiterlesen... (oder einfach im stichwortverzeichnis nach "schleifen" oder so suchen)

    2. "long double"? Oo "int" sollte ausreichen - und ja, das geht so(wenn du das if wieder einbaust) - zumindest, wenn ich deine frage richtig verstanden habe...

    bb


Anmelden zum Antworten