Hirdetés

Új hozzászólás Aktív témák

  • JmL

    csendes tag

    Sziasztok !
    Kezdő vagyok a C nyelvben, emelt szintű érettségihez tanulom. Nincsenek nagy követelmények, megcsináltam már pár feladatsort, mentek is. Az eleje úgy kezdődik mindig, hogy egy txt fájlból kell adatokat beolvasni tömbökbe. Ez eddig ment mindig, most viszont valami nagyon nem stimmel, és egyszerűen nem tudom miért, jól jönne egy kis segítség :/
    Szóval van egy fájl, konkrétan ez[link]

    Mivel az első sor tartalmaz a későbbiekben fontos adatokat, azokat csak sima változóba kell beolvasnom, tehát a tömbökbe való beolvasás a 2. sortól kezdődik. A problémám az, hogy mikor leellenőrzöm, hogy mindent jól olvasott-e be, nem azokat a számokat dobja ki, amiket kéne. Nem is látok benne logikát, hogy miért azokat dobja ki, amiket. Ráadásul valamelyik tömbelem jó, valamelyik nem.
    Itt a kódom, ha valamit magyarázzak hozzá, csak szóljatok.
    A txt-ben az első sor első száma azt jelenti, hogy hány sor van a tömbben a 2.-tól kezdődöen. 3 tömbbe olvasom az adatokat egy segédtömb segítségével. A segéd azért 3 elemű, mert a txt-ben lévő számok maximum 3 számjegyűek.

    int eladott_jegyek, vonal_hossz, fizetendo_osszeg, i;
    char seged[3];

    FILE * eladott = fopen ("eladott1.txt","rt");

    fscanf(eladott,"%s",seged);
    eladott_jegyek = atoi(seged);
    fscanf(eladott,"%s",seged);
    vonal_hossz = atoi(seged);
    fscanf(eladott,"%s",seged);
    fizetendo_osszeg = atoi(seged);

    int ules_szam[eladott_jegyek], fel_szall[eladott_jegyek], le_szall[eladott_jegyek];

    for (i=0;i<eladott_jegyek;i++) {
    fscanf(eladott,"%s",seged);
    ules_szam[i] = atoi(seged);
    fscanf(eladott,"%s",seged);
    fel_szall[i] = atoi(seged);
    fscanf(eladott,"%s",seged);
    le_szall[i] = atoi(seged);
    }

    for (i=0;i<eladott_jegyek;i++) {
    printf("%d ",ules_szam[i]);
    printf("%d ",fel_szall[i]);
    printf("%d\n",le_szall[i]);
    }

    Például már eleve az első sorok nem jók, az ules_szam tömb 0. eleme még jó, a fel_szall tömb 0. eleme szintén jó, majd a le_szall 0. eleme teljesen rossz, 12 helyett 1958474236-t olvas be.
    Nem értem, hogy miért, légyszi segítsetek :/
    Előre is köszönöm annak, aki fáradozik azzal hogy segítsen !! :)

    [ Szerkesztve ]

Új hozzászólás Aktív témák