Avatar billede jamal_s Nybegynder
20. februar 2002 - 13:33 Der er 1 løsning

kommer fra ?

hejsa..

1. SPM:
-----------------
hvordan fortæller jeg koden, hvis bruger kommer fra:
void tal1
så skal den dit og dat...
og hvis brugeren kommer fra:
void tal2
så skal den dit og dat...osv..
jeg tager brugeren til det sted jeg vil ved at skrive:
tal1();
eller nu tal2();

2.SPM
-----------------
hvis nu brugeren trykker på pil op, og lad sit finger på tasten så begynder computer med at sige biiiiiiiiiiiiiiiiii...hvordan kan jeg forhindre det, altså at det ik sker ??

på forhånd tak forhjælpen
Avatar billede soepro Nybegynder
21. februar 2002 - 13:06 #1
Jeg formoder at du har en tredie funktion test(), som bliver kaldt af både tal1() og tal2() - og at du har behov for at vide fra hvilken af den to du er blevet kaldt.

Den simple løsnming er selvfølgelig at overføre navnet på funktionen som en ekstra parameter:

int res;
void tal1(void)
{
  res = test("tal1");
}
void tal2(void)
{
  res = test("tal2");
}
int test(char *calledFrom)
{
  if (strcpy(calledFrom, "tal1") == 0)
    return 2;
  return 1;
}

Eller varianter over samme tema. Lidt mere elegant er overførsel af selv funktionspointeren:

void tal1(void)
{
  test(tal1);
}
void tal2(void)
{
  test(tal2)
}
void test((void *)func(void))
{
  if (func == tal1)
    /* Gør noget */;
  else
    /* Gør noget andet. */;
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester