/* tuot_pal.cpp */ #include #include #include #include "mjonotpp.h" using namespace std; struct tTuote { string nimike; double hinta; int kpl; }; istream &operator>>(istream &is,tTuote &tuote) { char jono[50]; tuote.alusta(); is.getline(N_S(jono),'|'); tuote.nimike = poista_tyhjat(jono); is.getline(N_S(jono),'|'); sscanf(jono,"%lf",&tuote.hinta); is.getline(N_S(jono),'\n'); sscanf(jono,"%d",&tuote.kpl); return is; } int rivi_tuotteeksi(char *rivi, tTuote &tuote) { istrstream sstr(rivi); sstr >> *this; return 0; } int tulosta_tuotteet(void) { tTuote tuote; char rivi[80]; ifstream fi("TUOTTEET.DAT"); if ( !if ) return 1; cout << "\n\n\n"; cout << "-------------------------------------------\n"; while ( 1 ) { if ( !fi.getline(rivi,sizeof(rivi))) break; if ( rivi_tuotteeksi(rivi,tuote) ) continue; printf("%-20s %7.0lf %4d\n",tuote.nimike,tuote.hinta,tuote.kpl); } cout << "-------------------------------------------\n"; cout << "\n\n\n"; return 0; } int main(void) { if ( tulosta_tuotteet() ) { cout << "Tuotteita ei saada luetuksi!\n"; return 1; } return 0; }