Laufprogramm



  • Hallo,
    ich habe vor kurzem angefangen C zu lernen und bin gerade dabei, ein Programm zu schreiben, was mir meine Laufdaten einliest und dann später wenn ich sie mir angucken will wieder ausgibt.
    Code:

    #include <stdio.h>

    int tag,mon; //3

    struct monat{ //2
    float time,str,pace;
    };

    struct tag { //1
    struct monat month[12];
    }day[31];

    void einlesen ()
    {
    printf("Datum(2008) :\nTag: ");
    scanf("%d",&tag);
    printf("Monat: ");
    scanf("%d",&mon);

    printf("Zeit: h\b\b\b\b\b");
    scanf("%f",&day[tag].month[mon].time);

    printf("Strecke: km\b\b\b\b\b\b");
    scanf("%f",&day[tag].month[mon].str);

    printf("Durchschnittspace: min/km\b\b\b\b\b\b\b\b");
    scanf("%f",&day[day].month[mon].pace);

    }

    void ausgeben ()
    {
    printf("Tag:");
    scanf("%d",&tag);
    printf("Monat:");
    scanf("%d",&mon);

    printf("Daten für den %d.%d.2008:\nZeit: %f h\nStrecke: %f km\nPace: %f min/km\n",tag,mon,day[tag].month[mon].time,day[tag].month[mon].str,day[day].month[mon].pace);
    }

    int main()
    {
    int i;
    printf("(1) Einlesen\n(2) Ausgeben\n(3) Ende\n< >\b\b");
    scanf("%d",&i);
    do{
    switch(i)
    {
    case 1:einlesen();break;
    case 2:ausgeben();break;
    case 3: return 0;
    default:printf("?\n");
    }
    }while(i!=3);
    }

    Wenn ich es dann kompiliere bekomme ich folgende Fehlermeldung:

    Laufzeiten.c: In function ‘einlesen’:
    Laufzeiten.c:51: error: array subscript is not an integer
    Laufzeiten.c: In function ‘ausgeben’:
    Laufzeiten.c:62: error: array subscript is not an integer

    Kann mir jemand helfen ?

    P3trus.



  • 1. Bitte Code-Tags benutzen, denn sonst ist dein Code unlesbar.

    2. Guck dir mal genau deine Stuckturdeklarationen an und schau dir die Fehlermeldungen an.


Anmelden zum Antworten