Witam,
Mam problem z zadaniem
Zadanie 2.
Zdefiniuj typ wyliczeniowy składający się z wartości odzwierciedlających typy: CHAR, UCHAR, INT, FLOAT. Napisz funkcję, która przyjmie jako argumenty wskaźnik na void, pod którym znajduje się tablica, rozmiar tej tablicy oraz zmienną uprzednio zdefiniowanego typu wyliczeniowego oznaczającą typ danych znajdujących się w tablicy. Funkcja powinna zwrócić średnią arytmetyczną danych w przekazanej tablicy za pomocą typu float.
Próbuję już na różne sposoby i nie mogę wymyśleć jak liczyć srednią w zaleznosci od typu przekazywanego w zdefiniowanym przeze mnie typie. Właściwie to nie wiem nawet jak go poprawnie zdefiniować. Myślałem o switchu w funkcji, który w zaleznosci od parametru typ(który jest typedef enum {CHAR, UCHAR, INT, FLOAT} types) deklaruje zmienna suma i pozniej rzutuje elementy tablicy i dodaje je do sumy, ale w switchu nie można zawierać deklaracji.
Czy ktoś jest w stanie mnie jakoś nakierować?