dakujem , funguje to
Příspěvky odeslané z IP adresy 95.102.197.–
Tak mám toto
#include "stdafx.h"
#include <string>
#include <vector>
#include <sstream>
#include <iostream>
#include <fstream>
using namespace std;
struct OSOBA {
string meno;
string priezvisko;
vector<double> body;
};
int _tmain(int argc, _TCHAR* argv[])
{
vector<double> body;
ifstream ifsSubor;
ifsSubor.open("vstup.txt");
string sRiadok;
vector<OSOBA> osoby;
double bod;
OSOBA o;
stringstream ss;
while(getline(ifsSubor, sRiadok))
{
ss<<sRiadok;
ss >> o.meno;
ss >> o.priezvisko;
while (ss >> bod)
{
o.body.push_back(bod);
}
osoby.push_back(o);
}
int i=0;
vector<OSOBA>::iterator it;
for(it = osoby.begin(); it != osoby.end(); ++it)
{
cout.width(5);
cout <<left << (*it).priezvisko <<"\t" << (*it).meno;
for (int i=0; i<body.size(); i++)
cout << body[i] << ", ";
cout<<endl;
}
cout<<endl;
return 0;
}
a vypíše do konzoly toto
Mrkvicka Jozef
Mrkvicka Jozef
Mrkvicka Jozef
Mrkvicka Jozef
Mrkvicka Jozef
Nefunguje to, nevypíše nič, ani len press enter to countinue
wtf, kde je to ,,toto"
No a tu je ďalšia verzia stále my to nejde :(
#include "stdafx.h"
#include <string>
#include <vector>
#include <sstream>
#include <iostream>
#include <fstream>
using namespace std;
struct OSOBA {
string meno;
string priezvisko;
vector<double> body;
};
int _tmain(int argc, _TCHAR* argv[])
{
vector<double> body;
ifstream ifsSubor;
ifsSubor.open("vstup.txt");
string sRiadok;
vector<OSOBA> osoby;
double bod;
OSOBA o;
while(! ifsSubor.eof())
{
getline(ifsSubor,sRiadok);
istringstream istrRiadok(sRiadok);
istrRiadok>> o.meno;
istrRiadok>> o.priezvisko;
istrRiadok>> bod;
o.body.push_back(bod);
osoby.push_back(o);
}
int i=0;
vector<OSOBA>::iterator it;
for(it = osoby.begin(); it != osoby.end(); ++it)
{
cout.width(5);
cout <<left << (*it).priezvisko <<"\t" << (*it).meno<<"\t"<<endl;
}
for (int i=0; i<body.size(); i++)
cout << body[i] << ", ";
return 0;
}
#include "stdafx.h"
#include <string>
#include <vector>
#include <sstream>
#include <iostream>
#include <fstream>
using namespace std;
struct OSOBA {
string meno;
string priezvisko;
vector<double> body;
};
int _tmain(int argc, _TCHAR* argv[])
{
ifstream ifsSubor;
ifsSubor.open("vstup.txt");
string sRiadok;
vector<OSOBA> osoby;
double bod;
OSOBA o;
while(! ifsSubor.eof())
{
getline(ifsSubor,sRiadok);
istringstream istrRiadok(sRiadok);
istrRiadok>> o.meno;
istrRiadok>> o.priezvisko;
istrRiadok>> bod;
o.body.push_back(bod);
osoby.push_back(o);
int i=0;
vector<OSOBA>::iterator it;
for(it = osoby.begin(); it != osoby.end(); ++it)
{
cout.width(15);
cout <<left << (*it).priezvisko <<"\t" << (*it).meno<<"\t" << (*it).body<<endl;
}
return 0;
}
}
toto som skúšal a píše to chybu pri tom << (*it).body
tak snaižil som sa to nejako...aby my to načítalo z textového suboru ale neviem presne ako by mala vyzerať tá syntax toho pre načítanie aby to načítalo vypísalo meno, priezvisko a potom ten vector body..
struct OSOBA {
string meno;
string priezvisko;
vector<double> body;
};
int _tmain(int argc, _TCHAR* argv[])
{
ifstream ifsSubor;
ifsSubor.open("vstup.txt");
string sRiadok;
vector<OSOBA> osoby;
OSOBA o;
while(! ifsSubor.eof())
{
getline(ifsSubor,sRiadok);
istringstream istrRiadok(sRiadok);
if ((istrRiadok>> o.meno)&&
(istrRiadok>>o.priezvisko)&&
(istrRiadok>>o.body)&&
(istrRiadok>>o.body.push_back(bod)));
{
osoby.push_back(o);
}
int i=0;
vector<OSOBA>::iterator it;
for(it = osoby.begin(); it != osoby.end(); ++it)
{
cout.width(15);
cout <<left << (*it).priezvisko <<"\t" << (*it).meno;
}
return 0;
}
Poprosím o radu
Ahoj, prosím o radu. chcem vytvoriť program ktorý načíta zo suboru meno, priezvisko a neobmedzený počet bodov.
format suboru .txt je takýto :
Janko Mrkvicka 1.1 0.7 1.2 0.6 0.5
Chcem toto načítať do vektoru, Problém je že neviem ako načítať tie body. vytvoril som si štruktúru OSOBA,
Struct OSOBA {
string meno
string priezvisko
?? no a tu nastáva problém kedže nechcem to robit tak že dám double bod1, double bod2....kedže neviem kolko ich je je to velmi nepraktické
}
potom inicializujem vector<OSOBA> osoba načítam si osoba.meno,osoba.priezvisko no a dalej neviem.
chcel som použit další vector na tie body ale neviem ako to spraviť niečo ako
Struct OSOBA {
string meno
string priezvisko
vector(double) body
}
Dakujem za pomoc