Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- ///word counter
- void wordCounter(string text)
- {
- int wordCount=0;
- if(text[0]>0&&text[0]!=' ')wordCount++;
- for(int c=0;c<text.length();c++)if(text[c]==' '&&text[c+1]!=' '&&text[c+1]!=NULL)wordCount++;
- cout<<"Total words: "<<wordCount<<endl;
- }
- ///word lister
- void wordLister(string text)
- {
- string words;
- for (int c=0;c<text.length();c++)
- {
- if(text[c]!=' ')words+=text[c];
- else if (text[c]==' '&&text[c+1]!=' ')words+=", ";
- }
- cout<<"Each word: "<<words<<endl;
- }
- ///text reverser
- void textReverser(string text)
- {
- string reversedText;
- for (int c=text.length()-1;c>-1;c--)reversedText+=text[c];
- cout<<"Text reversed: "<<reversedText<<endl;
- }
- ///uppercase counter
- void upperCount(string text)
- {
- int capLetters=0;
- for(int c=0;c<text.length();c++)if((int)text[c]>=65&&(int)text[c]<=90)capLetters++;
- cout<<"Number of uppercase letters: "<<capLetters<<endl;
- }
- ///lowercase counter
- void lowerCount(string text)
- {
- int lowLetters=0;
- for(int c=0;c<text.length();c++)if((int)text[c]>=97&&(int)text[c]<=122)lowLetters++;
- cout<<"Number of lowercase letters: "<<lowLetters<<endl;
- }
- ///punctuation counter
- void punctuationCounter(string text)
- {
- string chars="~!@#$%^&*()_+|}{:'?<>`-=\][;,./";
- int puncChars=0;
- for(int c=0;c<text.length();c++)
- {
- if(text[c]=='"')puncChars++;
- else for(int i=0;i<chars.length();i++)if(text[c]==chars[i])puncChars++;
- }
- cout<<"Number of punctuation marks: "<<puncChars<<endl;
- }
- ///middle word finder
- void middleWord(string text)
- {
- string midword="", midword2="";
- int firstSpace=text.find(" ",0);
- int var1=0, var2=0, var3=0, var4=0, var5=0, var6=0, var7=0;
- int spaceCount=0;
- for(int c=0;c<text.length();c++)if(text[c]==' ')spaceCount++;
- int middleSpace=spaceCount/2;
- for(int c=0;c<=middleSpace;c++)
- {
- var1=text.find(" ",var2);
- var2=var1+1;
- if(c<middleSpace&&c>=middleSpace-1)break;
- }
- var3=text.find(" ",var2);
- var4=var3-var2;
- midword=text.substr(var2, var4);
- if((spaceCount%2)==0)cout<<"The middle word is: "<<midword<<endl;
- if((spaceCount%2)!=0)
- {
- var5=var3+1;
- var6=text.find(" ",var5);
- var7=var6-var5;
- midword2=text.substr(var5,var7);
- cout<<"The middle words are: "<<midword<<", "<<midword2<<endl;
- }
- }
- ///longest word finder
- void longestWord(string text)
- {
- string longWord="";
- string tempWord="";
- for(int c=0;c<text.length();c++)
- {
- if(text[c]!=' ')tempWord+=text[c];
- else tempWord="";
- if(tempWord.length()>longWord.length())longWord=tempWord;
- }
- cout<<"Longest word: "<<longWord<<" ("<<longWord.length()<<" character";if(longWord.length()!=1)cout<<"s";cout<<" long)"<<endl;
- }
- ///shortest word finder
- void shortestWord(string text)
- {
- string tempWord="";
- string shortWord=text;
- string letter="";
- for(int c=0;c<text.length();c++)
- {
- letter=text.substr(c,1);
- if(letter!=" ")tempWord+=letter;
- if(letter==" ")
- {
- if(tempWord.length()<shortWord.length())shortWord=tempWord;
- tempWord="";
- }
- }
- if(tempWord.length()<shortWord.length())shortWord=tempWord;
- cout<<"The shortest word is: "<<shortWord<<" ("<<shortWord.length()<<" character";if(shortWord.length()!=1)cout<<"s";cout<<" long)"<<endl;
- }
- ///'The' counter
- void theList(string text)
- {
- string theList="", tempWord="", letter="";
- for(int c=0;c<text.length();c++)
- {
- letter=text.substr(c,1);
- if(letter!=" ")tempWord+=letter;
- if(letter==" ")
- {
- if(tempWord.find("the",0)!=string::npos)theList+=tempWord+", ";
- tempWord="";
- }
- }
- if(tempWord.find("the",0)!=string::npos)theList+=tempWord;
- if(theList=="")cout<<"There are no words containing 'the'."<<endl;
- else cout<<"Words containing 'the': "<<theList<<endl;
- }
- int main()
- {
- string text;
- cout<<"Please enter a proper sentence: ";
- getline(cin,text);
- cout<<"Total characters: "<<text.length()<<endl;
- wordCounter(text);
- wordLister(text);
- textReverser(text);
- upperCount(text);
- lowerCount(text);
- punctuationCounter(text);
- middleWord(text);
- longestWord(text);
- shortestWord(text);
- theList(text);
- }
Advertisement
Add Comment
Please, Sign In to add comment