Sida 1 av 1

funktioner i C++

Postat: 17 jul 2011, 15:38
av kimU
Tjena!
Vad säger ni om detta:
vi säger att jag har ett program med tre funktioner,
i två av dessa funktioner ska man skriva två olika värden i respektive funktion.
dessa två värden returneras till main där de adderas.
svaret vill jag sedan skicka till en tredje funktion.
är detta möjligt,
eller kanske ännu bättre,
kan man returnera från en funktion till en annan?

Re: funktioner i C++

Postat: 17 jul 2011, 23:03
av Konservburk
kimU skrev:vi säger att jag har ett program med tre funktioner,
i två av dessa funktioner ska man skriva två olika värden i respektive funktion.
dessa två värden returneras till main där de adderas.
svaret vill jag sedan skicka till en tredje funktion.
Menar du något i den här stilen?

Kod: Markera allt

main() {
   den_tredje( den_ena() + den_andra() );
}

Re: funktioner i C++

Postat: 21 jul 2011, 16:21
av kimU
Konservburk skrev:
kimU skrev:vi säger att jag har ett program med tre funktioner,
i två av dessa funktioner ska man skriva två olika värden i respektive funktion.
dessa två värden returneras till main där de adderas.
svaret vill jag sedan skicka till en tredje funktion.
Menar du något i den här stilen?

Kod: Markera allt

main() {
   den_tredje( den_ena() + den_andra() );
}
hur skulle detta funka i tex:

Kod: Markera allt

main(){
den_tredje( den_ena()+den_andra() );
cout<<"den ena plus den andra funktionen blir "<<c<<endl;
return 0;}
int den_ena(){
int a;
cout<<"siffra 1: "<<endl;
cin>>a;
retrun a;}
int den_andra(){
int b;
cout<<"siffra b: "<<endl;
cin>>b;
return(b);} 
int den_tredje(){
int c;
c=a+b;
return (c);

Re: funktioner i C++

Postat: 10 okt 2011, 22:51
av Christian Holmberg
kimU skrev:...kan man returnera från en funktion till en annan?
Du kan ha en funktion som t.ex tar en integer som parameter och anropa funktionen med en annan funktion som returnerar en integer som parameter till första funktionen.

Vi bygger vidare på Konservburks idé och skriver ett helt program som du kan kompilera och köra. Om du är novis inom programmering så försök analysera programmet och förstå dig på varför det fungerar som det gör. Om du inte är novis inom programmering så kan du ignorera ordet "försök" i föregående mening :unerd:

Kod: Markera allt

/*
	Simpel demo kod skapad av Christian Holmberg.
	Licens:
	Får fitt andvändast hur du vill _FÖRUTOM_ i syfte som svar på läxuppgifter.
*/
#include <iostream>

using namespace std;

int FirstFunction ();
int SecondFunction ();
int ThirdFunction (int num1, int num2);

int main (void) {
	cout << ThirdFunction(SecondFunction(), FirstFunction()) << endl; 
	return 0;
}

int FirstFunction () {
	int num;
	
	cout << "Ange ett nummer: ";
	cin >> num;
	return num;
}

int SecondFunction () {
	int num;

	cout << "Ange yttligare ett nummer: ";
	cin >> num;
	return num;
}

Re: funktioner i C++

Postat: 29 okt 2011, 10:32
av kimU
Christian Holmberg skrev:
kimU skrev:

Kod: Markera allt

/*
	Simpel demo kod skapad av Christian Holmberg.
	Licens:
	Får fitt andvändast hur du vill _FÖRUTOM_ i syfte som svar på läxuppgifter.
*/
#include <iostream>

using namespace std;

int FirstFunction ();
int SecondFunction ();
int ThirdFunction (int num1, int num2);

int main (void) {
	cout << ThirdFunction(SecondFunction(), FirstFunction()) << endl; 
	return 0;
}

int FirstFunction () {
	int num;
	
	cout << "Ange ett nummer: ";
	cin >> num;
	return num;
}

int SecondFunction () {
	int num;

	cout << "Ange yttligare ett nummer: ";
	cin >> num;
	return num;
}

får som svar:
undefined reference to ThirdFunction(int,int)

Re: funktioner i C++

Postat: 29 okt 2011, 11:31
av mcNisse
ThirdFunction är bara deklarerad inte implementerad.

Re: funktioner i C++

Postat: 29 okt 2011, 16:24
av kimU
mcNisse skrev:ThirdFunction är bara deklarerad inte implementerad.
implementerad?

Re: funktioner i C++

Postat: 30 okt 2011, 14:40
av mcNisse
Implementation är att du skriver vad funtienen gör.

Deklaration

Kod: Markera allt

int ThirdFunction (int num1, int num2);
Implementation (tex)

Kod: Markera allt

int ThirdFunction(int num1, int num2) 
{
   return (num1+num1) * num2;
}

Re: funktioner i C++

Postat: 31 okt 2011, 23:26
av kimU
mcNisse skrev:Implementation är att du skriver vad funtienen gör.

Deklaration

Kod: Markera allt

int ThirdFunction (int num1, int num2);
Implementation (tex)

Kod: Markera allt

int ThirdFunction(int num1, int num2) 
{
   return (num1+num1) * num2;
}
sorry! ibland är man ganska tappad bakom flötet