Napisać funkcje, która w pliku tekstowym o podanej nazwie zlicza:
• liczbę znaków w pliku,
• liczbę białych znaków w pliku,
• liczbę słów w pliku.
Funkcja w standardowy sposób zwraca liczbę znaków w pliku, natomiast liczba
białych znaków oraz słów przekazywana jest przez parametr.
int licz(char plik[], int &biale_znaki, int &slowa)
Przykład użycia:
int main() {
int biale_znaki, slowa;
int wszystkie = licz("zad1.txt", biale_znaki, slowa);
cout << "Wszystkich znakow: " << wszystkie << endl
<< "Bialych znakow: " << biale_znaki << endl
<< "Slowa: " << slowa << endl;
return 0;
}
#include <iostream>
#include <cctype>
#include <fstream>
using namespace std;
int licz(char plik[], int &biale_znaki, int &slowa);
int main()
{
int biale_znaki, slowa;
int wszystkie = licz("zad1.txt", biale_znaki, slowa);
cout << "Wszystkich znakow: " << wszystkie << endl
<< "Bialych znakow: " << biale_znaki << endl
<< "Slowa: " << slowa << endl;
cin.get();
return 0;
}
int licz(char plik[], int &biale_znaki, int &slowa)
{
char z,p=' ';
biale_znaki=0,slowa=0;
int znak=0;
ifstream plik1;
plik1.open(plik);
plik1>>noskipws;
while((z=plik1.get())!=EOF)
{
znak++;
if(isspace(z)) biale_znaki++;
if(isalnum(z))
{
if(isspace(p)) slowa++;
}
p=z;
}
return znak;
}
Offline