// 09092009.cpp, P H Anderson, Sept 9, '09
// functions;

#include <stdio.h>
#include <stdlib.h>

void greeting(int num);             // These are declarations - before main
int sum_up_to(int num);
float power(float x, int num);
int factorial(int num);

int main()
{
    int f, i, num, sum;
    float v, y;
    
    greeting(12);
    
    i = 123;
    sum = sum_up_to(i);
    printf("%i %i\n", i, sum);
    
    v = 3.1; 
    i = 3;
    y = power(v, i);
    printf("%f %i %f\n", v, i, y);;
    
    num = 3;
    f = factorial(num);
    printf("%i %i\n", num, f);
    
    system("pause");    
}

void greeting(int num)          // These are the implementaions, after main()
{
    int n;
    for (n=0; n<num; n++)
    { 
        printf("Hello\n");
    }
}
int sum_up_to(int num)
{
    int n, sum = 0;
    for (n=1; n<=num; n++)
    {
        sum = sum + n;
    }
    return(sum);
}
float power(float x, int num)
{
    float y;
    int n;
    
    if (num == 0)
    {
        return(1.0);
    }
    else
    {
        y = 1.0;
        for (n=1; n<num; n++)
        {
            y = y * x;
        } 
        return(y);
    }
}
int factorial(int num)
{
    int n, f;
    if (num == 0)
    {
        return(1);
    }
    else
    {
        f = 1;
        for (n=1; n<=num; n++)
        {
            f = f * n;
        }
    }
    return(f);
}