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

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

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

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

18.04.2014, 21:29. Просмотров 413. Ответов 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); 
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2014, 21:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввести дату (без времени) с компьютера (C++):

Ввести одну дату и вывести дату следующего дня - C++
Примеры: 1) Введите дату в программу, и она должна вывести вам дату следующего дня. (Например: input: 27.02.2015, output: 28.02.2015)

Написать программу, которая предлагает пользователю ввести дату в формате YYYY MM DD и выводит в консоль, следующую за ней дату - C++
вот еще одно =) Написать программу, которая предлагает пользователю ввести дату в формате YYYY MM DD и выводит в консоль, следующую за...

Написать программу, которая предлагает пользователю ввести дату в формате YYYY MM DD и выводит в консоль, следующую за ней дату - C++
Написать программу, которая предлагает пользователю ввести дату в формате YYYY MM DD и выводит в консоль, следующую за ней дату. ...

Ввести число и номер месяца. Напечатать дату прописью - C++
Ввести число и номер месяца. Напечатать дату прописью. Как можно это реализовать?

Нужно ввести дату в формате dd.mm.yyyy - не работает присваивание - C++
Создал свой класс date. Принцип работы прост. Просто нужно ввести дату в формате dd.mm.yyyy Возникли следующие вопросы: 1) Почему не...

1. Написать программу, которая предлагает пользователя ввести дату рождения - C++
1. Написать программу, которая предлагает пользователя ввести дату рождения отца, в формате YYYY MM DD, затем дату рождения сына, в том же...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
18.04.2014, 21:40 #2
Не ясно. Ты хочешь чтобы пользователь ввёл или получить системные дату время?
0
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 / 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);
                                       }
   }
Надеюсь на Вашу помощь.
0
jurati
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 2
19.04.2014, 21:21  [ТС] #5
MastAKK, большое спасибо. Очень помогли
0
MastAKK
145 / 136 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
19.04.2014, 23:07 #6
молодой_горячий, вы хотите поменять дату на компьютере или лишь значения переменных в структуре изменить?
0
молодой_горячий
1 / 1 / 0
Регистрация: 26.04.2011
Сообщений: 42
20.04.2014, 02:11 #7
MastAKK, уже разобрался, спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2014, 02:11
Привет! Вот еще темы с ответами:

Сравнение времени компьютера с введённым с клавиатуры - C++
Нужно ввести время с клавиатуры и сравнить с временем компьютера.

Слежка за клавиатурой другого компьютера в реальном времени - C++
Нужно объединить компьютер через сеть с другим компьютером(или виртуальной машиной). При нажатии клавиши на одном компьютере, на другом...

Отобразить на экране информацию о загрузке ЦП компьютера в реальном времени - C++
Добрый день ! Помогите пожалуйста с кодом на с++. Привести исходный код программы, отображающей на экране информацию о загрузке ЦП ...

Как ввести данные без перехода на новую строку? - C++
Собственно вопрос в заголовке. for (int i = 0; i &lt; 4; i++) { for (int j = 0; j &lt; 3; j++) { cin &gt;&gt; arr; } } Если вводить...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.04.2014, 02:11
Ответ Создать тему
Опции темы

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