Mam pewien dylemat. Moja funkcja (niekoniecznie w dzialajacej postaci, napisana na szybko, gdyz bede pisal program, w ktorym takie cos moze mi sie przydac):
switch(zmienna)
{
case "zmienna_a":
{
printf("Przyklad a.\n");
}
break;
case "zmienna_b":
{
printf("Przyklad b.\n");
}
break;
default:
{
printf("Blad.\n");
}
break;
}
Funkcja switch bedzie czescia funkcji (zalozmy, ze nazywa sie funckja_przykladowa()), ktora bede wywolywal z kilkoma argumentami. Jak widac, po kazdym 'case' mam instrukcje przerywajaca 'break'. Chcialbym sie dowiedziec, czy jest mozliwosc, by moja funkcja_przykladowa() mogla przybrac dodatkowy argument (domyslny int 0, mozliwosc wywolania funkcji z argumentem 1), ktory bedzie sprawial, ze kazdy case zostanie wykonany? (Niezaleznie od wartosci zmiennej 'zmienna'). Wydaje mi sie, ze rozwiazaniem moze byc cos takiego (zaraz przed funkcja 'switch' dodam warunek):
if (dodatkowa_zmienna = 1)
{
zmienna = "pomin_je";
]
switch(zmienna)
{
case "pomin_je":
{
case "zmienna_a":
case "zmienna_b":
}
break;
case "zmienna_a":
{
printf("Przyklad a.\n");
}
break;
case "zmienna_b":
{
printf("Przyklad b.\n");
}
break;
default:
{
printf("Blad.\n");
}
break;
}
Pytanie - czy takie rozwiazanie jest etyczne? (O ile w ogole przejdzie)
Nie jestem w stanie uzywac kompilatora (korzystam z tabletu na chwile obecna, komputer bede mial dopiero w weekend), wiec poki co w mojej glowie rodza sie tylko problemy i pomysly ich rozwiazania, bardzo bym prosil o wyrozumialosc i porade. :)