Jag hittade ett program på http://www.webforum.nu/showthread.php?t=137016 Svårt att säga, men jag skulle misstänka att det är några saker i funktionen som inte är rätt.Konvertera text till rövarspråk
som konverterar text till rövarspråk, men det fungerar inte.
Här är koden till hela programet:
<code>
#include <iostream>
#include <locale>
using namespace std;
//*****Funktioner*****//
string KonverteraTillRövarspråk(string text);
int main()
{
locale swedish("swedish");
locale::global(swedish);
string txt = "";
cout << "Skriv en text som ska översättas till rövarspråk: ";
cin >> txt;
cout << KonverteraTillRövarspråk(txt) << endl << endl;
return 0;
}
string KonverteraTillRövarspråk(string text)
{
string konverteradText = "";
for (int i = 0; i < text.size(); i++)
{
if (text[i] == 'a' || text[i] == 'A' || text[i] == 'o' || text[i] == 'O' ||
text[i] == 'u' || text[i] == 'U' || text[i] == 'å' || text[i] == 'Å' ||
text[i] == 'e' || text[i] == 'E' || text[i] == 'i' || text[i] == 'I' ||
text[i] == 'y' || text[i] == 'Y' || text[i] == 'ä' || text[i] == 'Ä' ||
text[i] == 'ö' || text[i] == 'Ö')
{
konverteradText[i] += text[i];
}
else
{
konverteradText[i] += text[i];
konverteradText[i] += 'o';
konverteradText[i] += text[i];
}
}
return konverteradText;
}
</code>
Jag får ett varningsmeddelande:
1>------ Build started: Project: Översättningsprogram, Configuration: Release Win32 ------
1>Compiling...
1>Main.cpp
1>.\Main.cpp(27) : warning C4018: '<' : signed/unsigned mismatch
1>Linking...
1>Generating code
1>Finished generating code
1>Embedding manifest...
1>Build log was saved at "file://h:\Programmering\Visual C++ 2005\Översättningsprogram\Översättningsprogram\Release\BuildLog.htm"
1>Översättningsprogram - 0 error(s), 1 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Programet krashar när jag skriver en text och trycker på enter.
Vad är fel?
/MagnusSv: Konvertera text till rövarspråk
Testa byt ut den mot följande.
string KonverteraTillRövarspråk(string text)
{
string konverteradText = "";
for (int i = 0; i < text.size(); i++)
{
if (text[i] == 'a' || text[i] == 'A' || text[i] == 'o' || text[i] == 'O' ||
text[i] == 'u' || text[i] == 'U' || text[i] == 'å' || text[i] == 'Å' ||
text[i] == 'e' || text[i] == 'E' || text[i] == 'i' || text[i] == 'I' ||
text[i] == 'y' || text[i] == 'Y' || text[i] == 'ä' || text[i] == 'Ä' ||
text[i] == 'ö' || text[i] == 'Ö')
{
konverteradText += text[i];
}
else
{
konverteradText += text[i];
konverteradText += 'o';
konverteradText += text[i];
}
}
return konverteradText;
}