Kommandozeilenparameter



  • Hey,
    ich bin grade in der Uni in meinem ersten Semester in Informatik und Programmmieren ist noch ziemliches Neuland für mich, da ich davor nie programmiert habe.
    Wir kommen ab und zu Übungsaufgaben gestellt und komme bei einer nicht weiter:

    Schreiben Sie ein Programm, dem man mit einem Kommandozeilenparameter eine Zahl übergeben kann, welche dann in einer Variable vom Datentyp short abgespeichert wird (falls möglich). Das Programm soll jeweils mit einer entsprechenden Fehlermeldung abgebrochen werden, wenn zu wenige (gar keine) oder zu viele Kommandozeilenparameter (2 oder mehr) bei Programmaufruf übergeben wurden.

    ((Wenn die eingegebenen Zahl außerhalb des Darstellungsbereich von short ist,
    dann soll eine Fehlermeldung auf der Konsole ausgegeben und das Programm beendet werden – anderenfalls soll die Zahl in der Variable abgespeichert und dann auf der Konsole ausgegeben
    werden. ))

    Die Aufgabenstellung beim untere Absatz sollte kein Problem sein und deswegen eingeklammert
    Meine Frage ist: Wie kann ich bei meiner Funktion definieren, wie viele Kommandozeilenparameter benutzt werden dürfen?
    Ich hoffe, dass mir jemand helfen kann. 🙂
    MfG,
    Stephan



  • Ich nehme mal an, dass es ein C Programm werden soll.
    Der C Standard definiert als Schnittstelle zum hosted environment 2 Varianten der obligatorischen main-Funktion

    int main(void)
    int main(int argc,char *argv[])
    

    aber das hat dir dein Lehrer sicher beigebracht. Jetzt darfst du raten, welche der beiden Varianten für dein Problem richtig ist; und dann schaust du in deiner Vorlesungsmitschrift nach, was dort zur Anzahl der Parameter an main (d.h. Kommandozeilenparameter) geschrieben steht.

    ((Wenn die eingegebenen Zahl außerhalb des Darstellungsbereich von short ist,...

    Die Aufgabenstellung beim untere Absatz sollte kein Problem sein

    Ich bezweifle, dass das für dich kein Problem ist.
    Und bei der nächsten Frage präsentierst du Code und nicht Prosa.


Log in to reply