> scanf("%d%*c", &select);

これ、%*c の格納先を指定してないのはヤヴァくないか?