Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Don Caballero
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
#1

Сравнение данных структуры с данными, введенными с клавиатуры - C++

16.09.2013, 22:24. Просмотров 891. Ответов 11
Метки нет (Все метки)

Есть такая структура:
C++
1
2
3
4
5
struct spisok
{
    char departure[15];
};
//далее будет использоваться spisok sp[25]
В sp.departure записано:
C++
1
15:00
Это время, формат char. Переменной L присваивается значение "1", если время, которое вводится с клавиатуры в массив char time[10] с помощью
C++
1
gets(time)
будет больше, чем время, записанное в sp.departure. Т.е. в sp.departure 15:00, я ввожу с клавиатуры 16:00, переменная L станет равна 1.
Вопрос: как мне сравнить данные из структуры с данными массива char, причем сравнить настолько хитро, что недостаточно узнать больше или меньше часы, нужно смотреть и на минуты, ведь 16:01 уже больше, чем 16:00. Помимо этого нужно помнить о разделителе ":" и о том, что данные везде типа char.
Полный код программы писать не нужно, достаточно помочь мне только с этим блоком.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2013, 22:24     Сравнение данных структуры с данными, введенными с клавиатуры
Посмотрите здесь:
Структуры. Обработка данных, введенных с клавиатуры C++
C++ заполнить одномерный массив символами введенными с клавиатуры. Найти самое короткое слово
C++ Задача на обработку символьных данных (сравнить строку введенным с клавиатуры, и вывести результат сравнение
C++ Вывод таблицы с данными структуры
C++ Написать функцию заполнения структуры случайными данными
C++ Сравнение составного структуры с integer
C++ Сравнение переменной со значением поля структуры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.09.2013, 22:34     Сравнение данных структуры с данными, введенными с клавиатуры #2
Сделать это, конечно, можно, но у меня встречный вопрос. Зачем вы так время храните в структуре? Почему не отдельно часы и минуты (обычно так делают)? Если хранить отдельно, то всё упрощается.
Don Caballero
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
16.09.2013, 22:37  [ТС]     Сравнение данных структуры с данными, введенными с клавиатуры #3
У меня есть большая таблица с колонками. И заполняю ее с клавиатуры. Время именно в формате Часы:Минуты. В каждой колонке данные из структуры. В моем случае нужно делать со структурами, если бы было только время, тогда сделал бы проще)
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.09.2013, 22:50     Сравнение данных структуры с данными, введенными с клавиатуры #4
Цитата Сообщение от Don Caballero Посмотреть сообщение
У меня есть большая таблица с колонками. И заполняю ее с клавиатуры. Время именно в формате Часы:Минуты. В каждой колонке данные из структуры. В моем случае нужно делать со структурами, если бы было только время, тогда сделал бы проще)
Ничего не понял.
ValeryS
Модератор
6542 / 5008 / 461
Регистрация: 14.02.2011
Сообщений: 16,654
16.09.2013, 22:53     Сравнение данных структуры с данными, введенными с клавиатуры #5
Цитата Сообщение от Don Caballero Посмотреть сообщение
что недостаточно узнать больше или меньше часы, нужно смотреть и на минуты, ведь 16:01 уже больше, чем 16:00.
при вводе переводи часы в минуты или в секунды будет одно число его и сравнивай а при выводе переводи обратно
или задействуй класс time там это уже все есть
Don Caballero
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
16.09.2013, 22:57  [ТС]     Сравнение данных структуры с данными, введенными с клавиатуры #6
Хорошо, тогда по-другому.
У меня уже есть структура с данными, вся программа на этом держится. Менять ничего нельзя.
Как из структуры sp.departure, в которой записано время 15:00, получить массив char time[10]? Я не очень понимаю, как скопировать данные из структуры в массив.
ValeryS
Модератор
6542 / 5008 / 461
Регистрация: 14.02.2011
Сообщений: 16,654
16.09.2013, 22:59     Сравнение данных структуры с данными, введенными с клавиатуры #7
Цитата Сообщение от Don Caballero Посмотреть сообщение
Как из структуры sp.departure, в которой записано время 15:00, получить массив char time[10]? Я не очень понимаю, как скопировать данные из структуры в массив.
структуру покаж
Don Caballero
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
16.09.2013, 23:01  [ТС]     Сравнение данных структуры с данными, введенными с клавиатуры #8
C++
1
2
3
4
5
struct spisok
{
    char departure[15];
};
spisok sp[25];
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.09.2013, 23:07     Сравнение данных структуры с данными, введенными с клавиатуры #9
Цитата Сообщение от Don Caballero Посмотреть сообщение
Как из структуры sp.departure,
Это не структура, а массив char, структрура - spisok. Для копирования строк С (из массива в массив) применяется функция strcpy().

Добавлено через 2 минуты
Цитата Сообщение от Don Caballero Посмотреть сообщение
Я не очень понимаю, как скопировать данные из структуры в массив.
C++
1
strcpy(time, sp[i].departure);
Don Caballero
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
16.09.2013, 23:09  [ТС]     Сравнение данных структуры с данными, введенными с клавиатуры #10
Как именно такое копирование осуществить?
Кликните здесь для просмотра всего текста
C++
1
2
3
4
char massiv[10];
k=4;
for(i=0;i<k;i++)
   strcpy(sp[i].departure,massiv[i]);

Вот так не получилось
-----------------------
Сейчас попробую
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.09.2013, 23:13     Сравнение данных структуры с данными, введенными с клавиатуры #11
Цитата Сообщение от Don Caballero Посмотреть сообщение
Разве это не копирование из массива time в массив departure вообще?
Наоборот. Первым идёт массив куда копируется.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2013, 23:16     Сравнение данных структуры с данными, введенными с клавиатуры
Еще ссылки по теме:
C++ Сравнение чисел вводимых с клавиатуры
Структуры,доступ к элементу,сравнение поля с переменной. C++
Непонятка при вводе структуры с клавиатуры C++
C++ Как значения структуры вводить с клавиатуры?
Структуры. Ввод информации с клавиатуры и печать C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Don Caballero
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
16.09.2013, 23:16  [ТС]     Сравнение данных структуры с данными, введенными с клавиатуры #12
Все, вопрос исчерпан. Большое спасибо, всем кто ответил!
Yandex
Объявления
16.09.2013, 23:16     Сравнение данных структуры с данными, введенными с клавиатуры
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru