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

Ввод даты - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.88
rodrigezrobert
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 77
25.05.2011, 15:56     Ввод даты #1
Здравствуйте! Помогите с идеями, как в консольном окне организовать ввод даты в формате год.месяц. дата.час через точку. Спасибо.

Думал пойдет типа

cin >> год >> '.' >> месяц >> '.' >> дата >> '.' >> час ;

но так не работает.
Спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
25.05.2011, 16:07     Ввод даты #2
Цитата Сообщение от rodrigezrobert Посмотреть сообщение
Здравствуйте! Помогите с идеями, как в консольном окне организовать ввод даты в формате год.месяц. дата.час через точку. Спасибо.

Думал пойдет типа

cin >> год >> '.' >> месяц >> '.' >> дата >> '.' >> час ;

но так не работает.
Спасибо!
Можно так:
C++
1
2
3
char s;
int a,b,c;
cin >> a >> s >> b >> s >> c;
Вместо s любой символ вводить можно

Добавлено через 33 секунды
со временем так же
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
25.05.2011, 16:12     Ввод даты #3
ещё можно воспользоваться cin.ignore() - функция игнорирует 1 символ. Например задали что-то вроде cin>>setw(n)>>a; cin.ignore() и т.д. По умолчанию cin.ignore() пропускает один символ.
rodrigezrobert
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 77
25.05.2011, 16:18  [ТС]     Ввод даты #4
Может я не до конца понял, но мне важно что бы точка раздела год. месяц. дату. число и время, что бы ее не вводить (точку). Хочу зафиксировать, например, что номер месяца двузначное число, оставив две позиции между точками.
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
25.05.2011, 16:26     Ввод даты #5
Грубо говоря сделать маску ввода в консоли ?)
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
25.05.2011, 16:30     Ввод даты #6
rodrigezrobert, надеюсь так будет понятнее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
# include <iomanip>
using namespace std;
 
int main()
{
    int x;
    int y;
    int z;
    cin>>setw(4)>>x; //год
    cin.ignore();    //точка
    cin>>setw(2)>>y; //месяц
    cin.ignore();    //точка
    cin>>setw(2)>>z; //дата
    cout<<"\n\n"<<x<<'\t'<<y<<'\t'<<z;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2012, 17:12     Ввод даты
Еще ссылки по теме:

C++ Скрыть ввод в консоле ввод записи?
На основе введенной даты рождения и текущей даты сообщить пользователю, сколько он прожил дней C++
C++ Поменять консольный ввод-вывод на файловый ввод-вывод

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

Или воспользуйтесь поиском по форуму:
rembosan
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 17
26.05.2012, 17:12     Ввод даты #7
А как на счет разнообразного ввода даты? Например: 03.08.1994 или 3.8.94. Не обязательно через точку, как угодно.
Yandex
Объявления
26.05.2012, 17:12     Ввод даты
Ответ Создать тему
Опции темы

Текущее время: 00:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru