Peršokti į turinį

C++ 2010 Gimatadienis


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2845 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 pradejau sprest 2010 metu egzamino zuduoty gimtadienis uzduotis neatrodo sunki ar kazka bet kazkodel nepavyksta gauti teisingu atsakymu isiaiskinau jog kazkodel nepilnai nuskaito faila , failas kury skaitom :

6 5 // produktu ir patiekalu kiekis
12 25 35 2 3 9 // produktu kainos centais
Salotos         5 1  0  0 2 1  // pavadinimas ir kiek kokiu produktu reikes
Kepsnys         6 3 12  9 0 0 
Gaiva           0 0  1 15 1 0 
Ledai Miau      0 0  5  5 5 1 
Tortas          1 2  1  1 1 1 

pasirasiau skaitymo funkcija ir iskarto nepatikrines pasirasiau funkcija kuri skaiciuoja vieno patiekalo kaina ko praso uzduoty bet kai pradejau gauti neteisingus rezultatus pradejau viska tikrinti ir priejau prie to jog failas nuskaitytas ne iki pat pabaigos :

6 5 
12 25 35 2 3 9 
Salotos         5 1  0  0 2 1 
Kepsnys         6 3 12  9 0 0 
Gaiva           0 0  1 15 1 0 
Ledai Miau   <-- nuskaite iki cia   0 0  5  5 5 1 
Tortas          1 2  1  1 1 1 
// ledai miau buvo nuskaitytas tik pavadinimas ingridientu kiekio 
ir penkto patiekalo nenuskaite ir nlb suprantu kodel nes jeigu visus iki 
siol nuskaite tai turejo ir 
juos nuskaityt gal kazkas su mano strukturos dydziais ar dar kazkuom blogai help

cia mano kodas :

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

const string duom = "U2.txt";
const string rez = "rez.txt";
const int asize = 6;

struct Patiekalai{
    string pavadinimas; // patiekalo pavadinimas 
    int ingridientai; // patiekalo ingridiantai
    int ingkaina; // ingridiantu kaina 
    int pkaina; // patiekalo kaina centais 
};

void fileRead(const string fn, Patiekalai v[],int & pat,int & ing);
void patiekaloKaina(Patiekalai v[],int pat,int ing);

int main()
{
    int pat,ing;
    Patiekalai v[asize];
    fileRead(duom,v,pat,ing);
    patiekaloKaina(v,pat,ing);
    /*for(int a = 0; a < 5; a++){ // cia tik tikrinam ar visi duomenys teisingi
            cout << v[a].pavadinimas << endl;
        for(int b = 0; b < 6; b++){
            cout << v[b].ingridientai << endl;
        }
    }*/
    return 0;
}


void fileRead(const string fn, Patiekalai v[],int & pat,int & ing){
    ifstream fin(fn.c_str());
    fin >> ing >> pat; // nusiskaitau pirmus du skaicius patiekalu ir ingridientu 
    for(int a =0; a < ing; a++){ // saugom ingridiantu kainas i struktura
        fin >> v[a].ingkaina;
    }
    for(int b = 0; b < pat; b++){ // do for cilai (5,6) pasijemam kiekvieno patiekalo pavadinima ir tada kitam cikle jo ingridientus
        fin >> v[b].pavadinimas;
        for(int c = 0; c < ing; c++){
            fin >> v[c].ingridientai;
        }
    }
    fin.close();
}

void patiekaloKaina(Patiekalai v[],int pat,int ing){
    for(int a = 0; a < pat; a++){
        int viso = 0;
        for(int b = 0; b < ing; b++){
            viso += v[b].ingridientai * v[b].ingkaina;
        }
        v[a].pkaina = viso;
    }
}

Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

o pasiziurek ar v[x].ingridientai visi iki tol kiek nuskaito ar normaliai uzpildyti

Salotos         5 1  0  0 2 1
Kepsnys         6 3 12  9 0 0 
Gaiva           0 0  1 15 1 0 
Ledai Miau 

Va iki cia viskas uzpildyta

 

Salotos 5 1 0 0 2 1
Kepsnys 6 3 12 9 0 0
Gaiva 0 0 1 15 1 0
Ledai Miau 0 0 1 15 1 0
           0 0 1 15 1 0
// vatokius rezultatus gaunu 
Redaguota , nario yahoo5000
Nuoroda į komentarą
Dalintis per kitą puslapį

Mano kažkada darytas skaitymas:
 

/// Duomenų skaitymas iš failo
void Skaitymas(int &n, int Kaina[], Patiekalai A[], int &m){
    char eil[cpav+1];
    ifstream in("U2.txt");
    in >> n >> m;
    for(int i=0;i<n;i++){
        in >> Kaina[i];
    }
    in.ignore(80, '\n');
    for(int i=0;i<m;i++){
        in.get(eil,cpav);
        A[i].pavadinimas = eil;
        in.ignore(80, ' ');
        for(int j=0;j<n;j++){
            in >> A[i].Produkt[j];
        }
        in.ignore(80, '\n');
    }
    in.close();

Turiu ir visą užduotį:
http://hastebin.com/mitesumaso.cs

Nuoroda į komentarą
Dalintis per kitą puslapį

Mano kažkada darytas skaitymas:

 

/// Duomenų skaitymas iš failo
void Skaitymas(int &n, int Kaina[], Patiekalai A[], int &m){
    char eil[cpav+1];
    ifstream in("U2.txt");
    in >> n >> m;
    for(int i=0;i<n;i++){
        in >> Kaina[i];
    }
    in.ignore(80, '\n');
    for(int i=0;i<m;i++){
        in.get(eil,cpav);
        A[i].pavadinimas = eil;
        in.ignore(80, ' ');
        for(int j=0;j<n;j++){
            in >> A[i].Produkt[j];
        }
        in.ignore(80, '\n');
    }
    in.close();

Turiu ir visą užduotį:

http://hastebin.com/mitesumaso.cs

ce kaip suprantu del mano strukturos , nes pas tave kiek matau masyvai priskirti ingridientam

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2845 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ą...