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

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

Войти
Регистрация
Восстановить пароль
 
jurati
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 2
#1

Ввести дату (без времени) с компьютера - C++

18.04.2014, 21:29. Просмотров 398. Ответов 6
Метки нет (Все метки)

Добрый вечер.

Знаю, что есть фишка, которая может ввести локальное время и дату. Нужна помощь вот в чем:

есть функция в которой происходит ввод в поля структуры. в поле (*dl).beg должно заноситься сегодняшняя дата (без времени). Любая помощь была бы очень кстати. Ну и максимально чтобы было понятно

C++
1
2
3
4
5
6
7
8
9
10
void AddDeal(deal *dl){
    cout<<"enter deal order: ";
    cin>>(*dl).order; getchar();
    cout<<"enter deal months: ";
    cin>>(*dl).months; getchar();
    cout<<"enter deal time: ";
    cin.getline((*dl).time,12); 
    cout<<"enter deal beginning: ";
    cin.getline((*dl).beg,12); 
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2014, 21:29     Ввести дату (без времени) с компьютера
Посмотрите здесь:

Ввести с клавиатуры массив, распределить память для его размещения и ввести int значения этого массива C++
Подсчет количества минут от промежутка до промежутка без учета еще одного промежутка времени. C++
Сформировать и ввести упорядоченный односвязный список без использования list C++
C++ 1. Написать программу, которая предлагает пользователя ввести дату рождения
C++ Написать программу, которая предлагает пользователю ввести часы и минуты и выводит в консоль соответствующее введенному времени приветствие
Почему я не могу ввести строчку используя меню, хотя программа работает без него C++
Слежка за клавиатурой другого компьютера в реальном времени C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4919 / 4257 / 1425
Регистрация: 14.04.2014
Сообщений: 16,737
18.04.2014, 21:40     Ввести дату (без времени) с компьютера #2
Не ясно. Ты хочешь чтобы пользователь ввёл или получить системные дату время?
MastAKK
145 / 136 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
18.04.2014, 22:03     Ввести дату (без времени) с компьютера #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Почему
C++
1
(*dl).order //к примеру
А не
C++
1
dl->order;
?

К вопросу:
Если нужно просто получить текущую дату, то:
C++
1
2
3
4
5
time_t rawtime;
struct tm* timeinfo;
time (&rawtime);
timeinfo = localtime (&rawtime);
std::cin << "Day:" << timeinfo->tm_mday << "\nMonth:" << timeinfo->tm_mon << "\nYear:" << timeinfo->tm_year;
молодой_горячий
1 / 1 / 0
Регистрация: 26.04.2011
Сообщений: 42
18.04.2014, 22:41     Ввести дату (без времени) с компьютера #4
MastAKK, допустим есть функция
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void getdate()
{
time_t rawtime;
struct tm* timeinfo;
time (&rawtime);
timeinfo = localtime (&rawtime);
std::cin << "Day:" << timeinfo->tm_mday << "\nMonth:" << timeinfo->tm_mon << "\nYear:" << timeinfo->tm_year;
 
}
 
void setdate(int a,int b,int c)
{
 
}
Как написать функцию setdate, чтобы она меняла 3 значения локальной даты(день,месяц,год). Тобишь, чтобы после вызова setdate, я вызвал getdate и на экран вывело новую дату?

Добавлено через 32 минуты
Я писал так, но это не правильно =\
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
void GetDate(time_t t,tm *tk)
{
   
   time(&t);
   tk=localtime(&t);
   cout<<"Local date: ";
   if ((1+tk->tm_mon)<10) cout << tk->tm_mday<<".0" <<1+tk->tm_mon <<" " <<1900+tk->tm_year  << endl;
        else  cout << tk->tm_mday<<1+tk->tm_mon <<" "<< 1900+tk->tm_year  << endl;
}
 
void SetDate(int day, int month, int year,time_t t,tm *tk )
{ 
   time(&t);
   tk=localtime(&t);
   tk->tm_mday = day;
   tk->tm_mon = month;
   tk->tm_year = year;
}
int main(int argc, char *argv[])
{
    time_t vTime;
    tm *vTK;
    time(&vTime);
    vTK=localtime(&vTime);
    int vDay, vMonth, vYear;
if (argc==2)
   {
       if (!strcmp(argv[1],"getdate")) GetDate(vTime,vTK);
       if (!strcmp(argv[1],"setdate")) { 
                                        cout<<"enter day : "; cin>>vDay;
                                        cout<<"\nenter month : "; cin>>vMonth;
                                        cout<<"\nenter year : "; cin>>vYear;
                                        SetDate(vDay, vMonth, vYear,vTime,vTK);
                                       }
   }
Надеюсь на Вашу помощь.
jurati
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 2
19.04.2014, 21:21  [ТС]     Ввести дату (без времени) с компьютера #5
MastAKK, большое спасибо. Очень помогли
MastAKK
145 / 136 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
19.04.2014, 23:07     Ввести дату (без времени) с компьютера #6
молодой_горячий, вы хотите поменять дату на компьютере или лишь значения переменных в структуре изменить?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2014, 02:11     Ввести дату (без времени) с компьютера
Еще ссылки по теме:

C++ Функция, принимающая на вход дату рождения и текущую дату, и вычисляющая число дней до дня рождения
C++ Нужно ввести дату в формате dd.mm.yyyy - не работает присваивание
Ввести число и номер месяца. Напечатать дату прописью C++
Получение атрибутов файла (а именно дату создания файла) без WinApi C++
Как ввести данные без перехода на новую строку? C++

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

Или воспользуйтесь поиском по форуму:
молодой_горячий
1 / 1 / 0
Регистрация: 26.04.2011
Сообщений: 42
20.04.2014, 02:11     Ввести дату (без времени) с компьютера #7
MastAKK, уже разобрался, спасибо
Yandex
Объявления
20.04.2014, 02:11     Ввести дату (без времени) с компьютера
Ответ Создать тему
Опции темы

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