[C++] Aufgabe mit Hex/Oktal/Dezimal komme nicht weiter...

byte_head

Semiprofi
Thread Starter
Mitglied seit
08.10.2005
Beiträge
3.103
Ort
BaWü
Hi,

ich beschäftige mich seit gestern mit C++,
nun bin ich im Tut zu meinem ersten Tut angekommen,
ich komme einfach nicht weiter. :freak

hier mal die Aufgabe:

Tut schrieb:
Verwenden Sie in dieser Übung keine using-Anweisung und auch keine using-Directive!

Definieren und initialisieren Sie das Datum dblVar wie folgt:

double dblVal = 100.0/3.0;

Geben Sie das Datum dblVar dann mit 10 Stellen aus, wobei die nicht belegten Stellen mit dem Zeichen '*' aufzufüllen sind.

Definieren Sie ein zweites Datum number:
int number = 10;

Geben Sie das Datum number als Hexadezimal-, Oktal- und Dezimalzahl aus. Bei der Ausgabe soll die Kennung für die aktuelle Zahlenbasis mit ausgegeben werden.

So habe ich angefangen:

Code:
// include
#include <iostream>
#include <iomanip>
//prog

int main ( )
{
    //auszugebende daten
    double var1 = 100.0/3.0;
    int number = 10;
    //ausgabe
    std::cout << setprecision(10); << std::setfill('*') << var1;

}

Wenn ich das komplilieren will, gibt es schon Fehler, aber ich finde den Fehler nicht. :(
So soll es am Ende aussehen:

100/3 = ***33.3333
10 im 16er, 8er und 10er System:
Hex: 0xa, Okt: 012, Dez: 10


Ich kapiers nicht... -.-

Danke schonmal. :)
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Das ist nicht zufällig C# ?
Hinzugefügter Post:
versuch mal statt: std::cout << setprecision(10); << std::setfill('*') << var1;
das hier:
cout<< setprecision(10) << setfill('*') << var1;

ansonsten mal das semikolon nach setprecision(10) weg machen
 
Zuletzt bearbeitet:
dann vielleicht so: ::std::cout<< ::std::setprecision(10) << ::std::setfill('*') << var1;
 
Ich habs geschafft, so muss es sein. ;)

Code:
// include
#include <iostream>
#include <iomanip>
//prog

int main ( )
{
    //auszugebende daten
    double var1 = 100.0/3.0;
    int number = 10;
    //ausgabe
    std::cout << std::setprecision(6) << std::setw(10) << std::setfill('*') << var1;
    //ausgabe zeile 2
    std::cout << "\n10 im 16er, 8er und 10er System:\n";
    std::cout << std::showbase << "Hex: " << std::setbase(16) << number << ",";
    std::cout << " Okt: " << std::setbase(8) << number << ",";
    std::cout << " Dez: " << std::setbase(10) << number;
    getchar();
}

Habe aber schon wieder ein neues Problem... :fresse:
 
Hi byte head,
evtl als kleinen Tipp:
Schreib an den Anfang deines Programmes folgendes:
Code:
using namespace std;
Damit erreichst du, dass du nicht jedes mal std::cout schreiben musst. Also es würde dann folgendes reichen:
Code:
// include
#include <iostream>
#include <iomanip>
//prog
using namespace std;
int main ( )
{
    //auszugebende daten
    double var1 = 100.0/3.0;
    int number = 10;
    //ausgabe
    cout << setprecision(6) << setw(10) << setfill('*') << var1;
    //ausgabe zeile 2
    cout << "\n10 im 16er, 8er und 10er System:\n";
    cout << showbase << "Hex: " << setbase(16) << number << ",";
    cout << " Okt: " << setbase(8) << number << ",";
    cout << " Dez: " << setbase(10) << number;
    getchar();
}
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh