Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

17.7 Lukeminen ja paloittelu

Nyt voimme toteuttaa "tuotetiedoston" lukevan ohjelman C++:n tietovirroilla ja funktioiden erota ja luvuksi avulla:

tiedosto\luetuote.cpp - esimerkki tiedoston lukemisesta

	// Projektiin +ALI\mjonot.c 
	#include <iostream>
	#include <fstream>
	#include <cstdio>
	#include <string>
	using namespace std;
	#include "mjonotpp.h"
	
	int tulosta_tuotteet(void)
	{
	  string rivi,pala;
	  string nimike; double hinta; int kpl;
	
	  ifstream fi("tuotteet.dat");
	  if ( !fi ) return 1;
	
	  cout << "\n\n\n";
	  cout << "-------------------------------------------\n";
	
	  while ( getline(fi,rivi) ) {
	    nimike = erota(rivi,'|');  poista_tyhjat(nimike);
	    pala = erota(rivi,'|');    if ( !luvuksi(pala,hinta) ) continue;
	    pala = erota(rivi,'|');    if ( !luvuksi(pala,kpl) ) continue;    
	    printf("%-20s %7.0lf %4d\n",nimike.c_str(),hinta,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;
	}

Ohjelma tulostaa:

	-------------------------------------------
	Volvo                  12300    1
	Audi                   55700    2
	Saab                    1500    4
	Volvo                 123400    1
	-------------------------------------------


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys