Laden...

Forenbeiträge von lena404 Ingesamt 4 Beiträge

18.09.2021 - 21:56 Uhr

Also ich habe dir mal den genaue Aufgabenstellung eines Lehrers hier rein gepackt:

  1. Programmiere einen Dezimal Binär Hexadezimalumrechner

a)
Erstelle eine C# Konsolenanwendung.
Es soll eine Zahl (egal ob Binär, Dezimal oder Hexadezimal) eingegeben werden
können. Die Eingaben von Hexadezimal und Binär kannst Du z.B. vorher Kennzeichnen,
um sie von einander unterscheiden zu können.
Bei ungültigen Eingaben muss eine Fehlermeldung ausgegeben werden.
Die beiden anderen Formate sollen berechnet
und ausgegeben werden.

b)
Realisiere das gleiche Projekt mit WinForms

18.09.2021 - 21:06 Uhr

Bei meinem Programm werden nur ganze Zahlen umgerechnet.

Je nach Eingabe in der Konsole sollen sich die Ausgabe ändern.

So soll bei einer Binären Zahl in Hex und Dezimal umgerechnet werden.
Bei einer Eingabe von einer Hex Zahl soll eine Dezimal und eine Binäre Zahl in der Konsole ausgeben werden.
Und bei einer Dezimal Zahl soll die Konsole die Hex und die Binäre Zahl ausgeben.

18.09.2021 - 13:57 Uhr

Hallo

Und danke für deine schelle Antwort.

Ich wollte das man bevor man bevor man eine Zahl eingibt ein Buchstabe eingibt der jeweils für ein Zahlensystem steht.

Also wenn man z.B. ein x eingibt soll eine Dezimal Zahl eingeben werden und diese wird dann in Binär und in Hex ausgeben werden.

Bei den anderen beiden wollte ich nach dem selben Prizip vorgehen nur das ich halt einen anderen Buchstaben benutze.

17.09.2021 - 15:05 Uhr

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 Konsol 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 dan die Binär und Hex Zahl aus.

Das habe ichh 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.


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.

Lena