например ... вариант 1. dec-bin.10 = 1010.после этого программа продолжает работать, и если я выбираю ту же опцию, я получаю результат ..10 = 10101010
вы пропустили сброс bin и i поэтому bin накапливается, первый раз выдает 1010, затем вы снова добавляете ('append') 1010, вырабатывая 10101010
do bin = 0; i = 1;
до while(dec!=0) ...
Дополнительные замечания:
- у вас есть риск переполнения на bin , вы можете использовать строку, которую вы напечатаете, в том порядке, в котором вы ее заполнили
- , которую необходимо проверитьпользователь вводит правильный номер проверки scanf возвращает 1