Ada Input and Output issue -


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 documentation:

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