I want to change chars in string like this: if i input DaniWeb it will change it to EbojZfc I've come so far:
But this changes to z at the end :S Please any help...
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int numChars(string besedilo);
int numWords(string besedilo);
int reverseString(string besedilo);
int numC( string str );
int numZ( string str );
int numS( string str );
void removeDots(string besedilo);
int numChars(string besedilo)
{
int znaki=0;
int vrstica=0;
vrstica=besedilo.length();
znaki=znaki+vrstica;
return znaki;
}
int numWords(string besedilo)
{
int besede=0;
string vrsta;
vrsta=besedilo;
for(int b=0;b<besedilo.length();b++)
{
if(vrsta[b]==' ' || vrsta[b]=='\n')
{
besede++;
}
}
besede++;
return besede;
}
int reverseString(string besedilo)
{
string reverseBesedilo = besedilo;
reverse(reverseBesedilo.begin(), reverseBesedilo.end());
cout << reverseBesedilo << endl;
}
int numZ( string str )
{
int countChar = 0;
for (int i = 0; str[i] != '\0'; i++)
{
if ( str[i] == 'z' )
countChar++;
}
return countChar;
}
int numS( string str )
{
int countChar = 0;
for (int i = 0; str[i] != '\0'; i++)
{
if ( str[i] == 's' )
countChar++;
}
return countChar;
}
int numC( string str )
{
int countChar = 0;
for (int i = 0; str[i] != '\0'; i++)
{
if ( str[i] == 'c' )
countChar++;
}
return countChar;
}
void removeDots(string besedilo)
{
for(int i = besedilo.find(",", 0); i != string::npos; i = besedilo.find(",", i))
{
besedilo.erase(i,1);
i++;
}
for(int i = besedilo.find(".", 0); i != string::npos; i = besedilo.find(".", i))
{
besedilo.erase(i,1);
i++;
}
for(int i = besedilo.find("!", 0); i != string::npos; i = besedilo.find("!", i))
{
besedilo.erase(i,1);
i++;
}
for(int i = besedilo.find(":", 0); i != string::npos; i = besedilo.find(":", i))
{
besedilo.erase(i,1);
i++;
}
for(int i = besedilo.find(";", 0); i != string::npos; i = besedilo.find(";", i))
{
besedilo.erase(i,1);
i++;
}
for(int i = besedilo.find("-", 0); i != string::npos; i = besedilo.find("-", i))
{
besedilo.erase(i,1);
i++;
}
cout<<besedilo<<endl;
}
void replaceChar(string besedilo)
{
replace(besedilo.begin(), besedilo.end(), 'a', 'b');
replace(besedilo.begin(), besedilo.end(), 'b', 'c');
replace(besedilo.begin(), besedilo.end(), 'c', 'd');
replace(besedilo.begin(), besedilo.end(), 'd', 'e');
replace(besedilo.begin(), besedilo.end(), 'e', 'f');
replace(besedilo.begin(), besedilo.end(), 'f', 'g');
replace(besedilo.begin(), besedilo.end(), 'g', 'h');
replace(besedilo.begin(), besedilo.end(), 'h', 'i');
replace(besedilo.begin(), besedilo.end(), 'i', 'j');
replace(besedilo.begin(), besedilo.end(), 'j', 'k');
replace(besedilo.begin(), besedilo.end(), 'k', 'l');
replace(besedilo.begin(), besedilo.end(), 'l', 'm');
replace(besedilo.begin(), besedilo.end(), 'm', 'n');
replace(besedilo.begin(), besedilo.end(), 'n', 'o');
replace(besedilo.begin(), besedilo.end(), 'o', 'p');
replace(besedilo.begin(), besedilo.end(), 'p', 'r');
replace(besedilo.begin(), besedilo.end(), 'r', 's');
replace(besedilo.begin(), besedilo.end(), 's', 't');
replace(besedilo.begin(), besedilo.end(), 't', 'u');
replace(besedilo.begin(), besedilo.end(), 'u', 'v');
replace(besedilo.begin(), besedilo.end(), 'v', 'z');
cout << besedilo << endl;
}
int main()
{
string vrstica;
string ime;
int meni;
cout<<"Vnesi besedilo: ";
cout<<endl<<"-----------------------"<<endl;
getline(cin,vrstica);
cout<<"-----------------------"<<endl;
do
{
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
cout<<"+ MENI: +"<<endl;
cout<<"+ 1. Izpise stevilo vnesenih znakov +"<<endl;
cout<<"+ 2. Izpise stevilo vnesenih besed +"<<endl;
cout<<"+ 3. Obrne niz +"<<endl;
cout<<"+ 4. Prešteje število sičnikov +"<<endl;
cout<<"+ 5. Izbriše ločila +"<<endl;
cout<<"+ 6. Kodiraj +"<<endl;
cout<<"+ 0. Izhod +"<<endl;
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++++"<<endl<<endl;
cin>>meni;
if(meni==1)
{
cout<<"Stevilo znakov: "<<numChars(vrstica)<<endl;
}
if(meni==2)
{
cout<<endl<<"Stevilo besed: "<<numWords(vrstica)<<endl;
}
if(meni==3)
{
cout<<reverseString(vrstica);
}
if(meni==4)
{
cout << "Stevilo S-ov: " << numS(vrstica) << endl;
cout << "Stevilo C-jev: " << numC(vrstica) << endl;
cout << "Stevilo Z-jev: " << numZ(vrstica) << endl;
}
if(meni==5)
{
removeDots(vrstica);
}
if(meni==6)
{
replaceChar(vrstica);
}
}
while(meni!=0);
return 0;
}