Hallo Leute,
Ich soll für die Schule im Informatik Unterricht ein Programm schreiben.
Im Programmieren bin ich ein totaler Anfänger.
Das Programm soll eine Konsolen-Anwendung sein, wo man ein Zahl eintippt und diese dann umrechnet wird.
Ein Beispiel wäre z.B. das ich eine Dezimal Zahl eingebe Z.b 13 und die Konsole gibt mir davon dann die Binär und Hex Zahl aus.
Das habe ich auch geschafft.
Allerdings habe ich als weitere Aufgabe bekommen, das wenn man in die Konsole eine Binär Zahl eingibt, das in der Konsole dann die Hex und die Dezimal Zahl ausgibt.
Das gleiche sollte ich auch für die Hex Zahl machen (als Ausgabe steht da die Dezimal und die Binär Zahl).
Zudem soll das Programm beendet werden, wenn man den Buchstaben "Q" in die Konsole eintippt.
Den Code den ich bis hier hin geschrieben habe habe ich hier drunter gepackt.
Code Beispiel:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143:
| using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace Zahlen_umrechnen { class Program { static void Main(string[] args) { Console.Write("Geben Sie eine dezimale Zahl ein, die in verschiedene Zahlensysteme Konvertiert werden soll: "); if (Int32.TryParse(Console.ReadLine(), out int dezimal)) { Console.WriteLine("Dezimal = " + Dezimal(dezimal)); Console.WriteLine("Binaer = " + Binaer(dezimal)); Console.WriteLine("Hexadezimal = " + Hexadezimal(dezimal)); } else { Console.Clear(); Console.WriteLine("Bitte geben Sie nur ganze Zahlen an."); } Console.ReadKey(); }
static string Dezimal (int dezimal) { string dezimalString = Convert.ToString(dezimal); string dezimalAusgabe = dezimalString; for (int i = dezimalString.Length -3; i >= 1; i-=3) { dezimalAusgabe = dezimalAusgabe.Insert(i, "."); } return dezimalAusgabe; }
static string Binaer (int dezimal) { string binaer = "", binaerAusgabe = ""; int binaerlaenge = 0; while (dezimal > 0) { binaer += dezimal % 2; dezimal = dezimal / 2; }
for (int i = binaer.Length - 1; i >= 0; i--) { binaerAusgabe += binaer[i]; }
while(binaerAusgabe.Length % 4 != 0) { binaerAusgabe = binaerAusgabe.Insert(0, "0"); }
for(int i = 4; i <= binaerAusgabe.Length-5; i += 4) { binaerAusgabe = binaerAusgabe.Insert(i+binaerlaenge, " "); binaerlaenge++; }
return binaerAusgabe; }
static string Hexadezimal(int dezimal) { int zuordner, hexadezimallaenge = 0; string hexadezimal = "", hexadezimalAusgabe = ""; while (dezimal > 0) { zuordner = dezimal % 16; switch (zuordner) { case 0: hexadezimal += "0"; break; case 1: hexadezimal += "1"; break; case 2: hexadezimal += "2"; break; case 3: hexadezimal += "3"; break; case 4: hexadezimal += "4"; break; case 5: hexadezimal += "5"; break; case 6: hexadezimal += "6"; break; case 7: hexadezimal += "7"; break; case 8: hexadezimal += "8"; break; case 9: hexadezimal += "9"; break; case 10: hexadezimal += "A"; break; case 11: hexadezimal += "B"; break; case 12: hexadezimal += "C"; break; case 13: hexadezimal += "D"; break; case 14: hexadezimal += "E"; break; case 15: hexadezimal += "F"; break; } dezimal = dezimal / 16; }
for (int i = hexadezimal.Length - 1; i >= 0; i--) { hexadezimalAusgabe += hexadezimal[i]; }
for (int i = hexadezimalAusgabe.Length - 4; i >= 1; i -= 4) { hexadezimalAusgabe = hexadezimalAusgabe.Insert(i + hexadezimallaenge, " "); hexadezimallaenge++; }
return hexadezimalAusgabe; } } } |
Das hier oben ist mein Code denn ich bis jetzt geschrieben habe.
Ich bedanke mich für jede Antwort die ich bekomme.
Lena404
Moderiert von Narses: C#-Tags hinzugefügt