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

Вывод даты по году и номеру дня - C++

Восстановить пароль Регистрация
 
Fantom.AS
 Аватар для Fantom.AS
2 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 121
02.12.2010, 10:03     Вывод даты по году и номеру дня #1
Фрагмент кода


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
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "iostream"
#include "string.h"
using namespace std;
static int day_tab[2][13] = {
      (0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31),
      (0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)};
const int maxline=4;
 
  
int day_of_year(int year,int month,int *day)      /* set day of year - день набора года */
                                 /* from month & day - с месяца & дня */  
 {
   int i, leap;
   leap = year%4 == 0 && year%100 != 0 || year%400 == 0;
   for (i = 1; i < month; i++)
      *day += day_tab[leap][i];
   return(*day);
}
 
void month_day(int year,int  yearday,int *pmonth,int *pday) /*set month,day - set месяц, день */
                                        /* from day of year - со дня года */
{
    int i, leap;
    leap = year%4 == 0 && year%100 != 0 || year%400 == 0;
    for (i = 1; yearday > day_tab[leap][i]; i++)
        yearday -= day_tab[leap][i];
    *pmonth = i;
    *pday = yearday;
    return;
}
int main(void)
{   
 
    getch();
    return 0;
}
Задание вывести дату, зная ее номер дня и год.
В этом коде пустая главная функция, надо разобраться в 2-х других функциях разобраться и выполнить задание.
Заранье спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2010, 10:03     Вывод даты по году и номеру дня
Посмотрите здесь:

По заданному году и номеру месяца определить количество дней в этом месяце C++
Составить программу, которая по номеру введенного дня недели вводит название дня. C++
программа которая по номеру дня в году выводит число и месяц C++
Написать программу, которая по номеру дня недели (целому числу от 1 до 7) выдает в качестве результата название дня недели C++
Определить число дней в году по номеру года C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
02.12.2010, 11:00     Вывод даты по году и номеру дня #2
А в каком виде вводятся данные?

Добавлено через 18 секунд
желательно пример ввода и вывода.
Fantom.AS
 Аватар для Fantom.AS
2 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 121
02.12.2010, 13:02  [ТС]     Вывод даты по году и номеру дня #3
Цитата Сообщение от Kastaneda Посмотреть сообщение
А в каком виде вводятся данные?

Добавлено через 18 секунд
желательно пример ввода и вывода.
А этого не знаю точно. номер дня и год.
например,
Ввод: 5 2010 - это пятый день 2010 года
Вывод: 5. 01. 2010 или 5 января 2010
как то так, и еще, можно ли определить какой это день недели.
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
02.12.2010, 13:14     Вывод даты по году и номеру дня #4
Не зная задачи - писать то, что нашел в сети\
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
02.12.2010, 14:04     Вывод даты по году и номеру дня #5
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
#include<iostream>
using namespace std;
int main(){
    int day,year,i;
    cout<<"Enter day and year (\"day year\") : ";
    cin>>day>>year;
    for(i=1;i<=12;i++){
        if((i==2)&&(year%4==0&&year%100!=0||year%400==0)){
            if(day-29>=0)
                day-=29;
            else break; 
            }
        else if(i==2){
            if(day-28>=0)
                day-=28;
            else break; 
            }
        else if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
            if(day-31>=0)
                day-=31;
            else break; 
            }
        else if(day-30>=0)
            day-=30;
        else break;
    }
    cout<<"Day "<<day<<", month "<<i<<" year "<<year<<endl;
    return 0;
}
Цитата Сообщение от Fantom.AS Посмотреть сообщение
или 5 января 2010
Из этого кода уже легко переделать.


Цитата Сообщение от Fantom.AS Посмотреть сообщение
можно ли определить какой это день недели.
можно, но лень))

Добавлено через 14 минут
C++
1
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
можно заменить на
C++
1
if(i<8 ? i%2 : !(i%2))
Fantom.AS
 Аватар для Fantom.AS
2 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 121
02.12.2010, 14:53  [ТС]     Вывод даты по году и номеру дня #6
Цитата Сообщение от LineStown Посмотреть сообщение
Не зная задачи - писать то, что нашел в сети\
это задание препод дал. сам толком ничего не объяснил.

Добавлено через 33 секунды
Цитата Сообщение от Kastaneda Посмотреть сообщение
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
#include<iostream>
using namespace std;
int main(){
    int day,year,i;
    cout<<"Enter day and year (\"day year\") : ";
    cin>>day>>year;
    for(i=1;i<=12;i++){
        if((i==2)&&(year%4==0&&year%100!=0||year%400==0)){
            if(day-29>=0)
                day-=29;
            else break; 
            }
        else if(i==2){
            if(day-28>=0)
                day-=28;
            else break; 
            }
        else if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
            if(day-31>=0)
                day-=31;
            else break; 
            }
        else if(day-30>=0)
            day-=30;
        else break;
    }
    cout<<"Day "<<day<<", month "<<i<<" year "<<year<<endl;
    return 0;
}

Из этого кода уже легко переделать.



можно, но лень))

Добавлено через 14 минут
C++
1
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
можно заменить на
C++
1
if(i<8 ? i%2 : !(i%2))
а функции куда вставить?
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
02.12.2010, 14:58     Вывод даты по году и номеру дня #7
какие ф-ции, это готовый код!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2010, 15:03     Вывод даты по году и номеру дня
Еще ссылки по теме:

Программа, которая бы позволяла по заданному году и порядковому номеру дня в году определять день недели C++
Календарь. Ввод даты - вывод дня недели C++
Вычислить число и месяц в невисокосном году по номеру дня C++

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

Или воспользуйтесь поиском по форуму:
Fantom.AS
 Аватар для Fantom.AS
2 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 121
02.12.2010, 15:03  [ТС]     Вывод даты по году и номеру дня #8
Цитата Сообщение от Kastaneda Посмотреть сообщение
какие ф-ции, это готовый код!
спасибо за код, но у меня задание с использованием фунций
Yandex
Объявления
02.12.2010, 15:03     Вывод даты по году и номеру дня
Ответ Создать тему
Опции темы

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