kommandozeilenargumente



  • Wer kann mir bei folgendem Problem helfen:

    Das Programm das ich schreiben muss, sieht folgendermaßen aus:
    C++:

    int main(int argc, char** argv)
    {
    ...

    Hierbei werden Komandozeilenargumente auf den Vektor char** argv eingelesen.Es handelt sich bei den Daten um zahlenfolgen die durch einen bindestrich getrennt sind : 111111-20 222222-18 .
    Diese möchte ich nun als integerwerte auf zwei getrennte Felder kopieren:
    im ersten feld soll dabei jeweils die zahl vor dem Bindestrich gespeicher werden
    also:
    arrayeins[1] == 111111
    arrayeins[2] == 222222
    im Zweiten Feld die zweite zahl:
    arrayzwei[1} == 20
    arrayzwei[2] == 18

    Bei den daten handelt es sich umm matrikelnummern (6stellig) mit zughörigem Klausurergebnis (0-20) pkt.

    wichtig ist hierbei außerdem, dass ich nur folgende include direktiven verwenden darf:
    iostream
    cmath
    cstring



  • "Helfen" heißt dass Du zeigst wie weit Du bist und wir Dein Programm verbessern bzw. Dir bei Stellen helfen an denen Du nicht weiter kommst, nicht dass wir Dir Deine Hausaufgaben machen!



  • HAb schon mehrere versuche gestartet, komme aber nicht mit der pointerarithmetik klar.

    #include <iostream>
    using namespace std;

    char array[500];

    void kon(char** pargv)
    {

    for (int k=0;k<2;k++)
    {

    int i=1;
    char* pointer= pargv[i];
    while(i<6)
    {

    array[i]= *pointer;

    i++;
    pointer++;

    }

    **pargv++;
    }

    }

    int main(int argc,char** argv)
    {

    kon(&*argv);

    int j=0;
    while(j<10)
    {
    cout<<"array"<<j<<" = "<<array[j]<<endl;
    j++;
    }

    return 0;

    }


Anmelden zum Antworten