Peršokti į turinį

C++ 2016 Manksta failo skaitymas


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2844 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki reikia pagalbos su 2016 metu egzu failo skaitymo funkcija , failas is kurio skaita :

10
prisitraukimai       10
atsispaudimai        15
atsilenkimai         12
prisitraukimai       4
atsilenkimai         15
atsilenkimai         10
prisitraukimai       12
atsilenkimai         10
atsispaudimai        2
atsispaudimai        2

uzduotis paprasta suskaiciuot kiek kokiu pratimu buvo padaryta per menesy
, pasirasiau failu skaitymo funkcija ir viskas kaip visada beveik veikia bet yra viena problemele :)

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

const string duom = "U2.txt";
const string rez = "rez.txt";
const char pav = 20;
const int amax = 10;

struct Vytas{
    string pavadinimas;
    int kiekis;
};

void fileRead(const string fn,Vytas v[]);

int main()
{
    Vytas v[amax];
    fileRead(duom,v);
    for(int a =0; a < 4; a++){ // testuoju gautus duomenis
      cout << v[a].pavadinimas << v[a].kiekis << endl;
    }

    return 0;
}

void fileRead(const string fn,Vytas v[]){
    int k; // failo eiluciu kintamasis
    char pv[pav]; // pavadinimo kintamasis
    int kiek; // kiekio kintamasis
    int l = 0; // kintamasis patikrint pavadinima
    ifstream fin(fn.c_str());
    fin >> k; 
    for(int a = 0; a < k; a++){  // ciklas tiek kiek faile yra eiluciu (10)
            fin.ignore(80, '\n');
            fin.get(pv,pav);// gaunu pavadinima"pv"
            fin >> kiek; // gaunu kieky "kiek"
            for(int b =0; b < amax; b++){// tikrinu ar jau egzistuoja toks pavadinimas amax= masyvo dudis
                if(pv == v[b].pavadinimas){
                    l = b; // jeigu pavadinimas egzistuoja priskiriu l b reiksmia 
                }
            }
            if(l != 0){// jeigu pavadinimas egzistavo priskiriu kiek l elementui 
                v[l].kiekis += kiek;
            }else{// jei nebuvo tokio pavadinimo sukuriu nauja pavadinima ir kiek reiksmia 
                v[a].pavadinimas = pv;
                v[a].kiekis = kiek;
            }
    }
    fin.close();
}

rezultatus kuriuos gaunu kai coutinu visa struktura ;

// resultatas kury gaunu 
prisitraukimai 10 
atsispaudimai 19
atsilenkimai 47
prisitraukimai 16
// koks turetu but resultatas
prisitraukimai 26
atsispaudimai 19
atsilenkimai 47


problema tame kad kazkodel buvo sukurtas prisitraukimai nors jis jau egzistavo , programa sukure du prisitraukimai su reiksmem 10 ir 16 nors jie turejo but sudeti nes ju pavadinimai vienodi

Redaguota , nario yahoo5000
Nuoroda į komentarą
Dalintis per kitą puslapį

Tame ir užduotis, kad gali būti parašyti betkokie žodžiai, ir jei jie tie patys tai sudedi skaičius. Tai reikia tikrinimų ar toks žodis yra jei ne įrašai į masyvą kokį, jei yra tai prideda tą skaičių jau prie esamo. Šeip kažkur turėtų būt mano išspręstas tik jis flash drive, kuris pas info mokytoja turbūt, nu tikuos bent. Ir gal geriau padaryk jei nėra tokio į -1, nes ciklas nuo 0 ir todėl taip gaunas.

Redaguota , nario manogugas
  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

Tame ir užduotis, kad gali būti parašyti betkokie žodžiai, ir jei jie tie patys tai sudedi skaičius. Tai reikia tikrinimų ar toks žodis yra jei ne įrašai į masyvą kokį, jei yra tai prideda tą skaičių jau prie esamo. Šeip kažkur turėtų būt mano išspręstas tik jis flash drive, kuris pas info mokytoja turbūt, nu tikuos bent. Ir gal geriau padaryk jei nėra tokio į -1, nes ciklas nuo 0 ir todėl taip gaunas.

jo -1 padejo kazkaip nepagalvojau apie tai

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2844 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...