Pytasz o uwagi. To prosty program ale wystarczająco złożony by zauważyć kilka rzeczy. Możesz się nie zgadzać z sugestiami. Przemyśl je jednak (nawet jeśli się z nimi nie zgadzasz :-) ).
Rzeczy do poprawienia:
1. Użycie zmiennych globalnych. Zmienne globalne to zło. W tym prostym programie przenieś je do funkcji main().
2. Zła maniera deklarowania kilku zmiennych i funkcji w jednej linii. Nie rób tak. Nawet w prostych programach.
3. Powtórzenie kodu funkcji testNumber1 i testNumber2. One różnią się tylko komunikatem. Komunikat przekaż jako argument funkcji.
4. Główna logika aplikacji wygląda raczej tak:
- Pobierz 1 wartość
- Pobierz 2 wartość
- Pobierz operacje
- Wykonaj operację
- Wróć do początku.
Dopiero w przypadku szczególnym wyboru opcji zakończenia programu, następuje opuszczenie głównej pętli.
W związku z tym:
a) Przenieś kompletne pobranie 1 czy 2 wartości do funkcji. Niech samodzielnie poprawnie ją pobierze i zwróci do głównej części programu.
b) Wydziel funkcję pobrania działania. Dopiero w przypadku pobrania działania kończącego w main() sprawdzaj warunek opuszczenia pętli głównej.
c) Wydziel wykonanie operacji do oddzielnej funkcji z przekazaniem argumentu wyboru.
5. Zwróć uwagę że w funkcji division, masz podobny kod do wykrywania błędu jak w poprzednich. Wydziel to do funkcji.
6. Nieuzasadnione użycie nagłówków nieprzenośnych z MS Windows.
7. Nie będę się upierał. Być może jeszcze nie wiesz jak to zrobić. switch/case można łatwo uniknąć stosując tablicę funkcji. Instrukcje switch/case powodują w dłuższej perspektywie utrzymania programu zaciemnienie kodu i jego komplikację. No ale zakładam że się chcesz ich nauczyć :-)