• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

error: no match for 'operator<<' (operand types are 'const char [16]' and 'std::string {aka std::basic_string<char>}')

Object Storage Arubacloud
–7 głosów
1,668 wizyt
pytanie zadane 8 lutego 2018 w C i C++ przez Kolberg Obywatel (1,560 p.)

 

#include <iostream> //biblioteka glowna
#include <cstdlib> //czyszczenie ekranu
#include <windows.h> //uspienie
#include <cstdio> //wczytywanie klawisza

using namespace std;

string pseudonim; //pseudonim
string pseudonimt; //pseudonim do dialogow
string narratort="narrator: "; //narrator do dialogow
string rycerz="rycerz", lucznik="lucznik", budowniczy="budowniczy"; //klasy
string miejsce; //miejsce w grze
string postac; //postac w grze
string menu; //menu w grze
string rzeka; //rzeka w grze
string wybor="Wybierz kontynuacje: ";

int klasa; //klasa
int opcja; //opcja z glownego menu
int wybord; //wybor dialogu

int main()
{
    for(;;)
    {
        miejsce="zamek"; //miejsce domyslne
        postac="posrednik krola"; //postac domyslna
        rzeka="Birda"; //rzeka domyslna
        wybord=0; //wybor domyslny

        while(opcja!=1 && opcja!=2)
        {
            cout << "{*}GLOWNE MENU{*}" << endl << endl;
            cout << "1. Nowa gra" << endl;
            cout << "2. Wyjdz z gry" << endl;
            cout << endl << "* Nazwy w grze sa przypadkowe." << endl;
            cout << endl << "Wybierz opcje z menu glownego(1-2): ";
            cin >> opcja;

            if(opcja==1)
            {
                system("cls");
            }

            else if(opcja==2)
            {
                system("cls");
                cout << "Gre stworzyl *" << endl;
                Sleep(2000);
                cout << "Do skompilowania zostal uzyty *";
                Sleep(2500);
                return 0;
            }

            else
            {
                system("cls");
                cout << "Nie ma takiej opcji w menu glownym!";
                Sleep(1500);
                system("cls");
            }
        }

        klasa = 0; //usuwanie klasy

        while(pseudonim=="")
        {
            cout << "Witaj graczu!" << endl;
            cout << "Podaj swoj pseudonim: ";
            cin >> pseudonim;
        }

        pseudonimt=pseudonim+"[ty]: "; //ustawienie pseudonimu do dialogow
        menu="[MENU] Gracz |"+pseudonim+"| znajduje sie w: |"+miejsce+"| [MENU]"; //menu gry

        system("cls");

        while(klasa!=1 && klasa!=2 && klasa!=3)
        {
            cout << "Dostepne klasy:" << endl;
            cout << "1. Rycerz" << endl;
            cout << "2. Lucznik" << endl;
            cout << "3. Budowniczy" << endl;
            cout << "Wybierz swoja klase(1-3): ";
            cin >> klasa;

            if(klasa==1)
            {
                system("cls");
                Sleep(1000);
                cout << "{*}PODSUMOWANIE{*}" << endl << endl;
                cout << "Twoj pseudonim: " << pseudonim << endl;
                cout << "Twoja klasa: " << rycerz << endl;
                cout << "Miejsce poczatkowe: " << miejsce << endl;

                Sleep(2000);

                while(getchar()!='\n');
                {
                    cout << endl << endl << "Wcisnij ENTER, aby rozpoczac przygode!";
                    getchar();
                }

                //poczatek gry

                system("cls");
                cout << menu << endl << endl;
                Sleep(4000);
                cout << postac << ": dialog" << endl;
                Sleep(4000);
                cout << postac << ": dialog" << rzeka << "." << endl;
                Sleep(5000);
                cout << pseudonimt << "dialog" << endl;
                Sleep(4000);
                cout << postac << ":dialog" << endl;
                Sleep(4000);
                while(wybord!=1 && wybord!=2)
                {
                    cout << postac << ": dialog" << endl;
                    Sleep(1000);
                    cout << endl << "1. dialog" << endl;
                    cout << "2. dialog << endl;
                    cout << endl << wybor;
                    cin >> wybord;

                    if(wybord==1)
                    {
                        cout << endl << endl << pseudonimt << "dialog" << endl;
                        Sleep(1500);
                        cout << postac << ": dialog" << endl;
                        Sleep(3500);
                        cout << postac << ": dialog" << endl;
                        Sleep(4500);
                        cout << postac << ": dialog" << endl;
                        Sleep(4200);
                        system("cls");
                        cout << menu << endl << endl;
                        Sleep(2000);
                        cout << narratort << pseudonim << " dialog.";
                        Sleep(5500);

                        miejsce="kuznia"; //zmiana miejsca
                        postac="kowal"; //zmiana postaci
                        menu="[MENU] Gracz |"+pseudonim+"| znajduje sie w: |"+miejsce+"| [MENU]"; //menu gry

                        system("cls");
                        cout << menu << endl << endl;
                        Sleep(3000);
                        cout << postac << ": dialog" << endl;
                        Sleep(3000);
                        cout << postac << ": dialog" << endl;
                        Sleep(4500);
                        cout << postac << ": dialog" << endl;
                        Sleep(2000);
                        system("cls");
                        cout << menu << endl << endl;
                        Sleep(2000);
                        cout << narratort << pseudonim << " dialog";
                        Sleep(5500);

                        miejsce="most nad rzeka " << rzeka; //zmiana miejsca
                        postac="nadzorca"; //zmiana postaci
                        menu="[MENU] Gracz |"+pseudonim+"| znajduje sie w: |"+miejsce+"| [MENU]"; //menu gry

                        system("cls");
                        cout << menu << endl << endl;
                        Sleep(3000);
                        cout << postac << ": dialog" << endl;
                        Sleep(3000);
                        cout << postac << ": dialog" << endl;
                        Sleep(3500);
                        cout << postac << ": dialog" << endl;
                        Sleep(4500);
                        wybord=0; //usuwanie wyboru
                        while(wybord!=1 && wybord!=2)
                        {
                            cout << postac << ": dialog" << endl;
                            Sleep(1000);
                            cout << endl << "1. dialog" << endl;
                            cout << "2. dialog" << endl;
                            cout << endl << wybor;
                            cin >> wybord;

                            if(wybord==1)
                            {
                                cout << endl << endl << pseudonimt << "dialog" << endl;
                                Sleep(1500);
                            }

                            else if(wybord==2)
                            {
                                cout << pseudonimt << "dialog." << endl;
                                Sleep(1500);
                            }

                            else
                            {
                                system("cls");
                                cout << menu << endl << endl;
                                cout << "Nie ma wyboru, o takim numerze!" << endl << endl;
                                Sleep(1500);
                                system("cls");
                                cout << menu << endl << endl;
                            }
                        }
                    }

                    else if(wybord==2)
                    {
                        cout << pseudonimt << dialog" << endl;
                        Sleep(3000);
                    }

                    else
                    {
                        system("cls");
                        cout << menu << endl << endl;
                        cout << "Nie ma wyboru, o takim numerze!" << endl << endl;
                        Sleep(1500);
                        system("cls");
                        cout << menu << endl << endl;
                    }
                }
            }
            else if(klasa==2)
            {
                system("cls");
                Sleep(1000);
                cout << "{*}PODSUMOWANIE{*}" << endl << endl;
                cout << "Twoj pseudonim: " << pseudonim << endl;
                cout << "Twoja klasa: " << lucznik << endl;
                cout << "Miejsce poczatkowe: " << miejsce << endl;

                Sleep(2000);

                while(getchar()!='\n');
                {
                    cout << endl << endl << "Gra z klasa LUCZNIK jest w trakcie tworzenia." << endl;
                    cout << endl << "Wcisnij ENTER, aby wrocic do glownego menu!";
                    getchar();
                }
                system("cls");
            }
            else if(klasa==3)
            {
                system("cls");
                Sleep(1000);
                cout << "{*}PODSUMOWANIE{*}" << endl << endl;
                cout << "Twoj pseudonim: " << pseudonim << endl;
                cout << "Twoja klasa: " << budowniczy << endl;
                cout << "Miejsce poczatkowe: " << miejsce << endl;

                Sleep(2000);

                while(getchar()!='\n');
                {
                    cout << endl << endl << "Gra z klasa BUDOWNICZY jest w trakcie tworzenia." << endl;
                    cout << endl << "Wcisnij ENTER, aby wrocic do glownego menu!";
                    getchar();
                }
                system("cls");
            }
            else
            {
                system("cls");
                cout << "Nie ma takiej klasy!";
                Sleep(1500);
                system("cls");
            }
            opcja = 0; //usuwanie poprawnej wartosci
            pseudonim = ""; //usuwanie pseudonimu
        }
    }
}

 

komentarz 8 lutego 2018 przez Alex.Ironside Stary wyjadacz (14,900 p.)
Jezeli zastanawiasz sie dlaczego tyle negatywow to z powodu braku jakiegokolwiek opisu.

2 odpowiedzi

+2 głosów
odpowiedź 9 lutego 2018 przez Piotr Batko Stary wyjadacz (13,190 p.)
wybrane 9 lutego 2018 przez Kolberg
 
Najlepsza

Normalnie nie odpowiadam na tak niechlujnie zadane pytania, ale odpaliłem sobie ten kodzik i mnie zaciekawił :)

Błędy:

  • Linia 122 - brakuje zamknięcia cudzysłowu
  • Linia 161 - zamień << na +
  • Linia 210 - brakuje otwarcia cudzysłowu

Napisz do mnie prywatną wiadomość, jak rozwiniesz trochę tę gierkę. Pozdrawiam :)

1
komentarz 9 lutego 2018 przez Kolberg Obywatel (1,560 p.)
Wiedziałem, że ten problem to jakaś błahostka, ale, że aż tak ;o. Wczoraj zmarnowałem kilka godzin na szukanie rozwiązania, aż w końcu się zdenerwowałem i wstawiłem "pytanie ;)" na forum. Jeżeli chodzi o te cudzysłowia, to po wklejeniu zamieniłem oryginalne dialogi na napisy "dialog" i przez to ten brak. Mam ferie i postanowiłem znaleźć sobie zajęcie na wieczór z prawie zerową znajomością języków c. Skontaktuje się z Tobą, gdy skończę klasę "Rycerz".

ps. Grę piszę z myślą o grze King Arthur's Gold. Prawdopodobnie nie powinno brakować nawiązań do niej ;)
0 głosów
odpowiedź 12 kwietnia 2018 przez Raveena Użytkownik (500 p.)
Dodaj jeszcze #include <string> do swojego kodu, bo bez tego tam gdzie są napisy i operacje na nich Visual Studio pokazuje błąd :). Tak na przyszłość, bo nie we wszystkich kompilatorach trzeba używać tej dyrektywy :).
komentarz 12 kwietnia 2018 przez monika90 Pasjonat (22,940 p.)
Trzeba używać we wszystkich kompilatorach. Takie są zasady programowania w c++, używasz std::string - inkludujesz <string>, używasz std::unique_ptr - dołączasz <memory>, std::not_fn wymaga <functional>, itd...

Podobne pytania

0 głosów
1 odpowiedź 349 wizyt
0 głosów
0 odpowiedzi 872 wizyt
pytanie zadane 15 grudnia 2018 w C i C++ przez Używtkownik Nowicjusz (120 p.)
0 głosów
1 odpowiedź 407 wizyt
pytanie zadane 11 maja 2021 w C i C++ przez haiii4324 Nowicjusz (120 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...