Problem i C++ [LÖST]

Här diskuteras programmering och utveckling
lord
Inlägg: 573
Blev medlem: 03 okt 2007, 21:08
Ort: Sverige

Problem i C++ [LÖST]

Inlägg av lord »

Hejsan.

Har lite problem med ett program i C++ jag försöker göra. Det ska översätta från rövarspråket till det vanliga språket och tvärtom. Men jag får tre fel. För tillfället har jag fyra funktioner. Tre av dessa ska returnera en "string", men där blir det fel, för IDEt säger att string inte är en typ. Men jag har deklarerat string variabler i funktionerna, och där blir det inga problem.

Min kod:

Kod: Markera allt

#include <iostream>
#include <string>

// Prototypes
string EnterText(string txt);
string ToPiratesLanguage(string txt);
string ToNormalLanguage(string txt);
bool IsChange(char letter);

int main()
{
    return EXIT_SUCCESS;
}

// Enter an string
string EnterText(string txt)
{
    // Declare variable
    string in = "";

    // Accept input
    cout<< txt;
    cin>> in;

    // Return the given string
    return in;
}

// Translate to pirates language
string ToPiratesLanguage(string txt)
{
    // Declare variables
    string pl = "";
    string temp = "";

    // Create the pirate language translation of the given string
    for (int n = 0; n < txt.size(); ++n)
    {
        // Get the substring
        temp = txt.substr(n, 1);

        // Check if the letter is an "konsonant", like "H" or "g"
        if (IsChange( txt ) == true)
        {
            pl += temp + "o";
        }

        pl += temp;
    }

    // Return the "priate language" version of the given string
    return pl;
}

// Translate to normal language
string ToNormalLanguage(string txt)
{
    // Declare variable
    string nl = "";

    // Return the "normal language" translation of the given string
    return nl;
}

// If the given letter is an "konsonant"
bool IsChange(char letter)
{
    return true;
}
Notera att jag får samma problem även hos prototyperna. Och jag har själv ingen aning om vad som är fel...

Kan någon hjälpa mig?
Senast redigerad av 1 DrMegahertz, redigerad totalt 22 gånger.
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

SV: Problem i C++

Inlägg av Smygis »

using namespace std;

För att leka i rätt namnrymd.

consonant heter det på engelska också. Fast med C då.
Senast redigerad av 1 Smygis, redigerad totalt 29 gånger.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
lord
Inlägg: 573
Blev medlem: 03 okt 2007, 21:08
Ort: Sverige

SV: Problem i C++

Inlägg av lord »

Det där löste alla mina problem och gav mig ett nytt. Felet:
main.cc:45: error: cannot convert ‘std::string’ to ‘char’ for argument ‘1’ to ‘bool IsChange(char)’
Koden:
#include <iostream>
#include <string>

using namespace std;

// Prototypes
string EnterText(string txt);
string ToPiratesLanguage(string txt);
string ToNormalLanguage(string txt);
bool IsChange(char letter);

int main()
{
    return EXIT_SUCCESS;
}

// Enter an string
string EnterText(string txt)
{
    // Declare variable
    string in = "";

    // Accept input
    cout<< txt;
    cin>> in;

    // Return the given string
    return in;
}

// Translate to pirates language
string ToPiratesLanguage(string txt)
{
    // Declare variables
    string pl = "";
    string temp = "";

    // Create the pirate language translation of the given string
    for (int n = 0; n < txt.size(); ++n)
    {
        // Get the substring
        temp = txt.substr(n, 1);

        // Check if the letter is an "konsonant", like "H" or "g"
        if (IsChange( txt ) == true)
        {
            pl += temp + "o";
        }

        pl += temp;
    }

    // Return the "priate language" version of the given string
    return pl;
}

// Translate to normal language
string ToNormalLanguage(string txt)
{
    // Declare variable
    string nl = "";

    // Return the "normal language" translation of the given string
    return nl;
}

// If the given letter is an "konsonant"
bool IsChange(string letter)
{
    return true;
}
Det är i funktionen "ToPiratesLanguage", på raden

Kod: Markera allt

if (IsChange( txt ) == true)
som felet uppstår. Vet någon vad problemet är?
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

SV: Problem i C++

Inlägg av Smygis »

Jopp, medans jag pillar så gjorde jag en ändring i mitt förra inlägg.

bool IsChange(string);

istf char. sedan skulle jag ha ändrat if (IsChange( txt ) == true) till if (IsChange(temp))
Senast redigerad av 1 Smygis, redigerad totalt 20 gånger.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

SV: Problem i C++

Inlägg av Johnny Rosenberg »

Smygis skrev: using namespace std;
consonant heter det på engelska också. Fast med C då.
Japp, däremot heter inte "vokaler" "vocals"... Visst är det märkligt..? Nåja, skillnaden på "vokaler" och "vowels" är kanske inte heller så stor.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
lord
Inlägg: 573
Blev medlem: 03 okt 2007, 21:08
Ort: Sverige

SV: Problem i C++

Inlägg av lord »

Ojdå, ursäkta mig. Hade glömt uppdatera er om att jag fick allt att fungera. Men tack för hjälpen :).
Skriv svar

Återgå till "Programmering och webbdesign"