Switch a warunek przy case?

Hej, mam taki problem bo nie bardzo wiem jak (lub czy wogule da sie) utworzyc warunek przy case, i tak np wychodzą z pierwotnej formy funkcji switch powinna ona wyglądac tak:


switch (zmienna)
{
case 31:
cout <
break;
case 155:
cout <
break;
default:
cout <
break;
}



Ja natomiast chciałbym aby funkcja ta sprawdzała czy wartosc przypisana zmiennej była sprawdzana pod wzgledem wiekszosci, mniejszości lub równośi zeru ( co w sumie skróciłoby zapis przy tworzeniu programu miejsc zerowych funkcji kwadratowej [ps. taki program juz mam napisany przy uzyciu funkcji IF ]

No wiec pomyslałem ze dąłoby sie to zapisać tak:



switch (zmienna)
{
case ( zmnienna > 0 ) :
cout <<
cout <<
cout <<<
break;
case (zmienna == 0 ):
cout <<
break;
default:
cout <
break;
}


no ale nie działają mi te warunki przy case, i tu moje pytanie czy wogóle da sie takli warunek tam wstawić w jakis sposób :?:


Obecnie tą czesć programu mam zapisaną przy uźyciu if

if ( delta
{
cout <
}
else
{
if ( delta == 0 )
{
cout <
cout <<
cout <<
}
else
{
cout <<
cout <<<
cout <<<
}
}



dzieki z góry za pomoc lub rozwianie wątpliwosci :wink:

Odpowiedzi: 5

dzieki, napewno kiedys sie odezwe :wink: ja uzywam Dev–C++ 4
adik154
Dodano
19.09.2005 17:47:59
adik154:
PS w jakim programie do C++ ty piszesz jesli wolno zapytać :)

Borland C++ Builder 6 Personal.
Jakbyś czegoś nie kumał to napisz: 51 14 983
Anonymous
Dodano
19.09.2005 17:16:12
dzieki za wskazówki :wink:

w sumie to to
if(delta
{
cout <
}
else if(delta == 0) //
{
int stdMz1 ;
stdMz1 = b / (2*a) ;
cout <<
}
else
{
cout <
}


jest prawie identyczne ( jesli chodzi o sam pomysł) jak:


if ( delta
{
cout <
}
else
{
if ( delta == 0 )
{
cout <
cout <<
cout <<
}
else
{
cout <<
cout <<<
cout <<<
}
}


tyle ze tutaj jest else if (za co bardzo dziękuje ze mogłem sie nauczyć) Uff cięzkie źycie początkującego :wink:



PS w jakim programie do C++ ty piszesz jesli wolno zapytać :)
adik154
Dodano
19.09.2005 17:12:33
Adik casem sie nie da takich myków robić, ale zapoznaj sie z instrukcją else if(wyrazenie)
Poniźej masz przykłed, pisany na bardzo szybko wiec delte liczy cały czas ujemną (gdybyś sie uparł to dopisz unsigned int delta). Jednak chciałem Ci zwrócić uwagę właśnie na else if.
#include
//=================================
using namespace std ;
main(void)
{
int a, b, c ;
cout <<
cin >> a ;
cout <<
cin >> b ;
cout <<
cin >> c ;
int delta ; //zm. delta
delta = (b*b)–(4*a*c) ;
cout <
if(delta
{
cout <
}
else if(delta == 0) //
{
int stdMz1 ;
stdMz1 = b / (2*a) ;
cout <<
}
else
{
cout <
}
system("PAUSE") ;
return 0 ;
}

Jak wroce do domu to skrobnę coś w Borlandzie.

UPDATE

A jednak sie da ;)

#include
#include
using namespace std;
/*Funkcja główna */
int main(void)
{
const int zmienna = 5 ;
switch (zmienna)
{
case zmienna > 0 :
{
cout <
cout <
cout <<
break;
}
case zmienna == 0 :
{
cout <
break;
}
}
system("PAUSE") ;
return 0 ;
}

Tylko nie wiem czy dalej będzie działało ;)
5 zł sie naleźy.
P.S: Jedyna powaźna wada tego to ta linijka:
const int zmienna = 5 ;

Zmienna musi być zainicjowana i nie moźna zmienić jej wartości (nic do niej nie przypiszesz w dalszej częsci kodu).
const oznacza constance czyli stały ;)
Pozostaje else if.
Anonymous
Dodano
19.09.2005 10:58:28
nikt mi nie pomoźe :( :( wiec chyba jednak sie tak nie da :(
adik154
Dodano
18.09.2005 23:25:43
adik154
Dodano:
18.09.2005 14:17:41
Komentarzy:
5
Strona 1 / 1