» »

Datoteke c++ pomoč pri nalogi ...

Datoteke c++ pomoč pri nalogi ...

vbknez ::

Torej... imam eno nalogo pa mi neki ne dela tak ko bi moglo, pa bi prosu če bi mal pomagali. Naloga se glasi takolele:
Definiraj razred z imenom komponenta, ki vsebuje spremenljivke ime zaloga in cena. Določi jim primeren tip. POl pa v glavni zanki programa morš nardit tri polja komponent in jim dodelit pripadajoče podatke. Razred mora še vsebovat privzeti konstruktor in destructor, meotdo za vnos podatko in metodo za vpis komponente v datoteko.(Pri vsakem vpisu se podatki dodajo na konc datoteke).
Zgledad mora nekak takole:
komponenta 1:
ime: monitor
zaloga: 100
cena: 300
komponeta 2:
in pol isto še kle odspodj
Mene sam zmatra ko vpisuje notr v datoteko da mi povoz vse prejšne, tak da mi samo ta zadno stvar vpiše notr. Torej ta zadno komponento.
KODA:
using namespace std;
class komponenta
{
      string ime;
      string zaloga;
      string cena;
     
      
      public:
            
             komponenta::komponenta()
             {
                         ime="a";
                         zaloga=11;
                         cena=10;
                        
             }
           
      void vnos(string i, string z, string c)
      {
           ime=i;
           zaloga=z;
           cena=c;
      }
      
      void vpis(string i, string z, string c)
      {
           ofstream kom("dat.txt");
           if(kom.is_open())
           {
       kom < < "ime "< < i < endl;
      kom < < "zaloga "< < z < < endl;
    kom < < "cena "< < c < < endl;;
    kom < < endl;                   
           }
           kom.close();
      }
     ~komponenta(){}; 
};

int main()
{
    komponenta moja;
    string polje1[]={"monitor","11","300€"};
    string polje2[]={"miska","100","12€"};
    string polje3[]={"tipkovnica","10","50€"};
    moja.vnos(polje1[0],polje1[1],polje1[2]);
    moja.vpis(polje1[0],polje1[1],polje1[2]);
    moja.vnos(polje2[0],polje2[1],polje2[2]);
    moja.vpis(polje2[0],polje2[1],polje2[2]);
    moja.vnos(polje3[0],polje3[1],polje3[2]);
    moja.vpis(polje3[0],polje3[1],polje3[2]);
    
    
    system ("PAUSE");
    return EXIT_SUCCESS;
};
  • spremenil: Senitel ()

schtr4jh ::

Zaloga mora bit tipa int. Cena mora bit tipa float ali double. (samo informativno)

Pri zapisovanju v datoteko se najprej postavi na konec datoteke, nato pa zapiši kar hočeš.

Dovolj informacij?

vbknez ::

Hmmm... In kak se postavim na konc datoteke ? Je kkšna metoda za to ? Ker mi jih nismo jemal glih. Edino kar smo spoznal sta metodi tellp,g pa seekp,g.

blaz_ ::

Sicer nisem ravn expert v c++, ampak sm prepričan da ti enostavno prepišeš že obstoječo datoteko. Datoteko odpri enkrat (ne vsakič v funkciji vpis), oz. če jo moraš vsakič v funkciji vpis, potem nastavi tako da bo pravilno odprta - eno od teh zastavic moraš nastaviti: ios::ate ali ios::app pri open klicu. Kako točno si poglej tu: http://www.cplusplus.com/doc/tutorial/f...

Lp, Blaž
Ko tehnologija odpove, uporabi macolo.

vbknez ::

ios::app sm mogu tm dat. Res hvala za pomoč .

ERGY ::

Hmmm... In kak se postavim na konc datoteke ? Je kkšna metoda za to ? Ker mi jih nismo jemal glih. Edino kar smo spoznal sta metodi tellp,g pa seekp,g.


Zato pa ste jih vzeli. Z njimi se lahko postaviš na konec in dopišeš kar potrebuješ.

vbknez ::

Jah nwm . Jst sm jih uporabljal, pa je naredu sam to da mi je ime komponente izpisal z zamiko vse ostalo pa ob robu tak kot bi mogu(sam mi je zapisal sam tazadno komponento . Nwm kva sm tm zamoču. Mislm da sm dal dat.seekp(a) pred vpisom v datoteko in pol na konc, da je a=dat.tellp(); Pa mi je sicer zmeri prav izpisal kolk znakov je blo v vsakem polju z lastnosti komponent, sam zapisal mi je pa sam ta zadno komponento z zamikom v izpisu imena komponent.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Združevanje polj [C]

Oddelek: Programiranje
7884 (748) ragezor
»

križci krožci c # (strani: 1 2 )

Oddelek: Programiranje
5010800 (9459) Yacked2
»

SQL programiranje

Oddelek: Programiranje
81069 (759) slitkx
»

[PHP] empty array

Oddelek: Programiranje
91684 (1551) BigWhale
»

if(empty($_POST["vsa-polja"]))?

Oddelek: Izdelava spletišč
212398 (2013) Housy

Več podobnih tem