after typing input integer automatically skip of getting inputs string. don't know why?
simple ada code of getting inputs of string , integer:
with ada.text_io; use ada.text_io; ada.integer_text_io; use ada.integer_text_io; procedure main inputtext: string (1..10); inputnmbr : integer; stringnatural: integer; begin put_line("enter integer"); get(inputnmbr,1); put_line("enter string"); get_line(inputtext,stringnatural); put_line("==================="); put("input integer: "); put(inputnmbr,1); put_line(""); put_line("input string: "); put_line(inputtext(1..stringnatural)); end main; output:
enter integer 2 enter string =================== input integer: 2 input string: [2015-07-11 23:01:00] process terminated successfully, elapsed time: 00.86s
get won't clear keyboard buffer, you're having carriage return sent get_line input. can put skip_line after get fix this:
put_line("enter integer"); get(inputnmbr,1); skip_line; -- add put_line("enter string"); skip_line input procedure , cause input skip next line. useful remove carriage return input buffer. skip_line should performed after call procedure. can used make program pause , wait carriage return entered.
see also: clearing keyboard buffer in ada
Comments
Post a Comment