funktioner i C++

Här diskuteras programmering och utveckling
Användarvisningsbild
kimU
Inlägg: 178
Blev medlem: 18 maj 2011, 08:10
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

funktioner i C++

Inlägg 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?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: funktioner i C++

Inlägg 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() );
}
Användarvisningsbild
kimU
Inlägg: 178
Blev medlem: 18 maj 2011, 08:10
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: funktioner i C++

Inlägg 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);
Christian Holmberg
Inlägg: 194
Blev medlem: 02 nov 2006, 22:02
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: funktioner i C++

Inlägg 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;
}
Användarvisningsbild
kimU
Inlägg: 178
Blev medlem: 18 maj 2011, 08:10
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: funktioner i C++

Inlägg 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)
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: funktioner i C++

Inlägg av mcNisse »

ThirdFunction är bara deklarerad inte implementerad.
Användarvisningsbild
kimU
Inlägg: 178
Blev medlem: 18 maj 2011, 08:10
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: funktioner i C++

Inlägg av kimU »

mcNisse skrev:ThirdFunction är bara deklarerad inte implementerad.
implementerad?
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: funktioner i C++

Inlägg 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;
}
Användarvisningsbild
kimU
Inlägg: 178
Blev medlem: 18 maj 2011, 08:10
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: funktioner i C++

Inlägg 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
Skriv svar

Återgå till "Programmering och webbdesign"