Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Učitavanje i izčitavanje...moze li mala pomoc?

[es] :: C/C++ programiranje :: Učitavanje i izčitavanje...moze li mala pomoc?

[ Pregleda: 2614 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ChildInTime
BiH

Član broj: 52180
Poruke: 50
*.dlp309.bih.net.ba.



Profil

icon Učitavanje i izčitavanje...moze li mala pomoc?21.05.2005. u 22:15 - pre 230 meseci
Zadatak je sljedeci:

Od nas se trazi da unesemo odredjeni broj učenika,i nakon toga da za svakoga
unesemo ime i prezime i koju je ocjenu dobio iz recimo kontrolnog (nebitno).
Nakon toga to sve moramo upisati u neki fajl,na primjer "ocjene.txt",te nakon
toga taj fajl izčitati,te provjeriti koji su sve učenici pali,to jest koliko
je njih dobilo jedinicu,te to dati da se upiše u fajl "jedinice.txt"(ime nebitno)
Znam odraditi ovaj prvi dio...lakši dio
Evo prilozicu kod :

Code:

#include<iostream>
#include<fstream>

using namespace std;

struct Ucenici
{
 char Ime_i_prezime[30];
 short int Ocjena;
};

void main()
{
 Ucenici Ucenik;
 int BrojUcenika; 
 ofstream File("Ocjene.txt");

cout<<"Koliko ucenika?: ";
cin>>BrojUcenika;
cin.ignore();

for(int i=0;i<n;i++)
{
 cout<<i+1<<".ucenik:\n"
     <<"Unesite ime i prezime: ";
 cin.getline(Ucenik.Ime_i_prezime,30);
 
 cout<<"Ocjena: ";
 cin>>Ucenik.Ocjena;
 cin.ignore();

 File<<"---------------\n"
     <<"IME I PREZIME: "<<Ucenik.Ime_i_prezime<<endl
     <<"OCJENA: "<<Ucenik.Ocjena<<endl
     <<"---------------\n";
}

 File.close();

 ifstream Read("Ocjene.txt");
 
 ...
 ...
 ...
 ...
  


Sad tu nastaje problem...
Nije mi problem to pročitati...isao bih nešto ovako (nastavljam):

Code:

...
...

char n; 

while(Read.get(n))
 cout<<n;

Read.close();

system("pause");
}



Eh sad...kako postaviti uslov,da ako naidje na ocjenu 1 da sva imena tih učenika upiše u fajl (npr."jedinice.txt")
znaci da provjeri sve one učenike koji su dobili keca i da ih upise u poseban fajl...

Eto...ako može neka pomoć ili uputa...
Hvala unaprijed...

Vozdra.


Maybe one day I'll be na honest man
Up till now I'm doing the best I can...
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
*.neobee.net.



+9 Profil

icon Re: Učitavanje i izčitavanje...moze li mala pomoc?22.05.2005. u 10:39 - pre 230 meseci
Kao prvo, mozda je bilo lepse da si iskreirao N struktura, pa tek onda otvaras fajl i upisujes podatke. E sada, sto se iscitavanja tice, sve je lepo sem onih "----------". To... ti nije potrebno. Bez toga bi tacno znao da ti se npr. u neparnim redovima nalazi ime i prezime, a u parnim ocena.

Nemoj da ucitavas onda slovo po slovo... neprakticno je za ovaj primer. ucitavaj ovako:

Code:

char linija[100];
ifstream file(imefajla, ios::in);
if(file.is_open())
{
  while(!file.eof())
  {
     file.getline(linija, 100);
     //Ovde radi sa 'linijom' sta treba... 
     //Nadam se da znas kako iz jedne linije da ucitas ono sto ti treba?
  }
}
file.close();


Ovo ti je najprostije... licno, ja bih otvorio fajl binarno, a zatim sa...recimo strtok kao delimiter stavio da to bude karakter 10 (ako je Unix) ili 10+13 (Windows).
 
Odgovor na temu

ChildInTime
BiH

Član broj: 52180
Poruke: 50
*.dlp226.bih.net.ba.



Profil

icon Re: Učitavanje i izčitavanje...moze li mala pomoc?22.05.2005. u 22:43 - pre 230 meseci
Kao prije svega hvala ti sto si se potrudio da mi pomognes :)

Kazes:
Citat:
goranche_
//Ovdje radi s linijom sta treba
//Nadam se da znas kako iz jedne linije da ucitas ono sto ti
treba?


...u tome i jest fazon,sto ne znam...
Ova mi je oblast(ucitavanje,iscitavanje)nova,mislim tek to
ucim tako da slabo poznajem funkcije vezane za ovo,
na primjer to binarno otvaranje,strtok,delimiter...
Znam kako binarno otvoriti fajl( ifstream file("ime.txt",ios::in|ios::binary)valjda? ),
to je sve sto i znam :( ,ali ove druge stvari jos ne znam...

Hvala sto napisao ovo koda,ali si mi bas izostavio najvazniji dio,
pa ako ti nije tesko da mi to jos dodas...
To sa binarim otvaranjem nije sad bitno,vazno je da ovo radi.Crtice su isto visak,to je sam samo onako stavio,
nisam znao da ce smetati.
Izvini(te) ako sam naporan,al' stvarno mi je stalo da
ovo naucim i razumijem..posto sam jos nov u
ovome,uopste u programiranju...c++ ucim nekih 5 mjeseci,i to sve pomalo i na preskok...
Savladao sam neke osnovne koncepte (mislim:)),pa pokusavam dalje...
Eto...

Pozdrav

Maybe one day I'll be na honest man
Up till now I'm doing the best I can...
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
*.vdial.verat.net.



+9 Profil

icon Re: Učitavanje i izčitavanje...moze li mala pomoc?22.05.2005. u 23:42 - pre 230 meseci
Ok.. razumem Idemo ovako:
Nadam se da je OK ovo sa ucitavanjem jedne linije?

Ako ti se podaci nalaze u ovom obliku....

Ime i prezime:Sashka Mitrovic
Ocena:5

najbolje je da formatiras tako da bi mogao da uradis sledece:

Evo kako ce sada kod izgledati:

Code:

char linija[100];
char *p; //pokazivac na niz karaktera (odnosno deo linije)

ifstream file(imefajla, ios::in);
if(file.is_open())
{
  while(!file.eof())
  {
     file.getline(linija, 100);
     p = strtok(linija,":"); //ovde ce p biti "Ime i prezime"
     p = strtok(NULL, ":"); //ovde ce p biti "Sashka Mitrovic"
     /kada uzme sledecu liniju, p ce prvo biti "Ocena", a posle "5"
  }
}
file.close();


Jel OK otprilike? Dakle, strtok funkcija pretrazije liniju sve dok ne naidje na ":". Kada naidje na dve tacke, stavlja na to mesto '\0' (sto oznacava kraj stringa), odnosno bukvalno presica liniju na tom mestu i vraca pokazivac na taj prvi deo. E sada, u baferu te funkcije je ostao onaj drugi deo stringa koji se opet pretrazuje da bi se naslo ":". Posto u tom drugom delu nece da se nadju te dve tacke, funkcija tada vraca pokazivac na taj drugi deo stringa.
Samo budi pazljiv, nakon ta dva poziva promenljiva 'linija' vise nije ista! No, u ovom primeru to nije bitno zato sto ce u sledecoj iteraciji ona dobiti vrednost nove linije iz fajla.
Dakle sada imas pokazivac na ove odredjene delove, nadam se da je sada jasno.

Btw, postoji Google, to znas? Ako ti je nesto nejasno oko strtok.... Hocu da pomognem uvek, mada nije fora da ti napisem ceo kod Ali si vec nesto radio... to je OK.
 
Odgovor na temu

ChildInTime
BiH

Član broj: 52180
Poruke: 50
*.dlp379.bih.net.ba.



Profil

icon Re: Učitavanje i izčitavanje...moze li mala pomoc?23.05.2005. u 11:06 - pre 230 meseci
Ok...hvala na trudu...dalje cu pokusat sam...

Inace ne trazim bilo kakvu pomoc,kao sto i mozes vidjeti
po broju mojih poruka...iako stalno visim na elite-u
samo sto ne postavljam puno pitanja jer uglavnom vec imaju odgovori na
sva moguca pitanja...tako da ne zelim da vas zamaram nekim totalno pocetnickim stvarima,
iako cu i ja uvijek pomoci pocetnicima ,ta svi smo mi morali od neceg poceti neko ranije,neko kasnije,zavisno od okolnosti...
Al sad mi se stvarno nesto zurilo,tako da...

P.S.
A google? jel' to isto neka funkcija il'...?

Maybe one day I'll be na honest man
Up till now I'm doing the best I can...
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
*.vdial.verat.net.



+9 Profil

icon Re: Učitavanje i izčitavanje...moze li mala pomoc?23.05.2005. u 12:40 - pre 230 meseci
Vazno je da covek nije lenj sto ti svakako nisi. I naravno da je OK, pomazem(o) uvek takvim ljudima
Pozz.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Učitavanje i izčitavanje...moze li mala pomoc?

[ Pregleda: 2614 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.