Funktioner: C++

Funktioner i C++ kan ses som en gruppe af statements, man kan kalde på i ens program.

Det kan fx. være at vi vil lave en funktion, som indeholder vores yndlings-farve.

#include <iostream>

using namespace std;

void yndlingsfarve()
{
    cout << "Orange";
}

int main()
{
    yndlingsfarve();

    return 0;

}

Her er funktionen altså yndlingsfarve(). Da den ikke returnere nogen værdi, vil den derfor skulle have void.

Lad os prøve at returnere en værdi.

#include <iostream>

using namespace std;

int addition(int a, int b)
{
    int summen;
    summen = a + b;
    return summen;
}

int main()
{
    int x = addition(8, 12);
    cout << "Summen af 8 + 12 er = " << x << endl;

    return 0;

}

I ovenstående eksempel returnere funktionen summen af int a og int b.

I main funktionen tildeler vi variablen summen = 8 + 12.

Prøv at eksperimenter lidt med funktionerne. En sjov måde, at starte på er ved at lave en simpel lommeregner.

Denne lommeregner er langt fra perfekt. Men den både bruger og kalder på funktionerne. Måske kan du gøre den endnu mere brugervenlig?

#include <iostream>

using namespace std;

// Addition

double add()
{
    double a;
    double b;

    cin >> a;
    cin >> b;

    return a + b;
}

// subtract

double sub()
{
    double a;
    double b;

    cin >> a;
    cin >> b;

    return a - b;
}

// multiply

double mult()
{
    double a;
    double b;

    cin >> a;
    cin >> b;

    return a * b;
}

// division

double div()
{
    double a;
    double b;

    cin >> a;
    cin >> b;

    return a / b;
}

int main()
{
    cout << "Would you like to add(a), sub(s), mult(m) or         divide(d)?\n";
    char choice;
    cin >> choice;

if (choice == 'a')
{
    cout << "Addition\n";
    cout << add();
}

else if (choice == 's')
{
    cout << "Subtract\n";
    cout << sub();
}

else if (choice == 'm')
{
    cout << "Mulitply\n";
    cout << mult();
}

else if (choice == 'd')
{
    cout << "Division\n";
    cout << div();
}

return 0;
}