Program sam pravio u dev c++, tek sam pocetnik pa ce se mozda naci i neka greska. Program sadrzi dva file-a jedan je .exe a drugi je .txt u koji se moze upisati ili izmjeniti naziv predmeta (trenutno su upisani predmeti koje ja imam). Prvi red u .txt datoteci sluzi programu da odredi koliko se redova tj. predmeta nalazi u datoteci sto znaci ako imate 16 predmeta samo umjesto 15 upisete 16 i u novu liniju dodate jos jedan naziv predmeta (nisam znao kako da napravim provjeru u programu da sam odredi broj linija ako netko zna neka slobodno napise ) . Program sprema zadnji izracunati prosjek u novu datoteku... (isto nisam znao kako da napravim da sprema sve zato sto sa svakim novim računanjem obrise mi stari tekst u datoteci.. Ako netko zna kako da se ostavi i ono proslo puno bi mi pomogao da poboljsam program, ipak sam tek nedavno poceo sa time da se bavim..) eto to je sve...
Program
C++ Program za računanje prosjeka
- poruka: 6
- |
- čitano: 7.085
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Popis predmeta me podsjeća na 2. srednje elektrotehničke škole
Popis predmeta me podsjeća na 2. srednje elektrotehničke škole
Hehe i jeste drugi razred.. Tehničar za računalstvo...
Program sam pravio u dev c++, tek sam pocetnik pa ce se mozda naci i neka greska. Program sadrzi dva file-a jedan je .exe a drugi je .txt u koji se moze upisati ili izmjeniti naziv predmeta (trenutno su upisani predmeti koje ja imam). Prvi red u .txt datoteci sluzi programu da odredi koliko se redova tj. predmeta nalazi u datoteci sto znaci ako imate 16 predmeta samo umjesto 15 upisete 16 i u novu liniju dodate jos jedan naziv predmeta (nisam znao kako da napravim provjeru u programu da sam odredi broj linija ako netko zna neka slobodno napise ) .
Sadrzaj datoteke predmeti.txt ucitavas liniju po liniju, zar ne? E, pa napravis si jednu varijablu brojPredmeta koja je na pocetku nula i u petlji u kojoj ucitavas liniju uvecas taj broj za jedan - znaci imao nesto u stilu:
int brojPredmeta = 0;
while (! myfile.eof() ) {
getline (myfile,line); // ucitas jednu liniju
brojPredmeta++;
}
Program sprema zadnji izracunati prosjek u novu datoteku... (isto nisam znao kako da napravim da sprema sve zato sto sa svakim novim računanjem obrise mi stari tekst u datoteci..
Ne zatvaraj datoteku izmedju zapisvanja podataka! Znaci, otvoris je na pocetku, onda ide unos i zapisivanje ocjena za jednog ucenika, pa za drugog, pa za treceg itd., i tek kad moras izaci iz programa neka se podaci zapisu u datoteku.
Ili - koristi opciju za nadodavanje (append) podataka - znaci, ako koristis klasu ofstream, onda datoteku otvaras s ofstream myfile;
myfile.open ("prosek.txt", ios::out | ios::app);
Još više mogućnosti imaš sa fwrite i fread funkcijama, zapišeš cijeli blok podataka odjednom jer unosiš strukturu
http://www.cplusplus.com/reference/clibrary/cstdio/fread/
Tu možeš vidjeti način korištenja fwrite, fread, fopen i fseek, a ima i praktičan primjer
npr navedeni su i načini kako fopen otvara datoteku: tebi u stvari treba naredba fopen(predmeti.txt", "a+"), dakle ovom naredbom otvaraš datoteku za čitanje i pisanje, s tim da ne brišeš prethodni sadržaj,
nego dodaješ sadržaj na kraju datoteke.
Ok. Hvala vam na pomoci probacu oba nacina danas ili sutra kad nadjem vremena..