HILFE!!! Schleifen



  • Also umgekehrt stelle ich mir schwieriger vor!
    Also von C hab ihc fast null ahnung!



  • Mache ja auch c ++ und nicht c.....

    Kannst du jeweils Kommentarzeile dazumachen, damit ich weiß was jetzt passiert, also in der jeweiligen Zeile????



  • Visual Newbie schrieb:

    Und überlege mir, ob es umgekehrt auch geht... also Dez in dual...

    na klar geht das...

    Visual Newbie schrieb:

    Nur wenn mir die Befehle nix sagen ist das immer schwer....

    vielleicht hätteste mal besser aufgepasst - oder der lehrer ist unfähig.

    Sascha081088 schrieb:

    Also von C hab ihc fast null ahnung!

    na, wenn du c++ kennst, dann kannste auch 90% von c



  • Gut, sorry falsch ausgedrückt....

    Ich arbeite mit c ++, was nicht heißt das ich von Ahnung hab...

    Sonst würd ich ja auch nicht Fragen....



  • Visual Newbie schrieb:

    Kannst du jeweils Kommentarzeile dazumachen, damit ich weiß was jetzt passiert, also in der jeweiligen Zeile????

    // schleife die alle zeichen des strings durchgeht
       // von links nach rechts
       for (s=0; s<strlen(bin); s++) 
       {
           // ergebnis vor jedem schleifendurchlauf
           // mit 2 multiplizieren (eine 2'er potenz weiter)
           res <<= 1;                
           // wenn eine '1' gefunden wurde, ergebnis eins hochzählen    
           // bei '0' oder anderen zeichen wird nur multipliziert
           // siehe oben
           if (bin[s] == '1')        
              res++;
       }
    


  • unsigned int res = 0; // Und das????

    printf // ????

    scanf ("%s", bin); // ????

    Danke
    🙂



  • Visual Newbie schrieb:

    unsigned int res = 0; // Und das????

    legt eine variable an vom typ 'unsigned int' und setzt sie auf 0

    Visual Newbie schrieb:

    printf // ????

    c-library ausgabefunktion, kannste auch 'cout' nehmen

    Visual Newbie schrieb:

    scanf ("%s", bin); // ????

    c-library eingabefunktion. der c++ freak nimmt dafür 'cin'



  • Last but not least....

    was bedeutet das Prozent Zeichen? Im Buch steht modulo Operator... ich sag nur Bahnhof....



  • net schrieb:

    #include <stdio.h>
    
    int main()
    {
       char bin[256];
       unsigned int res = 0;
       int s;
    
    start:   
       printf ("Binaerzahl eingeben: ");
       scanf ("%s", bin);
       
       for (s=0; s<strlen(bin); s++)
       {
           res <<= 1;    
           if (bin[s] == '1')
              res++;
       }
    
       printf ("%s ist als als Dezimalzahl: %d\n", bin, res);
    
       res = 0;
       goto start;
    }
    

    warum goto 😮
    was spricht gegen:

    while(1)
    { /****/}
    

    ps:irgendwie ist der in diesem thema gepostete code totaler mist 🤡

    edit: @net wenn du kein c++ programmieren kannst/willst dann verkauf das
    einem anfänger nicht als c++, mixed code ist hier nicht so gern gesehen



  • Auf jeden Fall funktioniert das Ding...

    while ... wohin??? statt goto? Zeig mal wie das funktioniert....

    net ist halt kein C++ Programmierer....



  • Visual Newbie schrieb:

    Last but not least....

    was bedeutet das Prozent Zeichen? Im Buch steht modulo Operator... ich sag nur Bahnhof....

    Der Modulo-Operator liefert dir den Divisonsrest einer ganzzahligen Division. D.h.

    5 % 4 == 1; denn die 4 geht einmal in die 5; Rest 1.
    10 % 10 == 0; denn die 10 geht einmal in die 10; Rest 0;
    2 % 1 == 0; denn die 1 geht zweimal in die 2; Rest 0;
    99 % 97 == 2; denn die 97 geht einmal in die 99; Rest 2.
    

    Gruß Caipi



  • icepacker schrieb:

    warum goto 😮
    was spricht gegen:

    while(1)
    { /****/}
    

    nix. das ist das gleiche.

    icepacker schrieb:

    ps:irgendwie ist der in diesem thema gepostete code totaler mist 🤡

    dann mach's besser anstatt zu meckern.

    icepacker schrieb:

    edit: @net wenn du kein c++ programmieren kannst/willst dann verkauf das
    einem anfänger nicht als c++, mixed code ist hier nicht so gern gesehen

    das macht nichts. visual newbie kommt bestimmt klar damit.

    Visual Newbie schrieb:

    net ist halt kein C++ Programmierer....

    wo er recht hat....



  • Kann mir dann mal jemand das c++ Programm das ich brauche, also die Umrechnung von Binärzahl in Dualzahl noch mal in C++ manier schreiben, mit cout und cin...da komm ich dann mit klar...wenigstens besser...

    Merci...

    Ihr bringt mich um mein bisschen Verstand...

    😃

    SChon passiert... Binärzahl in Dezimalzahl 😮



  • Visual Newbie schrieb:

    Kann mir dann mal jemand das c++ Programm das ich brauche, also die Umrechnung von Binärzahl in Dualzahl noch mal in C++ manier schreiben, mit cout und cin...da komm ich dann mit klar...wenigstens besser...

    ungefähr so...?

    #include <iostream>
    
    int main(int argc, char *argv[])
    {
       std::string bin;
       unsigned int res = 0;
       unsigned int s;
    
    start:  
       std::cout << "Binaerzahl eingeben: ";
       std::cin >> bin;
    
       for (s=0; s<bin.length(); s++)
       {
           res <<= 1;    
           if (bin[s] == '1')
              res++;
       }
    
       std::cout << bin << " ist als als Dezimalzahl: "  << res << std::endl;
    
       res = 0;
       goto start;
    }
    


  • net schrieb:

    icepacker schrieb:

    warum goto 😮
    was spricht gegen:

    while(1)
    { /****/}
    

    nix. das ist das gleiche.

    nix da 😡
    goto's sind fast nie vernünftig und sollten immer wenn es geht umgangen werden.
    schlechter stil, spaghettit code, etc.

    kann selber leider kein c++ 😉 , in c könnte ich es aber natürlich besser
    programmieren 🕶 , aber das wäre zu sehr off topic :p



  • icepacker schrieb:

    kann selber leider kein c++ 😉 , in c könnte ich es aber natürlich besser
    programmieren 🕶 , aber das wäre zu sehr off topic :p

    natürlich! erst dumm rummeckern und dann 'nen rückzieher machen. tztztz....



  • na gut hier das parade beispiel an schönem code 🙄

    #include <iostream>
    
    int main(int argc, char *argv[])
    {
       std::string bin;
       unsigned int res = 0;
       unsigned int s;
       int weiter;
    
       do
      { 
         std::cout << "\n\nBinaerzahl eingeben: ";
         std::cin >> bin;
    
         for (s=0; s<bin.length(); s++)
         {
             res <<= 1;    
             if (bin[s] == '1')
             res++;
         }
    
         std::cout << bin << " ist als als Dezimalzahl: "  << res << std::endl;
    
         res = 0;
         std::cout<<"erneute eingabe (1) oder beenden (0) ?";
         std::cin>>weiter;
    
      } while(weiter != 0);
    
    return 0;
    }
    


  • icepacker schrieb:

    na gut hier das parade beispiel an schönem code 🙄

    hmm... sicher das der von dir ist? kommt mir irgendwie bekannt vor...



  • an alle c Programmierer...

    using namespace std;
    erspart euch das std::

    🙂

    Das hab ich schon gelernt.... ypie



  • Visual Newbie schrieb:

    an alle c Programmierer...
    using namespace std;
    erspart euch das std::

    tja, wir dummerchen können mit den c++ leuten einfach nicht mithalten 😉


Anmelden zum Antworten