Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2010, 14:43   #1
ProgDel
Пользователь
 
Аватар для ProgDel
 
Регистрация: 15.02.2010
Сообщений: 67
Вопрос Программа не ждёт завершения ввода

Привет всем! У меня такая проблема. Написал прогу, точнее подшаманил существующий учебный пример. Откомпилировал, всё хорошо! А когда начал вводить данные, то программа не дожидаясь окончания ввода начала сама решать! И естественно получилась фигня! Что с ней делать?
Код:
#include <iostream.h>
#include <windows.h>

char* Rus(const char* text);

int main()
{
	short hour1, min1, sec1, hour2, min2, sec2, hour, min, sec;

	cout << endl << Rus("Введите время начала интервала (час, мин, сек)") << endl;

	cin >> hour1, min1, sec1;

	cout << endl << Rus("Введите время конца интервала (час, мин, сек)") << endl;

	cin >> hour2, min2, sec2;

	long sum_sec = (hour2 - hour1) * 3600 + (min2 - min1) * 60 + sec2 - sec1;

	hour = sum_sec / 3600;

	min = (sum_sec - hour * 3600) / 60;

	sec = sum_sec - hour * 3600 - min * 60;

	cout << Rus("Продолжительность промежутка от ") << hour1 << ':' << min1 << ':' << 
		sec1 << ':' << "до" << hour2 << ':' << min2 << ':' << sec2 << endl << Rus(
		"равна") << hour << ':' << min << ':' << sec << endl;

	return 0;
}

char bufRus[256];

char* Rus(const char* text)
{
	CharToOem(text, bufRus);
	return bufRus;
}
ProgDel вне форума Ответить с цитированием
Старый 30.10.2010, 14:52   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
cin >> hour1>>min1>>sec1;
помоему надо так.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.10.2010, 14:57   #3
ProgDel
Пользователь
 
Аватар для ProgDel
 
Регистрация: 15.02.2010
Сообщений: 67
По умолчанию

Я попробывал изменить код как писал Пепел Феникса. Но эффект всё тот же!
ProgDel вне форума Ответить с цитированием
Старый 30.10.2010, 15:58   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
cin >> hour1, min1, sec1;
Оригиналистично...
Я всегда думал что нужно как-то так:
Код:
cin >> hour1>> min1>> sec1;
Цитата:
Но эффект всё тот же!
Проверил - работает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2010, 16:05   #5
ProgDel
Пользователь
 
Аватар для ProgDel
 
Регистрация: 15.02.2010
Сообщений: 67
По умолчанию

Я понял в чём дело! Я неправильно вводил данные! Парни спосибо!
ProgDel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа с минимальными задержками ввода-вывода Zarom Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 22.06.2011 20:10
К первому новому сообщению Как сделать , чтобы после ввода ключегого слова в edit программа переходила к gefest58 Общие вопросы Delphi 2 22.10.2010 00:36
Программа для ввода текста в браузере trance-boy Помощь студентам 8 21.08.2010 20:00
Паскаль,программа ввода слов. Flexo Помощь студентам 3 20.12.2008 18:51
Программа ввода и вывода последовательности символов(Assembler) WST Помощь студентам 1 01.04.2008 12:33