int-plats i en funktion
Tjena alla snälla läsare som läser detta!
Jag undrar om de är nån av er som vet hur man kan få en minne-plats så som int att funka innuti en definition av en funktion? Den funkar ju (självklart) men jag kan ju ej använda den utanför definitionen eftersom att den är innesluten innom en { och en }.....
Har ni nån lösning på hur jag kan få ut de jag lägger in (i den int-platsen som finns där innom) ut i main()?
Tack på förhand till er snälla läsare!
Mvh
Ted
Svara
Sv: int-plats i en funktion
Jag är inte riktigt med på vad du menar, men jag gör ett försök...
void min_funktion(int &a){
a=3;
}
void main(){
int b=0;
min_funktion(b);
cout << b;
}
Denna kodsnutt ska (om jag inte har glömmt allt för mycket) skriva ut 3.
/Johan
Svara
Sv: int-plats i en funktion
skitschysst ! !jag skall genast testa
------------
nej tyvärr jag fick de inte att funka
---------
Svara
Sv: int-plats i en funktion
Jag testade att klistra in exakt den koden i min c++-kompilator och fick utskriften 3...
/Johan
Svara
Sv: int-plats i en funktion
har du nån icQ?
min är 59766949 kontakta mig så kan vi utveckla detta!!
vore skitschysst om du gjorde de!
//Ted
Svara
Sv: int-plats i en funktion
Om du vill använda pekare istället för referens (varför man nu skulle vilja det) ser det ut så här:
void min_funktion(int *a){
*a=3;
}
void main(){
int b=0;
min_funktion(&b);
cout << b;
}
:o)
Svara
Sv: int-plats i en funktion
Jag har lite ont om tid nu, men posta problemet här istället så kanske jag eller någon annan svarar... Fungerar det inte om du kör min kodsnutt?
/Johan
Svara
Sv: int-plats i en funktion
sähär är det...
koden ser ut som följande
void banksvar(int banksvar)
{
if (banksvar==1)
inpengar(banksvar);
else if (banksvar==2)
utpengar();
else if (banksvar==3)
kontoupp();
else if (banksvar==4)
meny();
else cout << "Felaktigt svar! Var vänlig försök igen!" << endl;
banken();
}
den funkar ej eftersom att funktionerna som finns innom denna funktionen inte "kommer ut" dom är ju deklararerade i main() och jag på nått sätt få dem att funka i samspel även om de finns innom en annan funktion...
vet ni nått bra svar så är jag er mycket eller så gott som för alltid er tacksamma!!
//ted
Svara
Sv: int-plats i en funktion
Jag förstår inte varför du inte kan använda ett returvärde i detta fallet, men om du vill göra på det sättet måste bankvärde vara en referens, det ska alltså se ut såhär:
void banksvar(int &banksvar)
/Johan
Svara
Sv: int-plats i en funktion
jag har svårt att tro att det där med att deklarerar en funktion inne i main() , kommer overhuvudtaget att kompileras
.Enligt programmerins andan måste :
1- en funktion deklareras i början av en fil eller en header file .
2- en funktion bör definieras utanför main() funktion i samma fil eller en annan kompilbar och åtkomstbar file .
3 - en funktion bör anroppas från en annan funktion till exempel main () .eller i samma funktion .
Svara
Sv: int-plats i en funktion
du var lite svårförstådd du abra hana men jag tror jag förstår och jag kan dem redan....
Svara
Sv: int-plats i en funktion
skulle vilja väcka liv i denna frågan igen!
nån som vet ett bra svar??
Svara
Sv: int-plats i en funktion
Om mitt gamla svar är "kostigt" kan du väl försöka förklara ditt problem igen, i sådan fall har jag nog missuppfattat dej...
/Johan
Svara
Sv: int-plats i en funktion
Ska det vara så svårt?
Antingen:
void funk(int *i)
{
*i = 3;
}
Med följande i main:
int i;
funk(&i);
cout << i;
eller
int funk()
{
return 3;
}
Med följande i main:
int i;
i = funk();
cout << i;
Svara
Sv: int-plats i en funktion
Ändra :
void banksvar(int banksvar)
{
if (banksvar==1)
inpengar(banksvar);
else if (banksvar==2)
utpengar();
else if (banksvar==3)
kontoupp();
else if (banksvar==4)
meny();
else cout << "Felaktigt svar! Var vänlig försök igen!" << endl;
banken();
}
mot :
void banksvar(int banksvar)
{
switch(banksvar)
case 1: inpengar(banksvar);
break;
case 2: utpengar();
break;
case 3: kontoupp();
break;
case 4: meny();
break;
default : cout << "Felaktigt svar! Var vänlig försök igen!\n"
banken();
}
för att få en snyggare och lättlästare kod!
Du kanske också ska tänka på att ha olika namn på funktionens namn och argumentets namn.
filens kod:
funktions deklaration;
void inpengar(int *);
void utpengar();
void kontoupp();
void meny();
void banksen();
void banksvar(int *);
int main()
{
int bnkanswer;//eller nåt annat
...
all din kod
...
banksvar(&bnkanswer);
din kod
}
Om jag har förstått din fråga rätt borde det här göra susen.
/Gurra
Svara