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

Wielekrotne użycie tego samego

Ostatnio zmodyfikowano 2010-12-02 19:33
Autor Wiadomość
rafixxx25
Temat założony przez niniejszego użytkownika
Wielekrotne użycie tego samego
» 2010-11-30 16:17:59
Witam!

Mam dość spory problem.
Chciałby się dowiedzieć, czy istnieje jakaś komenda w c++ pozwalająca przenieść się do dowolnego momentu kodu i powrót w to samo miejsce?
Mój kod wygląda mniej więcej tak:

C/C++
switch( a )
{
case 1:
   
    jaki ś kod
    kod
    ...
    kod
    break;
case 2:
   
    jaki ś kod
    ten sam kod
    ...
    ten sam kod
    break;
    ...
case n:
   
    jaki ś kod
    ten sam kod
    ...
    ten sam kod
    break;
}

a chcia ł bym, by wygl ą da ł mniej wi ę cej tak:

switch( a )
{
case 1:
   
    jaki ś kod
    kod
    ...
    kod
    break;
case 2:
   
    jaki ś kod
    komenda;
    break;
    ...
case n:
   
    jaki ś kod
    komenda;
    break;
}

Nie chciałbym za każdym razem powtarzać tego ciągu(jest on długi i zawiera wiele pętli i warunków, przez co jest kłopotliwy w kopiowaniu i odpowiednim wstawieniu w kod. Program będę ciągle dopisywał, a jeśli istnmiała by taka komenda, było by mi o wiele łatwiej.

Z góry dzięki za pomoc :)

Pozdr.

edit: zarazem nie chciałbym używać tego kodu po całym switchu(by był używany dla każdego), gdyż wprowadziło by to wieeele komplikacji.
P-24670
pekfos
» 2010-11-30 16:21:13
nie wiem czy dobrze zrozumiałem ale chodzi ci o coś takiego:
C/C++
void choose( int kod ) {
    switch( kod ) {
    case 1:
        break;
    case 2:
        break;
    case N:
        break;
    } }

aby nie kopiować instrukcji warunkowych i trzymać je w jednym miejscu użyj funkcji.
P-24671
rafixxx25
Temat założony przez niniejszego użytkownika
» 2010-11-30 16:32:02
Hmm... chyba tak :)

Jeszcze nie czytałem o tym, ale wydaje mi się, że to rozwiąże mój problem. Idę zaglądnąć do kursu :P

Dzięki
P-24672
ison
» 2010-11-30 16:34:50
Chciałby się dowiedzieć, czy istnieje jakaś komenda w c++ pozwalająca przenieść się do dowolnego momentu kodu i powrót w to samo miejsce?
istnieje coś takiego jak label, ale tego się przeważnie nie używa
C/C++
NazwaLabla:

printf( "Foo" );
//...

goto NazwaLabla;

z tego co widzę to znajomość funkcji by rozwiązała Twój problem
P-24673
Pirotechnik
» 2010-11-30 18:05:34
widzę że kuzynek wrócił do programowania.... (xD)
P-24675
rafixxx25
Temat założony przez niniejszego użytkownika
» 2010-11-30 20:07:52
Niestety, z waszej metody nie udało mi się skorzystać :/
Dobra, będe kopiował... kod będzie straszny,a le cóż :p

@Pirotechnik... :P
P-24681
F90M
» 2010-11-30 20:56:33
zamiast
C/C++
switch( a )
{
case 1:
    kod
    ten sam kod
    kod
    kod
    break;
   
case 2:
    kod
    ten sam kod
    kod
    ten sam kod
    break;
}
przykładowo napisz
C/C++
void JakasFunkcja()
{
    ten sam kod
}
switch( a )
{
case 1:
    kod
    JakasFunkcja();
    kod
    kod
    break;
   
case 2:
    kod
    JakasFunkcja();
    kod
    JakasFunkcja();
    break;
}
P-24682
rafixxx25
Temat założony przez niniejszego użytkownika
» 2010-12-01 17:08:22
Nie dam rady zrobić :/

Gdy chce zadeklarować funkcję wyskakuje, że trzeb dać średnik( 45 C:\Users\...program.cpp expected primary-expression before "void" oraz 928 C:\Users\...program.cpp `funkcja' undeclared (first use this function)  . Jeśli dam go na końcu,a  potem użyje funkcji w jakimś miejscu wyskakuje:[Linker error] undefined reference to `funkcja()'

edit: problem naprawiony. Trzeba było zadeklarować funkcję przed
int main
{

Dzięki wszystkim za pomoc. Teraz czeka mnie gruntowna przeróbka kodu, ale opłaci się :P
P-24726
« 1 » 2
  Strona 1 z 2 Następna strona