Kezdőoldal » Számítástechnika » Programozás » C++ -ban hogyan lehet eltároln...

C++ -ban hogyan lehet eltárolni szövegfájlból adatokat, ha nem tudom, hogy hány sor van?

Figyelt kérdés

Eddig mindig sikerült beolvasni, de belefutottam egy olyan feladatba, ahol nem tudom, hány sor van.


A txt-ben így vannak az adatok(hónap,nap,vezetéknév,keresztnév)

Pl.:

02 12

Kovács András

Hujber Ferenc

Hajós András

...(szóval itt akárhány soron keresztül lehet név)

03 22

Nagy Feró

Varga Zoltán

05 08

Keszthelyi Gergely



Szóval hogy tudnám letárolni ezeket?


2018. ápr. 23. 22:35
1 2
 1/18 anonim ***** válasza:
pl.: [link]
2018. ápr. 23. 23:13
Hasznos számodra ez a válasz?
 2/18 sharkxxx ***** válasza:

#include <iostream>

#include <fstream>

#include <vector> // Include the vector class.

int main() {

    using namespace std;

    int i;

    string line;

    vector<string> lines; // List of string objects.

    ifstream file;

    file.open("adatok.txt");

    if (file.is_open()) {

        while (file.peek() != EOF) {

            getline(file, line);

            lines.push_back(line); // Add new item to the end of the list.

        }

        file.close();

    }

    for (i = 0; i < lines.size(); i++) {

        cout << lines[i] << endl;

    }

    return EXIT_SUCCESS;

}

2018. ápr. 23. 23:20
Hasznos számodra ez a válasz?
 3/18 A kérdező kommentje:

Köszi, de vektort nem tanultunk.

Nem lehet egy struktúrás tömbbel megoldani?

2018. ápr. 24. 09:59
 4/18 anonim ***** válasza:

Pointeres dinamikus tömbbel is meg tudod csinálni, csak nem egyszerű és valószínűleg azt sem tanultátok még.

Statikus méretű tömbbel szerintem csak úgy tudod megcsinálni, ha jól fölébecsülöd a sorokszámát. Például deklarálsz egy 1000 vagy 10.000 vagy 100.000 vagy még több elemű tömböt.

2018. ápr. 24. 10:47
Hasznos számodra ez a válasz?
 5/18 anonim ***** válasza:

A C++ szabvány nem enged statikus tömböt változóból deklarálni. (Némelyik fordító engedi, de az nem szabványos.) Szóval ha semmilyen dinamikus megoldást nem használhatsz, akkor nehéz lesz.


Mit jelent az, hogy "eltárolni"? Esetleg adatbázisba pakolni..? :)

2018. ápr. 24. 12:54
Hasznos számodra ez a válasz?
 6/18 anonim ***** válasza:
A "new" operátort tanultátok?
2018. ápr. 24. 12:55
Hasznos számodra ez a válasz?
 7/18 A kérdező kommentje:

Nem tanultuk a new operátort. Úgy kelle tárolni, hogy tudjak műveleteket végezni azokkal a nevekkel amik egy adott hónaphoz és naphoz tartoznak. A hónapok és napok ismétlődhetnek a txt-ben, és nincsenek sorba rendezve.

Pl.:

01 15

Sallai Péter

Jónás Sándor

02 28

Villás Ferenc

01 15

Kepics Ádám


Szóval ha a január 15-ödikéhez tartozó nevekkel tudjak műveleteket végezni, és kilistázni (ez esetben így: Kepics Ádám, Sallai Péter, Jónás Sándor).


Csak struktúrát tanultunk, és tömböket. Szóval elvileg azzal kellene,de akkor csak vektorral lehet?

2018. ápr. 24. 13:52
 8/18 anonim ***** válasza:
Van egy maximum száma a neveknek egy dátum alatt?
2018. ápr. 24. 17:25
Hasznos számodra ez a válasz?
 9/18 anonim ***** válasza:
Megszámolod hány sor van ott mielőtt létrehozod neki a tömböt vagy dinamikusan "növeled" a tömb méretét (csinálsz egy ideigelenes tömböt a régi mérete+1, belemásolod a régi elemeket, hozzáadod a jelenlegi elemet, felülírod az eredeti tömböt az ideiglenessel.)
2018. ápr. 24. 17:43
Hasznos számodra ez a válasz?
 10/18 anonim ***** válasza:
#9, > A C++ szabvány nem enged statikus tömböt változóból deklarálni.
2018. ápr. 24. 19:44
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!