Also wenn du die Berechnung mit Hilfe von globalen Variablen (s, z, ...) so verteilst, dann wundert mich das überhaupt nicht, dass du da Probleme bekommst...
Wie soll man da den Überblick behalten?
Statt der while-Schleifen aus dem ersten Quelltext kannst du dann einfach if-Abfragen benutzen.
Wofür eigentlich die ganzen Stringvariablen s0 bis s12? Wie wäre es z.B. mit einem Array?
Und was da (falsch) läuft, müsstest du eigentlich im Debugger sehen, das ist von außen viel schwerer nachzuvollziehen...
Was komisch ist: Du hast eine for-Schleife mit s, gleichzeitig verwendest du s aber in WerteBerechnen. for-Schleifenvariablen müssen aber lokale Variablen sein...
Kann es sein, dass du s zweimal deklariert hast? Einmal lokal und einmal global? So dass das s in WerteBerechnen gar nicht die Werte hat, die du erwartest?
Es wäre vielleicht am sinnvollsten das Projekt einmal anzuhängen wie es jetzt ist, denn so ist es ziemlich schwer zu sehen was da wie abläuft.