Code:
#ifndef ENOR_H
#define ENOR_H
#include <fstream>
#include <string>
#include <sstream>
// sorok felsoroló típusa
// Típusértékek: felsoroló objektumok
// Reprezentáció: szöveges állomány adatfolyam objektuma
//
// Műveletei: felsoroló létrehozása
// felsoroló műveletek
// a szöveg következő sorának olvasása
extern int darabw;
class Enor{
private:
std::ifstream f;
void Read();
public:
Enor(const std::string &str);
void First();
void Next();
bool End() {return f.eof();}
};
#endif
This is enor.h
This is enor.cpp
Code:
#include "enor.h"
#include <iostream>
using namespace std;
bool nemlimit;
bool wk;
//Feladat: Felsoroló létrehozása.
//Bemenő adatok:-
//Kimenő adatok:alapértelmezett felsoroló
//Tevékenység: Megnyitja a felsoroló hátterében levő szöveges állományt olvasásra
Enor::Enor(const string &str)
{
f.open(str.c_str());
if(f.fail()){
cout << "Nem lehet megnyitni az inputfajlt!\n";
exit(1);
}
}
//Feladat: A felsoroló Next() művelete.
//Bemenő adatok:alapértelmezett felsoroló
//Kimenő adatok:alapértelmezett felsoroló
//Tevékenység: Beolvassa a következő karaktert.
void Enor::Next()
{
char ch;
int i=0;
i=i+1,
f.get(ch);
if ((ch=='w')|| ((ch=='W')&& (wk==false))) {nemlimit=true; wk=true; ++darabw;}
if ((ch==' ') || (ch== '\t') || (ch=='\n')) {nemlimit=false; wk=false;}
}
//Feladat: A szöveg első karakterének megkeresése, annak feldolgozása.
//Bemenő adatok:alapértelmezett felsoroló
//Kimenő adatok:alapértelmezett felsoroló
//Tevékenység: Az első nem delimiter karakterig olvassa a szöveget.
void Enor::First()
{
char ch;
darabw=0;
nemlimit=false;
wk=false;
f.get(ch);
while(((ch==' ') || (ch=='\t') || (ch=='\n')) && (f.good()))
{
ch=f.get();
cout<<"delimit"<<'\n';
};
cout<<endl<<ch;
{
if ((ch=='w')|| (ch=='W'))
{
nemlimit=true;
wk=true;
++darabw;
cout<<darabw;
}
}
}
And this is main.cpp
Code:
#include <iostream>
#include "enor.h"
using namespace std;
//Feladat: Kiírjuk a szöveges fájlban a w betűt tartalmazó szavak számát
//Bemenő adatok:szöveges állomány
//Kimenő adatok:statndard output
int main()
{
string hol="input.txt";
Enor t(hol);
t.First();
cout<<darabw;
t.Next();
cout<<darabw<<endl;
return 0;
}