Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

работа функции

10K
03 июля 2005 года
slaviknik
8 / / 01.07.2005
Большое спасибо за ответ на мой предыдущий вопрос (о выводе на консоль) , я позволю себе задать ещё один вопрос:
void set_node(node* temp_node)
{

cout <<"Print in the name: ";
gets(temp_node->these_data.name);
cout <<"\n";
cout <<"Print in the number: ";
cin >> temp_node->these_data.num;
}
при вызове в while() в первый раз функция работает полностью, в последующие разы, "Print in the name" выводится на екран, но сам ввод проскакивается, а ввод даётся толко для temp_node->these_data.num
Сама функция set_node() вызывается в другой функции:
void add_to_list(node* &start_node)
{
node* temp;

temp = new node;
set_node(temp);
temp->next = start_node;
start_node = temp;
num_in_list++;
temp->number=num_in_list;
}
а вот уже сама эта функция вызывается в while()
в Борланд 4.5 всё работает нормально, мозхет есть какие то особенности в Borland 6 ?
заранее благодарен за ответ, если у вас найдётся для меня время.
299
03 июля 2005 года
3D Bob
885 / / 18.04.2005
Цитата:

void set_node(node* temp_node)
{

cout <<"Print in the name: ";
gets(temp_node->these_data.name);
cout <<"\n";
cout <<"Print in the number: ";
cin >> temp_node->these_data.num;
}



А почему не так..

cout <<"Print in the name: ";
cin >>temp_node->these_data.name;
cout <<"\n Print in the number: ";
cin >> temp_node->these_data.num;

10K
04 июля 2005 года
slaviknik
8 / / 01.07.2005
Цитата:
Originally posted by 3D Bob
А почему не так..

cout <<"Print in the name: ";
cin >>temp_node->these_data.name;
cout <<"\n Print in the number: ";
cin >> temp_node->these_data.num;



Спасибо, я так и сделал потом - всё заработало, хотя мне, всётаки, не понятно почему с gets() не работает. И если можно, то я задам ешё один вопрос. Я когда открываю новое консольное приложение, и, допустим, оно работает, програма компилируется и выдаёт ожидаемый результат, но в последтсвии когда я запускаю тот же файл, то программа уже не запускается, я почти уверен, что я делаю изначально что то неправильное когда открываю новый проект. Не подскажете в чём может быть проблема?

247
27 июля 2005 года
wanja
1.2K / / 03.02.2003
Цитата:
Originally posted by slaviknik
Спасибо, я так и сделал потом - всё заработало, хотя мне, всётаки, не понятно почему с gets() не работает.

Вообще-то применять в одной программе iostream и stdio - не есть гут. Если уж хочешь добыть строку, почему не воспользлваться cin.getline(s,len,ch)?

Цитата:
И если можно, то я задам ешё один вопрос. Я когда открываю новое консольное приложение, и, допустим, оно работает, програма компилируется и выдаёт ожидаемый результат, но в последтсвии когда я запускаю тот же файл, то программа уже не запускается, я почти уверен, что я делаю изначально что то неправильное когда открываю новый проект. Не подскажете в чём может быть проблема?


Созданный экзушник не запускается что ли? Или как?

10K
29 июля 2005 года
slaviknik
8 / / 01.07.2005
Созданный экзушник не запускается что ли? Или как? [/QUOTE]

Спасибо, за ответ.

Вобщем уже всё получилось, я, просто, не правильно открывал проект. Тепрь разобрался со всем. Нет, не запускался exe файл и сама програма не компилировалась поновой, даже специально делал синтаксические ошибки, а компилятор выдавал "No errors". Я попросту стал заранее открывать новый folder для каждого нового проекта, и уже потом создавать само консольное приложение сохраняя его в заранее соданном folder - всё стало на свои места.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог