Quita el ultimo break del switch, no hace falta. Lo unico que hará es que salga del while y el programa se cierre porque llegas al final.
Lo de que"el programa tuvo un error" es porque el main() debe ser int main():
Con un return 0; antes de la ultima llave. De lo contrario el sistema no tendrá forma de saber si el programa terminó bien o no.