mehrdimensionale felder



  • hallo forumsteilnehmer,

    ich bin glücklicherweise auf dieses c-forum gestoßen und hoffe nun dass ihr mir helfen könnt!
    ich habe in der berufsschule eine aufgabe bekommen, du für meinen wissensstand doch noch sehr knifflig ist.
    ich habe 10 bankkonten. nun soll ich mit hilfe von mehrdimensionalen feldern 10 kontonummern, 10 pin-nummern und 10 guthaben in einem array speichern.

    wie stelle ich das am besten an?

    danke im voraus!



  • Erstell dir ein Zweidimensionales Array.
    z.B.:

    int Konto[10][10];     //kannst ja auch char, double und float verwenden
    

    und so sprichst du die einzelnen Felder an

    Kontonummern   PIN            Guthaben
    Konto[0][0]    Konto[0][1]    Konto[0][2]
    Konto[1][0]    Konto[1][1]    Konto[1][2]
    Konto[2][0]    Konto[2][1]    Konto[2][2]
    .
    .
    .
    Konto[9][0]    Konto[9][1]    Konto[9][2]
    

    Mfg hohesC



  • hi!

    ich würds mit einem struct array machen, weil ja zB pin = int, aber kontostand eher double oder so:
    *ungetestet*

    typedef struct konto {
        int kontonummer;
        char *inhaber;
        double kontostand;
        ........
    }
    
    konto a[10];
    usw.... speicher für struct reservieren nicht vergessen...
    

    hth,
    ciao



  • @hephaistos6: Klar geht auch!
    Aber:

    mit hilfe von mehrdimensionalen

    mfg hohesC



  • sorry. ver/überlesen.



  • danke für eure schnelle hilfe!
    gibt es jetzt auch noch eine möglichkeit, allen konten einen kontostand von 2000 zuzuweisen?
    mit einer for-schleife vielleicht?

    gruß



  • NP 😉 ,trotzdem gute lösung!



  • Mit for-Schleife

    for(x=0;x<=9;x++)
    {
        Konto[x][2]=2000;
    }
    

    mfg hohesC



  • die Variante funktioniert nur wenn dus wie oben in meinem Beispiel machst!



  • hohesC schrieb:

    Mit for-Schleife

    for(x=0;x<=9;x++)
    {
        Konto[x][2]=2000;
    }
    

    mfg hohesC

    ha, genauso hab ich es gemacht! dann ist ja doch noch nicht alles verloren 😃
    vielen dank für die hilfe!



  • wenn ich jetzt einzelne elemente des arrays ansprechen oder vergleichen will, wie muss ich das machen?
    nehmen wir an, ich habe eine eingabe, bei der ich eine kontonummer eintippen muss:

    scanf("%lf", kontonummer);
    
    if (kontonummer == konto[?][?]) {
         printf("Ihr aktuelles Guthaben betraegt %lf EUR.", konto[?][?]);
    }
    

    ich hoffe meine formulierung war verständlich. was muss ich für die fragezeichen einsetzen, bzw. ist mein ansatz überhaupt richtig?



  • hi,

    ohne einer schleife wirds nicht gehen...

    int i;
    for ( i=0; i<ROWS; i++ ) {
        if ( kontonummer == konto[i][KONTONUMMERNSPALTE] ){
           /* to was wahnsinnig wichtiges */
           break;
        }
    }
    

    wobei ROWS für deine anzahl an konten steht...
    und KONTONUMMERNSPALTE für deine spalte, in der du kontonummern speicherst (wenn du es, wie HohesC vorgeschlagen, gemacht hast, dann müsste das Index 0 sein)...

    hth,
    ciao


Anmelden zum Antworten