Код написанный на C компилируется но выдает ошибку в процессе работы?
У вас все while выполняются вечно, вы tf, t, f, o не меняете, поэтому значение monets выходит за переделы допустимого типа signed integer (2147483647).
Ну, учи что такое while
Узнай что такое if
Учи что такое переполнение
Узнай что такое infinite loop
Далее, опираясь на полученные знания, удали этот код и напиши новый. Так как тут у тебя 4 бесконечных цикла, которые ложат твою программу. И вообще, непонятно зачем они нужны.