Kalkulator

0

Witam,
nie jestem jakimś mega laikiem z programowiania, no ale.
Mam takie oto zadanie:
Napisać program kalkulator.
Program ma wyświetlić menu z następującymi operacjami:

  1. Dodawanie
  2. Odejmowanie
  3. Mnożenie
  4. Dzielenie
  5. Silnia
  6. Wyjście
    Każda z operacji ma być realizowana przez odpowiednią funkcję (np. double dodaj(double A, double B) - funkcja ma zwrócić odpowiednią wartość)

Zacząłem pisać, jednak mimo tego, że jest już właściwie prawie wszystko co potrzeba, wywala mi błędy przy return, a konkretnie:

kalkulator.cpp(47) : error C2440: 'return' : cannot convert from 'double (__cdecl *)(double,double)' to 'int'

i to samo przy kolejnych return.
Nie wiem o co mu chodzi, kombinowałem z różnymi wersjami, ale sam nie jestem w stanie wpaść na to o co mu chodzi. Prosiłbym o pomoc.
A oto i mój program:

#include "stdafx.h"
#include "windows.h"
#include "stdio.h"
#include <iostream>

double dodaj(double a, double b)
{
	return a+b;
}
double odejmij(double a, double b)
{
	return a-b;
}
double mnozenie(double a, double b)
{
	return a*b;
}
double dzielenie(double a, double b)
{
	return a/b;
}
double silnia(double a)
{
	int silnia = 1;
	for(int i = 2; i <= a; i++)
		silnia *= i;

	return silnia;
}

int main()
{
	double a, b;
	int c;
poczatek: printf("1. Dodawanie\n2. Odejmowanie\n3. Mnożenie\n4. Dzielenie\n5. Silnia\n0. Wyjście\n");
	scanf_s("d",&c);
	switch(c)
	{
	case '0': break;
	case '1': 
		{
		printf("Podaj dwie liczby:\n");
		scanf_s("%f   %f", &a, &b);
		return dodaj;
		}
		break;
	case '2': 
		printf("Podaj dwie liczby:\n");
		scanf_s("%f   %f", &a, &b);
		return odejmij;
		break;
	case '3': 
		printf("Podaj dwie liczby:\n");
		scanf_s("%f   %f", &a, &b);
		return mnozenie;
		break;
	case '4': 
		printf("Podaj dwie liczby:\n");
		scanf_s("%f   %f", &a, &b);
		return dzielenie;
		break;
	case '5': 
		printf("Podaj liczbe:\n");
		scanf_s("%d", &a);
		return silnia;
		break;
	default: printf("Wcisnij poprawny znak od 0-5\n\n");goto poczatek;
	}
	return 0;
}

Z góry dzięki za porady, wskazówki i pomoc

0

Chyba jednak jesteś mega laikiem.

    printf("Podaj dwie liczby:\n");
    scanf_s("%f   %f", &a, &b);
    return dodaj(a,b);  
0

Dzięki za pomoc, nie zwróciłem na to uwagi w ogóle.
Widocznie jednak jestem mega laikiem.
Jeszcze raz wielkie dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1