Forum » Programiranje » 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:
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?
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ž
Lp, Blaž
Ko tehnologija odpove, uporabi macolo.

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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Združevanje polj [C]Oddelek: Programiranje | 1025 (889) | ragezor |
» | križci krožci c # (strani: 1 2 )Oddelek: Programiranje | 12252 (10911) | Yacked2 |
» | SQL programiranjeOddelek: Programiranje | 1224 (914) | slitkx |
» | [PHP] empty arrayOddelek: Programiranje | 1943 (1810) | BigWhale |
» | if(empty($_POST["vsa-polja"]))?Oddelek: Izdelava spletišč | 2651 (2266) | Housy |