Hirdetés
- Kormányok / autós szimulátorok topikja
- Vezetékes FEJhallgatók
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Világrekordot ünnepel az ASRock
- Raspberry Pi
- Androidos tablet topic
- Apple MacBook
- Amlogic S905, S912 processzoros készülékek
- Milyen monitort vegyek?
Ú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 !!
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- LEGO klub
- A fociról könnyedén, egy baráti társaságban
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Napelem
- Kormányok / autós szimulátorok topikja
- Vezetékes FEJhallgatók
- Víz- gáz- és fűtésszerelés
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Sorozatok
- További aktív témák...
- 206 - Lenovo Legion Slim 7 (16IRH8) - Intel Core i7-13700H, RTX 4060 (ELKELT)
- iPhone 13 mini 128GB Green -1 ÉV GARANCIA -Kártyafüggetlen, MS3896, 95% Akkumulátor
- REFURBISHED és ÚJ - HP USB-C/A Universal Dock G2 (5TW13AA) (DisplayLink)
- HIBÁTLAN iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4648, 100% AKKSI
- HP EliteDesk 800 G2 (Tower) i5-6500,8GB DDR4,240GB SSD, DVD, WIN11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


