Как компилировать файлы на сервере?
Win компилятор не подойдет. Какие данные вы собраетесь вводить?
Закидывайте исходник на сервер, а потом php.net/manual/ru/function.exec.php указываете правильные аргументы для компилятора и смотрите вывод.
По поводу ввода данных, на мой взгляд, удачное решение сделано в ideone.com
то есть, пользователь сперва вводит все данные, которые ему придется ввести, а потом они передаются программе. Если же хотите, что пользователь вводил данные именно в тот момент, когда, например, программа выдала приглашение на их ввод, то придется поработать.