Discussion:
Pomoc - Ucitavanje podataka redom iz niza datoteka u vector/polje
(prestaro za odgovor)
Nitro
2011-07-09 12:40:31 UTC
Permalink
Pozdrav svim ljudima dobre volje!

Imam jedan mali problemcic prilikom ucitavanja podataka iz niza datoteka
u vector. Datoteke su redom naziva 1.txt, 2.txt, 3.txt, ... itd i iz
njih ucitavam podatake, ali to bas ne funkcionira najbolje. Naime, samo
mi ucita podatke iz prve datotek, a ostale preskoci.
U nastavku saljem kod i molim za konstruktivan prijedlog/rješenje.

Unaprijed zahvalan.

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

int V[3];
fstream in;

void ulazna(int br);
void ucitaj();

main()
{
int prvi,zadnji;
int i,j;
cout << "\nUnesite pocetni broj: ";
cin >> prvi;
cout << "\nUnesite zadnji broj: ";
cin >> zadnji;
for(i=prvi;i<=zadnji;i++)
{
ulazna(i);
j=0;
while(in)
{
ucitaj();
j++;
}
cout << "\t" << j;
in.close();
}
}

void ulazna(int br)
{
stringstream ulazna_ss;
string ulazna_str;
const char *ulazna_char;
ulazna_ss << br;
ulazna_ss << ".txt";
ulazna_str=ulazna_ss.str();
ulazna_char=ulazna_str.c_str();
in.open(ulazna_char,fstream::in);
cout << "\nUlazna datoteka: " << ulazna_char;
}

void ucitaj()
{
int i;
for(i=0;i<3;i++)
{
in >> V[i];
if(in.eof()) break;
}
}
Erazmo Rotterdamski
2011-07-19 09:23:12 UTC
Permalink
Post by Nitro
Pozdrav svim ljudima dobre volje!
Imam jedan mali problemcic prilikom ucitavanja podataka iz niza datoteka
u vector. Datoteke su redom naziva 1.txt, 2.txt, 3.txt, ... itd i iz
njih ucitavam podatake, ali to bas ne funkcionira najbolje. Naime, samo
mi ucita podatke iz prve datotek, a ostale preskoci.
U nastavku saljem kod i molim za konstruktivan prijedlog/rješenje.
Unaprijed zahvalan.
#include <iostream>
#include <sstream>
#include <string>
#include <fstream>
using namespace std;
int V[3];
fstream in;
void ulazna(int br);
void ucitaj();
main()
{
int prvi,zadnji;
int i,j;
cout << "\nUnesite pocetni broj: ";
cin >> prvi;
cout << "\nUnesite zadnji broj: ";
cin >> zadnji;
for(i=prvi;i<=zadnji;i++)
{
ulazna(i);
j=0;
while(in)
{
ucitaj();
j++;
}
cout << "\t" << j;
in.close();
}
}
void ulazna(int br)
{
stringstream ulazna_ss;
string ulazna_str;
const char *ulazna_char;
ulazna_ss << br;
ulazna_ss << ".txt";
ulazna_str=ulazna_ss.str();
ulazna_char=ulazna_str.c_str();
in.open(ulazna_char,fstream::in);
cout << "\nUlazna datoteka: " << ulazna_char;
}
void ucitaj()
{
int i;
for(i=0;i<3;i++)
{
in >> V[i];
if(in.eof()) break;
}
}
nedostaje ti in.clear(); nakon in.close(); da bi cijela stvar
funkcionirala. nije dovoljno zatvoriti datoteku, vec je potrebno
ocistiti flag.

lp

Loading...