Problem bei Ausgabe



  • cout schickt KEIN Enter hinterher.
    cin ließt das enter aber glaube ich mit ein, aber warum benutzt du nicht einen std::string, anstatt des chararrays



  • UNd warum soll in seinem Fall bei cout das eingelesene ENTER von cin eine Rolle spielen?



  • In der Aufgabe soll ein Array benutzt werden...



  • Geht es vielleicht so in de3 Art?

    #include <iostream> 
    using namespace std; 
    
    int main() 
    { 
    
    char bin[256]; 
    int wert_1;
    stringstream ss;
    
    int i = 0; 
    
    for (int counter=0;counter<3;counter++) 
    { 
           cout<<"eingabe 1: "; 
           cin>>bin; 
    
                    for (wert_1 = i=0; bin[i]; i++) 
                    { 
                            wert_1 = wert_1  * 2  + bin[i] - 48; 
                    } 
    
                    if (counter==3) 
                    { 
                            cout<<ss<<"ok"; 
                    }
                    else
                            ss<<wert_1; 
    } 
    
    system("PAUSE"); 
    }
    


  • Da kommt die Ausgabe leider auch nicht so formatiert wie ich es brauche 😞

    Ich hab eben einfach mal der wert_1 Variable immer andere Variablen zu gewiesen.

    dann könnte ich es richtig formatiert ausgeben aber das geht doch bestimmt auch noch irgendwie anders weil meine Lösung wäre ja doch recht umständlich ...

    if (counter==0)
                          {
                           wert_1 = wert_0;
                          }
    


  • Nimm das

    cout<<"eingabe 1: ";
    

    aus der for-Schleife heraus und stelle es vor die for-Schleife, dann kannst Du mehr als eine Binärzahl eingeben und abarbeiten.

    eingabe 1: 111 111 111 110
    7 7 7 6
    

    Welche Entwicklungsumgebung verwendest Du?



  • Aber bei jeder Eingabe soll das Wort eingabe dort auch stehen _

    Entwicklungsumgebung: Borland C++ Builder 6



  • Ich habs fast geschafft.

    Aber bei der letzden Ausgabe da soll der Punkt nicht mit ausgeben werden kann man den irgendwie löschen wenn der bei speicher[2] ist?

    #include <iostream>
    using namespace std; 
    
    int main() 
    { 
    
    char bin[256];
    int speicher[256];
    
    int wert_1;
    
    int i = 0; 
    
    for (int counter=0;counter<2;counter++)
    {
    
    cout<<"eingabe 1: ";
           cin>>bin;
    
                    for (wert_1 = i=0; bin[i]; i++) 
                    { 
                            wert_1 = wert_1  * 2  + bin[i] - 48; 
                    } 
    
                   speicher[counter] = wert_1;
    
    }
    
            for (int counter=0;counter<2;counter++)
            {
    
            cout<<speicher[counter]<<".";
            }
    
    system("PAUSE"); 
    }
    


  • ausgabe schrieb:

    Aber bei der letzden Ausgabe da soll der Punkt nicht mit ausgeben werden kann man den irgendwie löschen wenn der bei speicher[2] ist?

    Wie wärs, wenn du in der Schleife nur bis 1 ausgibst?

    Übrigens wäre Einrückung einen Gedanken wert.



  • Ach verdammt geht doch nicht -.-

    Immer wenn die Zahlen größer als 9 sind gibt er es nicht richtig aus .......... 😡



  • JEEETTTZZZTT hab ich es aber geschafft enddllliiiccchh 🙂

    #include <iostream>
    using namespace std; 
    
    int main() 
    { 
    
    char bin[256];
    int speicher[4];
    int wert_1;
    int i = 0;
    
    for (int counter = 0 ; counter<4 ; counter ++ )
    {
    cout<<"eingabe 1: ";
           cin>>bin;
    
                    for (wert_1 = i=0; bin[i]; i++) 
                    { 
                            wert_1 = wert_1  * 2  + bin[i] - 48; 
                    } 
                    speicher[counter] = wert_1;
    }
    
    cout<<"IP Adresse: ";
    
    for (int j=0;j<3;j++)
    {
    cout<<speicher[j]<<".";
    }
    
    cout<<speicher[3];
    
    system("PAUSE");
    }
    


  • Wie gesagt: Einrückung. 😉

    Neben der Tatsache, dass sich so mehr Leute in diesem Forum deinen Code anschauen werden, hilft es dir auch selber bei der Übersicht.


Anmelden zum Antworten