Ребят,подскажите пожалуйста, как сделать чтобы ввод был форматированым, т.е я ввожу какую-либо информацию,но вдруг ошибся и мне нужно вернуться назад и изменить введенное данное.Например фамилию или что либо.В программе подразумевается работа со структурами, вводим данные в файл.Заранее спасибо
Цитата(Zundell @ 25.04.2007 0:03)
Ребят,подскажите пожалуйста, как сделать чтобы ввод был форматированым, т.е я ввожу какую-либо информацию,но вдруг ошибся и мне нужно вернуться назад и изменить введенное данное.Например фамилию или что либо.В программе подразумевается работа со структурами, вводим данные в файл.Заранее спасибо
Добавить проверку при вводе.Например вот так можно.
Код
double Epsilon;
do {
cout << "Enter Epsilon : ";
cin >> Epsilon;
} while (Epsilon <= 0.0 || Epsilon >= 1.0);
Потом записываем Epsilon в файл.
Спасибо большое...например есть у меня два поля,заполнил одно поле нажал энтер и перешел на второе поле...как сделать чтоб вернуться снова на первое поле и изменить введенные там данные ?
Можешь уточнить, по какому признаку ты хочешь определять, надо ли вернуться к предыдущему полю, и его исправить, или продолжать ввод текущего?
Цитата(Zundell @ 25.04.2007 17:43)
Спасибо большое...например есть у меня два поля,заполнил одно поле нажал энтер и перешел на второе поле...как сделать чтоб вернуться снова на первое поле и изменить введенные там данные ?
Я думаю что придется возвращаться в самое начало...то есть если ты ошибся на каком либо шаге то надо начать ввод с самого начала...по крайней мере на лабах мы делали также...или можно что то придумать с метками...например оговорить на каждом шаге дополнительную кнопку которая будет возврашать на шаг назад...однако это считаеться плохим стилем...
Код
double Epsilon;
Again:
do {
cout << "Enter Epsilon : ";
cin >> Epsilon;
} while (Epsilon <= 0.0 || Epsilon >= 1.0);
do {
cout << "Enter Epsilon2 : ";
cin >> Epsilon2;
if (Epsilon2==100) goto Again;
} while (Epsilon2 <= 0.0 || Epsilon2 >= 1.0);
Проверить не могу...но должно работать...
Может кто-нибудь ещё подскажет?..
Volvo
Просто по желанию...ввел фамилию,начал вводить имя...и вдруг передумал....взял вернулся с поля имя на поле фамилия и изменил фамилию и т.д....получается своеобразный переход от поля к полю с возможностью изменения в полях информации
Добавлено через 1 мин.
а итог изменения записываем в файл..ну это я напишу...мучаюсь только с таким вот вводом,препод сказал так и никак больше.Извиняюсь за тупость
Ну, в принципе, ничего невозможного в этом нет... Я бы сделал так: пишешь свою функцию ввода строки (я делал такое на Паскале, если интересно - посмотри в поиске), которая "собирает" строку посимвольно, и по нажатию Enter-а копирует введенную до этого момента строку в определенную переменную. Туда же добавить обработку Delete/Backspace/кнопок управления курсором, чтоб можно было свободно редактировать строку, и (внимание!!!) обработку, скажем, нажатия Ctrl+1, Ctrl+2, ..., нажатие на Ctrl+<цифра> переводит тебя в режим редактирования строки №<цифра> ...
Попробуй, если не получится - я помогу...
Набор строки и выход из неё в любой момент -кажись это?спасибо Volvo...тогда на праздниках буду сидеть кодить если не получится,то обращусь за помошью..за ранее спасибо
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.