Informatikpraktikum Studium:Zehnersystem in ein beliebiges System umwandeln



  • Hi!
    Unser Professor hat uns ein Aufgabenblatt ausgeteilt mit der Aufgabe:

    "Schreiben Sie ein Programm, das eine eingegebene Zahl aus dem Zehnersystem in
    einem frei wählbaren Zahlsystem darstellt. Als Ziffernsymbole größer als 9 sollen
    die Buchstaben 'a' bis 'z' verwendet werden.
    Damit ist die größtmögliche Basis 36, die kleinstmögliche 2; prüfen Sie die
    Einhaltung der Grenzen bei der Eingabe!
    Name des Programms: Basis
    Eingabe:
    ganze Zahl im Zehnersystem (int)
    Basis für alternative Darstellung (int)
    Ausgabe:
    Darstellung der Zahl zur alternativen Basis. (string)
    Fehlermeldung bei einer zu großen oder zu kleinen Basis. (string)"

    Ich habe keine Ahnung wie ich das anstellen könnte. Wäre euch unendlich dankbar, wenn ihr mir helfen könntet.

    Grüße



  • Ähhh... Wo ist denn das Problem?
    Weißt du nicht wie die Zahlensysteme funktionieren?
    Weißt du nicht wie man mit C++ Programme schreibt?

    Was ist genau dein Problem?



  • Wie das Zahlensystem funktioniert weiss ich schon, sry hab vergessen es reinzuschreiben, aber ich weiss nicht wie ich überhaupt anfangen soll es in das Programm umzuschreiben.

    Die Ausgaben des Programms sind klar, aber wie geh ich am besten vor?

    Vielen Dank schonmal fürs bloße antworten.



  • Spiel doch das ganze einfach mal auf Papier durch.
    Dann setzt du die Schritte in einem Programm um.
    Mehr gibt es da eigentlich nicht.

    Konzentrier dich vielleicht erst auf das Problem an sich und dann auf das drumherum (Ein- / Ausgabe, Fehlermeldungen etc.).



  • Wie sind denn so deine Programmierkenntnisse.
    Kennst du Variabeln ?
    Weisst du wie man Text, Zahlen einliest ?



  • Bin grad noch am grübeln wie ich das Programm aufbauen könnte.

    Ich würd sagen, dass meine Kenntnisse noch sehr sehr gering sind. Hatten bisher 4 mal Informatik.



  • xtx schrieb:

    Bin grad noch am grübeln wie ich das Programm aufbauen könnte.

    Ich würd sagen, dass meine Kenntnisse noch sehr sehr gering sind. Hatten bisher 4 mal Informatik.

    Der Aufbau ist eigentlich ganz einfach, da das Programm genau eine Aufgabe hat:

    – Argumente einlesen (es reicht, die Kommandozeilenargumente zu parsen)
    — Zahl umrechnen
    – Ergebnis ausgeben.

    Hier mal der generelle Ablauf (kann so übernommen werden):

    // Benutzungshinweis anzeigen.
    void print_usage();
    
    // Auslesen einer Dezimalzahl.
    int read_digital_number(string const& text);
    
    // Umwandeln in Ausgabeformat zur Basis 'base'.
    string convert_to_base(int number, int base);
    
    // Ausgabe des Ergebnisses.
    void print_result(string const& result);
    
    int main(int argc, char* argv[]) {
        if (argc != 3) {
            print_usage();
            return 1;
        }
    
        int number = read_digital_number(argv[1]);
        int base = read_digital_number(argv[2]);
        string result = convert_to_base(number, base);
    
        print_result(result);
    }
    


  • Vielen Dank!

    Habt mir sehr geholfen.

    Hab mir auch gleich mal deine Page angeschaut Konrad. Ist echt klasse!

    Grüße


Anmelden zum Antworten