Hinter "while" und "for" Befehle kommen keine Semikoli!
Hoffe, das ist die Mehrzahl von Semikolon
Bei dem untersten while hast Du die geschweiften Klammern vergessen.
Es würde außerdem helfen, wenn Du denjenigen Code einrückst, der Teil eines Befehle oder einer Funktion ist. Dann wird es übersichtlicher.
Gruß