allso erst mal vorweg: 4 tasterabfragen sind doch etwas viel, aber sicher nicht das problem. im normalfall genügen immer 2, zb auf diese art:
Code:
do{
taster=PollSwitch();
}while(taster!=PollSwitch());
so, und nun zu deinem problem:
versuch einmal nach dem ersten return 0; noch eine abschließende "}" zu setzen. ich glaube, dass es daran liegen kann.

ein anderer ansatz wäre es, dein ganzes programm noch einmal zu schreiben, und dann im main() nur die programmanwahl per tasterabfrage zu machen, und die ganzen programme (kollision, odometrie,...) in eigenen funktionen außerhalb von main() auszuführen. dadurch wird der code automatisch übersichtliche, und man kann somit auch leicher fehler suchen/finden.