![]() |
HOW TO SCAN MULTIPLE TIMES USING while()?????
Code:
//hi experts, |
Re: HOW TO SCAN MULTIPLE TIMES USING while()?????
Use fflush before the scanf and that should work.
|
Re: HOW TO SCAN MULTIPLE TIMES USING while()?????
The issue is in scanf
scanf reads the input after enter/return key is pressed.But the newline generated by it is not consumed by scanf.Hence next time when scanf reads the input it reads newline instead of your input. I tried using fflush on my Linux system..2.6.9-22.EL..But it doesnt seem to work Alternative solution could be as under: U can use scanf as scanf("%c%*c",&op); In this case scanf will read the newline and discard it |
Re: HOW TO SCAN MULTIPLE TIMES USING while()?????
scanf is a crap way of getting user input. Use fgets instead and parse the string.
|
Re: HOW TO SCAN MULTIPLE TIMES USING while()?????
hi thanks for replies BUT priyatendulkers method reads a second time but when it reaches the condition in the while loop it fails and exits the loop even after typing y.
please help me thanks |
Re: HOW TO SCAN MULTIPLE TIMES USING while()?????
After using fgets you can still use sscanf if you really want to. But writing parsing code yourself is better; user input is usually not rigidly formatted enough for the scanf family to handle it. You'll need to know about the family of functions that includes atoi() (ascii to integer).
|
Re: HOW TO SCAN MULTIPLE TIMES USING while()?????
It fails as u might have not modified
scanf("%s",molecule); Even here u'll need to consider the same scanf("%s%*c",molecule); Use the above method if u still wish to use scanf... Else u can use fgets instead as suggested by xpi0t0s which would be a better approach |
| All times are GMT +5.5. The time now is 19:43. |