Easeful Opublikowano 3 Stycznia 2010 Udostępnij Opublikowano 3 Stycznia 2010 Elo! Gdy dałem w c++ string zmienna="siema"; switch(zmienna) { ... } Napisało mi error że argument podany do switch nie jest integer Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Egzekutor Opublikowano 3 Stycznia 2010 Udostępnij Opublikowano 3 Stycznia 2010 Nie da się na stringach zadziałać instrukcją switch. Switch działa tylko na typy całkowite (int). Najlepiej zrób to instrukcją "if" lub napisz funkcję przekształcającą dowolny string na liczbę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Easeful Opublikowano 3 Stycznia 2010 Autor Udostępnij Opublikowano 3 Stycznia 2010 ok, a jeszcze jedno pytanie: jak zrobić takie coś w c++ jak w gmie takie cos: GML imie="edgar"; tekst=imie+" elo"; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Egzekutor Opublikowano 3 Stycznia 2010 Udostępnij Opublikowano 3 Stycznia 2010 string imie="edgar"; string tekst=imie+= " elo"; W rezultacie w stringu "tekst" znajdzie się "edgar elo". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Easeful Opublikowano 3 Stycznia 2010 Autor Udostępnij Opublikowano 3 Stycznia 2010 to czemu mi to nie działa: string proc=""; cout << "Podaj nazwe procesu: "; cin >> proc; system("START cmd /c taskkill /f /im " + proc); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 3 Stycznia 2010 Udostępnij Opublikowano 3 Stycznia 2010 bo nie czytasz co wywala kompilator. system(string("START cmd /c taskkill /f /im " + proc).c_str()); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Egzekutor Opublikowano 3 Stycznia 2010 Udostępnij Opublikowano 3 Stycznia 2010 Nie jestem pewien ale może musisz załadować jakąś bibliotekę? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 3 Stycznia 2010 Udostępnij Opublikowano 3 Stycznia 2010 lepiej zrobić własne makro uniwersalnego switcha jesli chcesz zachowac jako taka stala logike, ale i tak ify to juz lepszy pomysl: #define uswitch(var) for(unsigned int __T__=0,__PTR__=(unsigned int)&var;__T__<1;__T__++) #define ucase(type,val) if(*(type*)__PTR__==val) string s="test"; uswitch(s) // musisz koniecznie podac nazwe zmiennej/stalej ktora istnieje, nie zas bezposrednia wartosc { ucase(string,"test") // pierw podajesz typ zmiennej/stalej a nastepnie wartosc do porownania. Typ musi miec operator porownania, inaczej nie zadziala { cout<<"dobrze"; } ucase(string,"dupa") { cout<<"zle"; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi