Hallo zämmä
Ich brauche eure Hilfe.
Wenn ich eine Switch Case Anweisung habe und z.b. im Case 1 eine Eingabe machen will:
s=Console::ReadLine();
z=Convert::ToInt16(s);
bricht mir das Programm ab „*.exe funktioniert nicht mehr“! Hat es einen zusammenhang, dass der Wert nicht von Anfang an im Code vermerkt ist? Ich habe s und z am Anfang aufgeführt 
String ^s;
int z;
Muss ich mit Zeiger arbeiten?? *s und &z?
Danke für eure Hilfe.
Gruss Renato
Eine genaue Fehlermeldung bekommt man z. B. durch Debuggen.
Pauschal wäre meine Idee, dass die eingegebene Zahl zu groß für einen Int16 ist. Du willt ja einen int (= Int32) speichern, aber du wandelst mit ToInt16() um. Da kommt es bei Zahlen, die in int passen, aber nicht in Int16 (z. B. 100.000) zu Exceptions.
Grüße, JasonDelife.
Ich habe gemerkt, wenn ich es so schreibe, funktioniert es!
Console::ReadLine();
z=Convert::ToInt16(Console::ReadLine());
Jedoch funktioniert meine do/while Schleife nicht mehr 
Gruss Renato
#include „stdafx.h“
#include „iostream“
using namespace System;
//Hauptprogramm
void main(void)
{
int z; //Anzahl Messungen
char ch;
Console::WriteLine(„1 - Werte messen auf Förderband 1“); //Auswahlmenu
Console::WriteLine(„2 - Exit“);
do
{
switch(ch)
{
case ‚1‘:Console::Clear();
{
//Eingabe der Anzahl Messwerte
do //Wiederholen bis z grösser ist als 0
{
do //Wiederholen bis z kleiner ist als 21
{
Console::Write("Gültige Anzahl Messwerte eingeben (1-20): ");
Console::ReadLine(); //Problem: Funktioniert nicht richtig!!
z=Convert::ToInt16(Console::ReadLine());
}
while (z>20);
}
while (z