C++ Bc. 31 cpp
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
class CitacSlov
{
public:
CitacSlov() : soubory(0), tradky(0), tslova(0),tznaky(0) {}
~CitacSlov();
void soubor(char* jmeno);
private:
// pocet souboru
int soubory;
// total
int tradky;
int tslova;
int tznaky;
};
void CitacSlov::soubor(char* jmeno)
{
using namespace std;
int radky = 0;
int slova = 0;
int znaky = 0;
soubory++;
ifstream soubor(jmeno);
while (soubor)
{
char znak = ' ';
string radek;
while (soubor.get(znak) && znak != '\n') radek += znak;
if (znak == '\n')
{
radky++;
znaky += 1;
}
string slovo;
istringstream str(radek);
while (str >> slovo)
slova++;
znaky += radek.length();
}
cout << "\t" << radky << "\t" << slova << "\t" << znaky << " " << jmeno
<< endl;
tradky += radky;
tslova += slova;
tznaky += znaky;
}
CitacSlov::~CitacSlov()
{
using namespace std;
if (soubory > 1)
cout << "\t" << tradky << "\t" << tslova << "\t" << tznaky << " total\n";
}
int main(int argc, char* argv[])
{
argv++; // argv[0] je jmeno spusteneho programu
CitacSlov citac;
while (*argv)
{
citac.soubor(*argv);
argv++;
}
}
[ Zpět ]