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

Как работать с датой? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Можите найти ошибку в методе простых итераций он не расчитывает кубический корень http://www.cyberforum.ru/cpp-beginners/thread615203.html
#include<stdlib.h> #include<math.h> #include<iostream> #include<fstream> usingnamespace std; floatfun1(int num,float x,float a,float b,float c){ float f; switch (num){ case 1:f=a*x*x*x+b*x+c+x;break;
C++ scanf_s Объясните, пожалуйста, в чём смысл этой строчки? scanf_s(" %", stroka_1, 10); http://www.cyberforum.ru/cpp-beginners/thread615175.html
C++ Поразрядные операции
Обьясните пожалуйста работу поразрядных операций (&, |, ^, <<, >>, ~). Например, n=n&0177; - обнуляет все биты переменной N, кроме младших семи.
ClassWizard C++
Добрый день! Столкнулся с проблемой не работает код, главное компилируется а при запуске выдает ошибку: fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory я так понимаю отсутствует файл, как его можно добавить? если через #include ..... то возникают еще ошибки. создал класс CDlg через ClassWizard. собственно код: #include <afxwin.h> #include "resource.h"
C++ Статическая переменная http://www.cyberforum.ru/cpp-beginners/thread615136.html
Добрый день! Объясните пожалуйста, что такое статическая переменная, в каких случаях лучше использовать именно её и чем она вообще хороша? Спасибо!
C++ Обращение двух классов друг к другу Есть 2 заголовочных файла: a.h, b.h. В них соответственно классы A и B. #include "a.h" #include "b.h" Они должны обращаться друг к другу. B может обращаться к A, а тот его не видит. Как сделать, что бы и A мог обращаться к B, не объединяя все в один "*.h"? подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
25.11.2013, 23:14     Как работать с датой?
Хранить дату в массиве char Не совсем удобно. Лучше использовать все параметры отдельно (int dd, int mm, int yy) - день, месяц, год. А считывать можно в std::string и далее разбивать след. образом:
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
#include <iostream>
#include <cstdlib>
#include <string>
 
bool correct(const std::string &str)
{
    if (str.size() != 8)
        return false; // incorrect form
    std::size_t firstColon = str.find(':');
    std::size_t secondColon = str.rfind(':'); // searches from end to begin
    if (firstColon != 2 || secondColon != 5)
        return false; // incorrect positions of colon(s)
    std::string HH = str.substr(0, 2);
    std::string MM = str.substr(3, 2);
    std::string SS = str.substr(6, 2);
    // atoi convert to int
    int H = std::atoi(HH.c_str());
    int M = std::atoi(MM.c_str());
    int S = std::atoi(SS.c_str());
    // if all of these statements resturn true, function returns false
    return !(H < 0 || H > 24 || M < 0 || M > 60 || S < 0 || S > 60);
}
 
int main()
{
    std::string str;
    std::cout << "Enter time in format HH:MM:SS"<< std::endl;
    std::cin >> str;
    std::cout << (correct(str) ? "Correct" : "Incorrect");
    return 0;
}
 
Текущее время: 22:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru