IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Си, форматный ввод
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 65
Пол: Мужской

Репутация: -  0  +


Ребят,подскажите пожалуйста, как сделать чтобы ввод был форматированым, т.е я ввожу какую-либо информацию,но вдруг ошибся и мне нужно вернуться назад и изменить введенное данное.Например фамилию или что либо.В программе подразумевается работа со структурами, вводим данные в файл.Заранее спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Цитата(Zundell @ 25.04.2007 0:03) *

Ребят,подскажите пожалуйста, как сделать чтобы ввод был форматированым, т.е я ввожу какую-либо информацию,но вдруг ошибся и мне нужно вернуться назад и изменить введенное данное.Например фамилию или что либо.В программе подразумевается работа со структурами, вводим данные в файл.Заранее спасибо




Добавить проверку при вводе.Например вот так можно.

Код
  
double Epsilon;
  do {
    cout << "Enter Epsilon : ";
    cin >> Epsilon;
  } while (Epsilon <= 0.0 || Epsilon >= 1.0);



Потом записываем Epsilon в файл.

Сообщение отредактировано: Fanat -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 65
Пол: Мужской

Репутация: -  0  +


Спасибо большое...например есть у меня два поля,заполнил одно поле нажал энтер и перешел на второе поле...как сделать чтоб вернуться снова на первое поле и изменить введенные там данные ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Можешь уточнить, по какому признаку ты хочешь определять, надо ли вернуться к предыдущему полю, и его исправить, или продолжать ввод текущего?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Цитата(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);


Проверить не могу...но должно работать...
Может кто-нибудь ещё подскажет?..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 65
Пол: Мужской

Репутация: -  0  +


Volvo
Просто по желанию...ввел фамилию,начал вводить имя...и вдруг передумал....взял вернулся с поля имя на поле фамилия и изменил фамилию и т.д....получается своеобразный переход от поля к полю с возможностью изменения в полях информации

Добавлено через 1 мин.
а итог изменения записываем в файл..ну это я напишу...мучаюсь только с таким вот вводом,препод сказал так и никак больше.Извиняюсь за тупость
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Ну, в принципе, ничего невозможного в этом нет... Я бы сделал так: пишешь свою функцию ввода строки (я делал такое на Паскале, если интересно - посмотри в поиске), которая "собирает" строку посимвольно, и по нажатию Enter-а копирует введенную до этого момента строку в определенную переменную. Туда же добавить обработку Delete/Backspace/кнопок управления курсором, чтоб можно было свободно редактировать строку, и (внимание!!!) обработку, скажем, нажатия Ctrl+1, Ctrl+2, ..., нажатие на Ctrl+<цифра> переводит тебя в режим редактирования строки №<цифра> ...

Попробуй, если не получится - я помогу...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 65
Пол: Мужской

Репутация: -  0  +


Набор строки и выход из неё в любой момент -кажись это?спасибо Volvo...тогда на праздниках буду сидеть кодить если не получится,то обращусь за помошью..за ранее спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.11.2020 9:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name