[C++]String W Case ?

Odpowiedz Nowy wątek
2011-08-31 16:07
mrbanan
0

witam chcialem sobie zrobic tak ze wcisne 1 i mam nowa gre
wpisuje nazwe wioski i wyswietla sie : Gratulacje Twoja Wioska Juz Istnieje ;) Nazwa Wioski To : ZONK!
no wlasnie zonk!
zadeklarowalem zmienna nazwawioski
int nazwawioski;
ale oczywiscie gdy chcialem wyswietlic tekst to sa cyfry
prÓbowalem tez string nazwawioski;
ale pisze : jump to case label , croses initialization of ':std::nazwawioski'

Nie Wiecie jak to zrobic by wyswietlal sie tekst , zamiast cyfer ?
Bardzo Dziekuje Za JakieKolwiek Odpowiedzi! :)

edytowany 2x, ostatnio: madmike, 2016-12-13 18:26

Pozostało 580 znaków

2011-08-31 16:10
0

W case nie możesz użyć std::string.


"(...) otherwise, the behavior is undefined".

Pozostało 580 znaków

2011-08-31 16:11
mrbanan
0

jezeli nie moge to czy mozesz mi powiedziec jak zrobic zeby tekst byl wyswietlany zamiast liczb?

Myślę, że nie tylko ja nie mam pojęcia o co Ci może chodzić. - Endrju 2011-08-31 16:13

Pozostało 580 znaków

2011-08-31 16:20
mrbanan
0

powiedzmy tak : jak sobie wpisuje nazwe wioski np nazwa : diminikolandia

potem wyswietla sie tekst : gratulacje nazwa wioski to : diminikolandia
jezeli zadeklaruje zmienna na int to bedzie : gratulacje nazwa wioski to : 289208202
rozumiesz mnie teraz?
jeszcze kod:

#include <iostream>
#include <windows.h>
using namespace std;

int main()
{

cout << " WarZor 1 " << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_INTENSITY);
cout << "--------------------------------------------------------------------------------" <<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY); //w tym przypadku zmieszaliśmy kolor niebieski z zielonym i dodaliśmy intensywność.
cout << " Nowa Gra " << endl;
cout << " [1] Nowa Gra || [2] Wyjdz" <<endl;
cout << "--------------------------------------------------------------------------------" <<endl;

cout << "Komenda :" <<endl;
int menu;
cin >> menu;
switch ( menu )
{
case 1:
cout << "Nazwa Wioski :" <<endl;

cout << "Gratulacje ! Twoja Wioska Juz Istnieje ;) Nazwa Wioski To :"  <<endl;
break;
case 2:
system("EXIT");
break;
default:
if (cin.fail())
cout << "Nie Odnaleziono Komendy" <<endl;

break;

}

return 0;

}

Pozostało 580 znaków

2011-08-31 16:25
0

Do przechowywania tekstu w C++ powinieneś użyć std::string:

string nazwa;
 
cout << "Podaj costam" << endl;
cin >> nazwa;
cout << "Wpisales: " << nazwa << endl; 

"(...) otherwise, the behavior is undefined".

Pozostało 580 znaków

2011-08-31 16:27
mrbanan
0

dopiero napisales ze nie moge uzywac string w case zreszta tez to wiem
i to probowalem ...

Pozostało 580 znaków

2011-08-31 16:30
0

std::string nie może być zmienną sterującą w switch, poza tym można go we wnętrzu switch'a używać


Pozostało 580 znaków

2011-08-31 16:31
0

...

    case 1:
      cout << "Nazwa Wioski: " << endl;
 
      string super_nazwa_wioski;
      cin >> super_nazwa_wioski;
 
      cout << "Gratulacje! Twoja Wioska Juz Istnieje ;) Nazwa Wioski To :" << super_nazwa_wioski << endl;
      break;

Tylko dodaje sobie na początku

#include <string>

"(...) otherwise, the behavior is undefined".
edytowany 3x, ostatnio: Endrju, 2011-08-31 16:33

Pozostało 580 znaków

2011-08-31 16:33
mrbanan
0

chyba jednak nie mozna bo probuje i nic z tego .... w ogole nie wiem dlaczego w case nie mozna uzywac stringa to jak niby mam wyswietlic tekst z cina do tekstu ?!

Pozostało 580 znaków

2011-08-31 16:35
mrbanan
0

nie da sie tak to samo dodalem tego includa i nic

Pozostało 580 znaków

2011-08-31 16:37
0

MOŻNA! Pokaż kod to powiem Ci gdzie masz błąd


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0