Wie kann ich in dieses Programm am besten eine do while Schleife einbauen, damit der User eine weitere Dezimal Zahl eingeben kann ?
-
#include <iostream>
#include <cmath>
using namespace std;
const int NUMBER_OF_DIGITS = 10;
char binaryArray[NUMBER_OF_DIGITS];
void decimalToBinary(int decimalNumber);
void displayBinaryArray();
int main()
{
cout << "Dezimal in Dual*****\n\n";
int decimalNumber = 0;
cin >> decimalNumber;
cout << endl << "Das Ergebnis lautet: ";
decimalToBinary(decimalNumber);
displayBinaryArray();
return 0;
}
void decimalToBinary(int decimalNumber)
{
for(int i = NUMBER_OF_DIGITS-1; i >=0; i--) {
int binaryStep = pow(2,i);
if( decimalNumber/binaryStep == 1 ) {
binaryArray[i] = '1';
decimalNumber-= binaryStep;
} else {
binaryArray[i] = '0';
}
}
}
void displayBinaryArray()
{
for(int i = NUMBER_OF_DIGITS-1; i>= 0; i--) {
cout << binaryArray[i];
}
}```cpp
-
@jslsfdj Schritt 0: den Code in deinem Posting ordentlich formatieren. Bearbeite deinen Post, markiere den Code und klicke das
</>
-Symbol an.
-
In main() würde es im Prinzip so aussehen. Ist nur ein Codefragment:
std::string input; std::cout << "Dezimal in Dual*****\n\n"; do { try { std::cout << "Nummer: "; std::getline(std::cin, input); num = std::stoi(input); std::cout << "Das Ergebnis lautet: ... " << std::endl; } catch (...) { } } while (input != "ende"); }
@wob sagte in Wie kann ich in dieses Programm am besten eine do while Schleife einbauen, damit der User eine weitere Dezimal Zahl eingeben kann ?:
@jslsfdj Schritt 0: den Code in deinem Posting ordentlich formatieren. Bearbeite deinen Post, markiere den Code und klicke das
</>
-Symbol an.Hmm, ist das so nötig? Vielleicht musst du mal 2 Million Zeilen Firmencode sehen, der historisch 35 Jahre gewachsen ist. Da ist das noch harmlos.
Tipp: da sieht man zum Beispiel sowas:
#define private public
(So gesehen in Software zum runterfahren von Atomreaktoren bei Areva Nuclear Power - nun Orano Firmengruppe)
-
Vielen Dank.
-
@VLSI_Akiko sagte in Wie kann ich in dieses Programm am besten eine do while Schleife einbauen, damit der User eine weitere Dezimal Zahl eingeben kann ?:
Hmm, ist das so nötig? Vielleicht musst du mal 2 Million Zeilen Firmencode sehen, der historisch 35 Jahre gewachsen ist. Da ist das noch harmlos.
Es geht nicht um nötig. Es geht darum dass es keinen Spass macht. Und darum dass jemand der Hilfe sucht eigentlich den Anstand und die Eigeninitiative haben sollte sich zu ergoogeln wie man Code im Forum formatiert bevor er eine Frage stellt.
-
Apropos 2 Millionen Zeilen Firmencode: Statt
try
,getline
,stoi
,catch
, etc. vielleicht einfachwhile (cin >> integervariable) cout << "Das Ergebnis lautet: ";
?
-
@SeppJ sagte in Wie kann ich in dieses Programm am besten eine do while Schleife einbauen, damit der User eine weitere Dezimal Zahl eingeben kann ?:
Apropos 2 Millionen Zeilen Firmencode: Statt
try
,getline
,stoi
,catch
, etc. vielleicht einfachwhile (cin >> integervariable) cout << "Das Ergebnis lautet: ";
?
Sicher, geht auch. So fliegen auch keine Exceptions. Allerdings bricht while dann bei jeder Fehleingabe ab, ohne dass man weiß was los ist. Geb zum Beispiel mal 3 Milliarden ein.
-
@VLSI_Akiko sagte in Wie kann ich in dieses Programm am besten eine do while Schleife einbauen, damit der User eine weitere Dezimal Zahl eingeben kann ?:
Hmm, ist das so nötig?
Ja, weil der Code ansonsten schlecht lesbar ist - und vor allem: weil ansonsten
*
als Formatierungszeichen für kursiv verwendet wird. Es ist eine Arbeit von 1 Sekunde und macht es für alle helfwilligen 100x leichter.