Witam
Mam program który w większości napisany jest przez kogo innego, moje jest tylko "menu".
Proszę o pomoc w zrozumieniu, wytłumaczenie działania tych funkcji.
Np. co oznacza taki zapis :
dane[i].size();
lub int CountAlpha(vector<string>& dane)
Oraz do czego służą argumenty.
Z góry dziękuję
```cpp
#include "stdafx.h"
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <vector>
#include <string>
#include <cctype> // isalpha ->czy znak to litera
// tolower ->konwertuje na male litery
using namespace std;
void FillData(vector<string>& dane){
string linia;
do{
cout<<"podaj tekst (\"koniec\" - konczy: )";
getline(cin,linia);
if(linia!="koniec") dane.push_back(linia);
}while(linia!="koniec");
}
void PrintData(vector<string>& dane){
for(int i=0; i<dane.size();i++)
cout<<dane[i]<<endl;
}
int CountChar(vector<string>& dane){
int wynik = 0;
for(int i=0; i<dane.size();i++)
wynik +=dane[i].size();
return wynik;
}
int CountAlpha(vector<string>& dane){
int wynik =0;
for(int i=0; i<dane.size();i++)
for(int j=0;j<dane[i].size();j++)
if(isalpha(dane[i][j])) wynik++;
return wynik;
}
bool IsVowel(char znak){
string vowels = "aeiouy";
for(int i=0; i<vowels.size();i++)
if(tolower(znak)==vowels[i]) return true;
return false;
}
int CountVowel(vector<string>& dane ){
int wynik = 0;
for(int i=0; i<dane.size();i++)
for(int j=0; j<dane[i].size();j++)
if(IsVowel(dane[i][j])) wynik++;
return wynik;
}
double liczenie()
{
vector<string> pojemnik;
FillData(pojemnik);
PrintData(pojemnik);
cout<<"ilosc znakow w tekscie: "<<CountChar(pojemnik)<<endl;
cout<<"ilosc liter w tekscie: "<<CountAlpha(pojemnik)<<endl;
cout<<"ilosc samoglosek w tekscie: "<<CountVowel(pojemnik)<<endl;
cout<<"ilosc spolglosek w tekscie: "<<CountAlpha(pojemnik)-CountVowel(pojemnik)<<endl;
return 0;
}
int menu()
{
cout<<"++++++++++ Witaj ++++++++++"<<endl;
int wybor;
cout<<"Wybierz co chcesz zrobic....."<<endl;
cout<<"1.-Liczenie glosek "<<endl;
cout<<"2.-Wyjscie z programu "<<endl;
cin>>wybor;
if(wybor<1||wybor>2)
cout<<"BLAD... NIEPRAWIDLOWY WYBOR"<<endl;
else
{
switch(wybor)
{
case 1: liczenie();
break;
case 2: exit;
}
}
return wybor;
}
int _tmain(int argc, _TCHAR* argv[])
{
menu();
system("pause");
return 0;
}