Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Nie działa warunek "if" przed case

Ostatnio zmodyfikowano 2011-01-31 09:17
Autor Wiadomość
rafixxx25
Temat założony przez niniejszego użytkownika
Nie działa warunek "if" przed case
» 2011-01-30 23:06:32
Witam!

Mam problem.

Mam mniej więcej coś takiego:

switch(a)
{
case 1:
...
break;
case 2:
...
break;
if(a>b)
{
case 3:
...
break;
case 4:
...
break;

}
}
I tutaj jest mój problem. Nawet jeśli warunek if nie jest spełniony, to gdy wartość a jest równa 3 to wykonuje się instrukcja zawarta w case 3. Wiecie co może być przyczyną? Da się radę to jakoś ominąć? Wiem, że są inne metody, lecz mam tak zbudowaną dużą cześć i ważne jest, by mniej więcej tak zostało. W tym ifie jest kilka casów. Gdy wsadziłem ifa pod casa

case 3:
if(a>b)
{
...
}
break;
itd.
to jakiś błąd wyskakuje dziwny i nie chyce mi się całego kodu przebudowywać.

Bardzo proszę o pomoc i z góry dziękuje.

Pozdr.
P-27556
McAffey
» 2011-01-30 23:36:12
A jakie błędy Ci wyskakują jak if'a wsadzasz pod case ? U mnie gdy if'a wsadziłem pod case wszystko się kompiluje i działa poprawnie. A po za tym kod wstawiaj w znaczniki
[cpp]...[/cpp]
. Log błędów możesz wstawić w znaczniki
log
.
P-27557
dmx81
» 2011-01-31 00:48:04
no, trzeba napisac co za blad, bo wyglada na ok (a ta pierwsza wersja z ifem miedzy break a case wyglada raczej... dziko;)  a najlepiej daj kawalek kodu z bledem, moze cos poradzimy
P-27560
McAffey
» 2011-01-31 01:11:29
Ta "dzika" wersja wygląda ok, ale z nieznanych mi powodów u mnie zachowuje się tak samo. Ale za to ta wersja o której kolega napisał, że wywala mu błędy, u mnie jak już wyżej wspomniałem działa dobrze.
P-27561
DejaVu
» 2011-01-31 01:58:36
Switch ma określoną konstrukcję. Nie można robić takich cudów jak Ty - konstrukcja poleceń jest z góry określona i jest to wyraźnie napisane w kursie - http://cpp0x.pl/kursy/Kurs-C++/Podstawy /Warunek-wielokrotnego-wyboru-switch-case/17.
P-27562
rafixxx25
Temat założony przez niniejszego użytkownika
» 2011-01-31 09:17:53
Eee... teraz działa :P Musiałem jakiś nie wielki błąd zrobić. Ogólnie zawsze mam maksymalnie możliwy chaos w kodzie i jak coś nawali to ciężko znaleźć przyczynę.

Szkoda tylko, że nie da się zrobić ifa prze case'ami :( Bardzo by to ułatwiło mi sprawę, ale poradzę sobie bez tego :P Dzięki za info i chęć pomocy.
P-27567
« 1 »
  Strona 1 z 1