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

C++

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

дата => дни с 1990 года - C++

08.11.2010, 16:54. Просмотров 718. Ответов 6
Метки нет (Все метки)

задача такая, вводится дата, например 11.11.2010
и нужно перевести её в дни с начала например 1990 года... как можно проще
с учётом весокосных годов и тд..
и если не сложно, побольше комментариев
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2010, 16:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос дата => дни с 1990 года (C++):

Дата изменении и дата создания файла - C++ WinAPI
Здравствуйте господа , есть такой код - SYSTEMTIME lf; FILETIME ft; OFSTRUCT of; HANDLE hFile=(HANDLE)OpenFile(name,...

Определить название месяца по количеству дней прошедших с 1 января 1990 года - C++
Составить программу : с 1 января 1990 года по некоторый день прошло n дней, определить название текущего месяца.

Напечатать фамилии, имена и подсчитать общее число жителей, родившихся после 1990 года - C++
Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии, имена и подсчитать общее число жителей, родившихся...

Найти книги, изданные после 1990 года, в названии которых есть слово "информатика" - C++
Функция: в которой ошибка должна найти киниги изданные после 1990 года, и в названии которой есть слово "информатика". При компеляции...

Определить тип «дни недели» и выдать все «черные» пятницы года - C++
Используя перечисляемый тип, определить тип «дни недели» и выдать все «черные» пятницы этого года (т.е. число месяца равно13, а день недели...

Дата не високосного года (31 декабря не учитывать). Вывести дату завтрашнего дня - C++
Заданы: дата не високосного года (31 декабря не учитывать). Вывести дату завтрашнего дня.

6
deeflash
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 144
11.11.2010, 15:02  [ТС] #2
вот чтото похожее, помогите плиииз

Считывает дату в формате 07/21/55 и выводит в формате 1955.g. 21. julija. Названия месяцев задать как перечисляемый тип.

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include <stdlib.h>
 
const char *months[] = {
    "Jan", "Feb", "Mar",
    "Apr", "May", "Jun",
    "Jul", "Aug", "Sep",
    "Oct", "Nov", "Dec"
};
 
enum monvals {
    JAN, FEB, MAR,
    APR, MAY, JUN,
    JUL, AUG, SEP,
    OCT, NOV, DEC
};
 
 
int main(void) /* ANSI C89 */
{
    int retval;
    char buffer[1000], *p;
    char monstr[100], daystr[100], yearstr[100];
    enum monvals monval;
    int dayval, yearval;
    
    
    printf("enter date (mm/dd/yy): ");
    fflush(stdout);
    
 
    p = fgets(buffer, sizeof buffer, stdin);
    
    if (p == NULL) {
        fprintf(stderr, "error 1" "\n");
        return EXIT_FAILURE;
    }
    
    
    retval = sscanf(
        buffer,
        "%99[^/]/%99[^/]/%99[^\n]",
        monstr, daystr, yearstr
    );
    
    if (retval != 3) {
        fprintf(stderr, "error 2" "\n");
        return EXIT_FAILURE;
    }
    
    
    monval = atoi(monstr)-1;
    dayval = atoi(daystr);
    yearval = atoi(yearstr)+1900;
    /* значения могут переполниться */
    
    
    /* здесь нужно проверить границы monval, dayval, yearval */
    
    
    printf("%d.g. %d. %s." "\n", yearval, dayval, months[monval]);
    
    
    return EXIT_SUCCESS;
}
0
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
12.11.2010, 00:15 #3
Посмотри сюда
Программа для вычисления количества дней между двумя датами
1
deeflash
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 144
15.11.2010, 10:56  [ТС] #4
почитал про time.h, неужели нельзя как то с помощью неё обойтись
http://ru.wikipedia.org/wiki/Time.h
помогите
0
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
15.11.2010, 12:30 #5
deeflash, конечно, можно. Используй diftime, и учти, что в дне 24 часа, а в часе 3600 сек.
0
deeflash
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 144
15.11.2010, 17:23  [ТС] #6
я пробовал, но безуспешно, не поможете?

Добавлено через 1 час 51 минуту
вот чего нашел, но реализовать не получается
помогите!

В time.h структура

C
1
2
3
4
5
6
7
8
9
10
11
struct tm {
        int tm_sec;     /* seconds after the minute - [0,59] */
        int tm_min;     /* minutes after the hour - [0,59] */
        int tm_hour;    /* hours since midnight - [0,23] */
        int tm_mday;    /* day of the month - [1,31] */
        int tm_mon;     /* months since January - [0,11] */
        int tm_year;    /* years since 1900 */
        int tm_wday;    /* days since Sunday - [0,6] */
        int tm_yday;    /* days since January 1 - [0,365] */
        int tm_isdst;   /* daylight savings time flag */
        };
по идее можно заполнить своими данными
нашел такую вот формулу
time_t mktime( struct tm *timeptr );
потом вычислить разницу между датами в секундах.
Разницу в секундах перевести в дни.
0
deeflash
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 144
18.11.2010, 12:54  [ТС] #7
up!!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2010, 12:54
Привет! Вот еще темы с ответами:

Задана дата в пределах года (число – от 1 до 31, месяц – от 1 до 12). Проверить корректность введенных данных - C++
Задана дата в пределах года (число – от 1 до 31, месяц – от 1 до 12). Проверить корректность введенных данных и в случае ошибки вывести...

На вход подается дата. Нужно вывести на экран, какая дата будет через 29 дней 12 часов и 44 минуты - C++
На входе заданы дата и время в формате «год, месяц, день, часы, минуты» (все числа даны через пробел). Год задан четырехзначным числом,...

Дано число года n. Найдите количество дней того года - C++
1) Даны три действительных числа x, y, z. Пусть программа выдаст мин и макс их значения. Сначала выведет минимум, потом максимум. 2) Даны...

Заданы число и месяц невисокосного года. Вычислить порядковый номер даты, начиная отсчет с начала года - C++
Заданы два натуральных числа a,b которые обозначают число и месяц не високосного года. Вычислить порядковый номер даты, начиная отсчет с...


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

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

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