C# User Input Loop Skipping Code -
very new coding. posted question how check invalid user inputs without crashing program answered thank you! i've got loop set reject value between 1-10 , trying have go next attribute enter can't figure out how stop skipping end of code. here's code:
uint32 attributepoints = 25; bool validinput = false; string inputstrength; string inputspeed; uint32 validstrength = 0; uint32 validspeed = 0; while (!validinput) { console.writeline("you have: " + attributepoints + " attribute points remaining choose from"); console.write("please enter value between 1-10 strength: "); inputstrength = console.readline(); if (!uint32.tryparse(inputstrength, out validstrength)) { console.writeline("input not valid value strength."); } else if (validstrength < 0 || validstrength > 10) { console.writeline("input not valid value strength."); } else { validinput = true; } while (!validinput) { console.write("please enter value between 1-10 speed: "); inputspeed = console.readline(); if (!uint32.tryparse(inputspeed, out validspeed)) { console.writeline("input not valid value speed."); } else if (validspeed < 0 || validspeed > 10) { console.writeline("input not valid value speed."); } else { validinput = true; } } console.writeline(string.format("strength value = {0}", validstrength)); console.writeline(string.format("speed value = {0}", validspeed)); } if run program intentionally putting in invalid input speed, end result this:
please enter value between 1-10 strength: a
input not valid value strength.
please enter value between 1-10 speed: 5
strenght value = 0
speed value = 5
how can code keep asking value strength until valid number given , move on speed? thank you!
change code to:
uint32 attributepoints = 25; string inputstrength; string inputspeed; uint32 validstrength = 0; uint32 validspeed = 0; while (true) { console.writeline("you have: " + attributepoints + " attribute points remaining choose from"); console.write("please enter value between 1-10 strength: "); inputstrength = console.readline(); if (!uint32.tryparse(inputstrength, out validstrength)) console.writeline("input not valid value strength."); else if (validstrength < 0 || validstrength > 10) console.writeline("input not valid value strength."); else break; } while (true) { console.write("please enter value between 1-10 speed: "); inputspeed = console.readline(); if (!uint32.tryparse(inputspeed, out validspeed)) console.writeline("input not valid value speed."); else if (validspeed < 0 || validspeed > 10) console.writeline("input not valid value speed."); else break; } console.writeline(string.format("strength value = {0}", validstrength)); console.writeline(string.format("speed value = {0}", validspeed));
Comments
Post a Comment