Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++]Problem ze zmienna typu string


Rekomendowane odpowiedzi

Opublikowano

Mam otoz taki problem ze zmienna string nie dziala tak jak trzeba.

do{
            		cin>>wybor;
            	}while(wybor != '1' && wybor != '2' && wybor != '3' && wybor != '4' && wybor != '5' && wybor != '6' && wybor != '7' && wybor != '8' && wybor != '9' && wybor != '10');

Moja zmienna wybor jesli jest char to nie moge wybrac 10 ale jesli zmienie na typ string to wogole nie dziala czy da sie temu jakos zaradzic?

Opublikowano

A co ten program ma robić?

Możesz to zmienić na zmienna int, skoro to są same liczby.

 

Szukasz kogoś kto wykona grafikę, logo do drużyny esportowej? 


Napisz do mnie postaram się wykonać prace jak najlepiej.


Aktualnie nie mam czasu na wykonywanie grafik.

Opublikowano

uzywajac ' ' traktujesz to co jest miedzy nimi jako char, a uzywajac " " jako string, ogolnie to powinno ci wywalic blad, bo string nigdy nie bedzie rowny np '2' bo o ile sie nie myle to na koncu kazdego stringa jest null, \0, wiec string ktory wydaje ci sie, ze jego wartosc jest '2' tak naprawde wyglada tak "2\0", \0 to znak zakonczenia wlasnie stringa

Opublikowano

Przy porównywaniu stringów null-terminator może być pomijany.

std::string nie ma przeciążonego operatora == dla charów.

" " to char* (c-string), który może być niejawnie przekonwertowany do stringa lub użyty w przeładowaniu (np. std::string przeładowywuje operatory porównania dla char*)

i tak jak wspomniano wyżej ' ' to literał typu char

Opublikowano

I tak jest to dziwne ze używa do tego stringa, a nie inta czy shorta, i widać ze kolega nie zna podstaw skoro nie umie, zapisywać wartości do stringa.

 

Szukasz kogoś kto wykona grafikę, logo do drużyny esportowej? 


Napisz do mnie postaram się wykonać prace jak najlepiej.


Aktualnie nie mam czasu na wykonywanie grafik.

Opublikowano

dzieki sproboje apostrofa

@TheDarkRider a gdzie ci napisalem ze ja jestem jakims mistrzem

a po za tym w moim programie ta wartosc nie moze zostac przypisana do inta


pojawil mi sie koejny problem ktorego nie potrafie rozwiazac, mianowicie zmienna typu string nie dziala mi w switchu(wybor){}, zmienilem ' ' na to " ". czy jest jakies rozwiazanie zeby moja zmienna mogla posiadac wiecej niz 1 znak i dziala w swichu? int nie wchodzi w gre bo w pozniejszym ettapie sa przypisywane znaki do tej zmiennej

Opublikowano

Ze względu na to jak działa switch musisz albo użyć ifa (polecam dla małej ilości możliwości), albo stworzyć mapę (jakąkolwiek) funkcji z kluczem będącym stringiem lub podobne rozwiązanie (overkill), albo skorzystać z magii (http://dev.krzaq.cc/switch-on-strings-with-c11/). Nie polecam magii.

Opublikowano

@Sopelek997 za bardzo nie rozumiem jak mam uzyc if w tym co napisales bo magii raczej nie bede uzywal


dobra chyba jednak zrezygnuje z tego mojego pomyslu na program poniewaz nie jestem az na tyle zaawansowany zeby cos takiego napisc ;/

ale dzieki za pomoc moze kiedys zrozumiem jak to zrobic^^

Opublikowano

if(a == "asdasdasads")

dadadaddadd

else if(a == "wdefsgh")

sdkbndfsagsadkbjl

 

poczytaj jakiś tutorial

dzieki ze sie starasz mi pomoc ale jestem za cienki w uszach i za malo umiem jak narazie

wybralem inna opcje

natomiast zamienilem to na inta bo inaczej nie umiem kosztem dodania paru nowych zmiennych

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...