Problem mit bool initializing
-
@Swordfish um erlich zu sein muss ich das morgen abgeben mit 4 anderen Umrechnern, 1 klappt durch youtube , wäre es zuviel gefragt von mir wenn du das für mich machen könntest da ich grad kurz vorm Kollaps stehe.
es tut mir leid damit deine Zeit zu verschwenden......
ich mache gleich den structorizer dann gebe ich es auf....
-
@HeavyStrike sagte in Problem mit bool initializing:
um erlich zu sein muss ich das morgen abgeben
In dem Fall nimm bitte deinen zuletzt geposteten Code, tausche
<cstdlib>
gegen<string>
. Dann packst Du Zeilen 38 und 39 so wie sie sind unter dasswitch
in diefor
-Schleife. Ist zwar nicht perfekt aber funktioniert für viele Eingaben. Viel Glück.
-
@Swordfish Vielen Dank für deine Hilfe!
und ein Gute Nacht
-
@HeavyStrike sagte in Problem mit bool initializing:
Nicht den Kopf hängen lassen. Mach jetzt hinne und probiers aus. Wenns nicht tut Zeig nochmal deinen Code.
-
@Swordfish Die Ausgabe sieht so aus:
Sie haben den UmwandlerVon Hexadezimal zu Dezimal
ausgewaehlt
Hex in Dez - Umrechnung
Geben Sie Ihre Hexadezimalzahl ein
1b
Laenge2
11
1
67Ergebnis:17179
Process exited after 2.532 seconds with return value 0
Drücken Sie eine beliebige Taste . . .code ist derzeit (Empfehlung es ist in case 3, damit du nicht suchen musst):
#include <iostream> #include <cstdlib> #include <String> using namespace std; int main(int argc, char** argv) { char Antwort; int zahl; int count = 0, rest[32]; //---------Ausgabe der Vorinformationen------------------------------- cout <<"Dies ist der Multiumrechner."<<endl ; cout <<"Waehlen sie Ihre gewuenschte Umrechnungsart aus."; cout <<"\nVon Dezimal zu Hexadezimal : 1" << endl; cout <<"Von Dezimal zu Binaer : 2" << endl; cout <<"Von Hexadezimal zu Dezimal : 3" << endl; cout <<"Von Hexadezimal zu Binaer : 4" << endl; cout <<"Von Binaer zu Hexadezimal : 5" << endl; cout <<"Von Binaer zu Dezimal : 6\n \n \n" << endl; cout <<"Bitte geben sie Ihre Antwort ein"<< endl; //-------- EInelesen der Antwort--------------------------- cin >>Antwort; //----------------Switch zur Antwortsunterscheidung---------------------------- switch(Antwort) { //***********Von Dezimal zu Hexadezimal **************** case'1': { system("cls"); cout << "\nSie haben den Umwandler ``Von Dezimal zu Hexadezimal`` ausgewaehlt"; cout << "\n\n\nBitte geben Sie eine Dezimal Zahl ein: "; cin >> zahl; // Berechnung / Ausgabe Hexadezimal cout << "Umgerechnet in eine Hexadezimal Zahl lautet diese: "; cout << endl; while (zahl!=0) { cout << (zahl%16) <<endl; zahl = zahl / 16; } } break; //*********** Von Dezimal zu Binaer **************** case'2': { system("cls"); //Leeren der Bildschirmes cout <<"\nSie haben den Umwandler ``Von Dezimal zu Binaer`` ausgewaehlt"<< endl; //Titel der gewaehlten Option //--------Integer---------- -------------------------- bool go = true; string run; while(go == true) //Beginn der Schleife { cout <<"Bitte geben Sie eine Dezimalzahl ein\n"; cin >>zahl; //-----------Schleifenbeginn----------------- for(int i= 0;i<32; i++) //Bedingung der Berechnung { rest[i] = zahl%2; zahl = zahl / 2; count++; if(zahl==0) // Outbreak aus der Schleife { break; } } //-----------Schleifenbeginn fuer Berechnung----------------- while(count > 0) //Zaehler { cout << rest[count - 1]; count--; } cout <<"\nNeue Berechnung? (y/n)"; //abfrage cin >>run; if(run=="n") { break; } else if(run == "y") { go = true; } else { cout<<"Fehlerhafte Eingabe. Bitte wiederholen Sie die Eingabe"; // Bei Fehlerhaften Einagebe cout <<"\nNeue Berechnung? (y/n)"; cin >> run; } if(run=="n") { break; } else if(run == "y") { go = true; } else { break; } } cin.get(); } break; //*********** Von Hexadezimal zu Dezimal **************** case'3': { system("cls"); //Leeren der Bildschirmes cout <<"\nSie haben den Umwandler ``Von Hexadezimal zu Dezimal`` ausgewaehlt"<< endl; //Titel der gewaehlten Option int i=0, s=0, laenge; //i und s f¨¹r das Array int dezWerte=0; //um Falsche Ausgaben zu verhindern string HexEingabe; int HexArray[4]; //[4] f¨¹r die 4 Eingaben/Zeichen int HexVorgabe [4] ={1, 16, 256, 4096}; // 16 hoch 0-3 Ergebnisse cout <<"Hex in Dez - Umrechnung" <<endl; cout <<"Geben Sie Ihre Hexadezimalzahl ein\n"; cin >> HexEingabe; laenge = HexEingabe.length(); //Analyse der L?nge f¨¹r sp?tere Verwendung cout <<"Laenge" << laenge << endl; for(i=laenge-1; i>=0; i--) //Beginn des Case { switch (HexEingabe[i]) { case'A': case'a': HexArray[s]=10; break; case'B': case'b': HexArray[s]=11; break; case'C': case'c': HexArray[s]=12; break; case'D': case'd': HexArray[s]=13; break; case'E': case'e': HexArray[s]=14; break; case'F': case'f': HexArray[s]=15; break; default : HexArray[s]= HexEingabe[i]-48; } cout <<HexArray[s]<<endl; dezWerte = dezWerte+ HexVorgabe[s]*HexArray[s];s = s+1; } cout <<HexArray[s]<<endl; dezWerte = dezWerte+ HexVorgabe[s]*HexArray[s];s = s+1; cout << endl<< "Ergebnis:" << dezWerte; } break; //*********** Von Hexadezimal zu Binaer **************** case'4': { cout<<"Antwort"<<endl; } break; //*********** Von Binaer zu Hexadezimal **************** case'5': { cout<<"Antwort"<<endl; } break; //*********** Von Binaer zu Dezimal **************** case'6': { cout<<"Antwort"<<endl; } break; } }
-
@Swordfish sagte in Problem mit bool initializing:
Dann packst Du Zeilen 38 und 39 so wie sie sind unter das switch in die for-Schleife.
Damit war gemeint verschieben, nicht kopieren.
-
@Swordfish oops , habe die kopie von zeile 157 und 158 entfernt
jetzt die Ausgabe :
Sie haben den UmwandlerVon Hexadezimal zu Dezimal
ausgewaehlt
Hex in Dez - Umrechnung
Geben Sie Ihre Hexadezimalzahl ein
1b
Laenge2
11
1Ergebnis:27
-
-
@Swordfish Vielen Dank für deine Hilfe und deine Geduld
Mir Fehlen noch 3 Umrechner, jedoch schreibe ich morgen zeitgleich ne Klausur und brauche Schlaf (nach dem Structorizer)
also beende ich das Structogramm und gehe schlafen.Vielen Dank, mit Glück rettet das meine Note!
-
@Swordfish Oder haste zufälligerweise nen mit Grundkenntnissen geschriebennen Rechnern rumliegen:
Hex zu Binär
Binär zu Hex
Binär zu Dezimal
-
Leider nein. Und das wäre auch nicht fair deinen Kommilitonen gegenüber.
-
die haben in 80% der fällen 3 Jahre vorerfahrung aber naja , das muss reichen , Vielen Dank nochmal und noch eine Gute Nacht/Guten Morgen