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

Установить порядковый номер дня в году по вводимому числу и месяцу (Переписать со структурой) - C++

Восстановить пароль Регистрация
 
bubik
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 21
13.05.2013, 18:23     Установить порядковый номер дня в году по вводимому числу и месяцу (Переписать со структурой) #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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
static char daytab[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}};
 
 
 
int dengoda (int year, int month, int day)
 
{
int l;
char *p;
l = year%4 == 0 && year%100 != 0 || year%400 == 0;
p=daytab[l];
while (--month)
day+=*++p;
return day;
}
 
int _tmain()
 
{ int y,d,m;
cout<<"Vvedite den: \n";
cin>>d;
cout<<"Vvedite month: \n";
cin>>m;
cout<<"Vvedite god: \n";
cin>>y;
 
cout<<endl<<dengoda(y,m,d)<<endl;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2013, 18:23     Установить порядковый номер дня в году по вводимому числу и месяцу (Переписать со структурой)
Посмотрите здесь:

C++ Определить символ,порядковый номер которого соответствует введенному числу.
Определить символ,порядковый номер которого соответствует введенному числу. C++
Определить порядковый номер того дня високосного года, который имеет заданую дату и месяц C++
По заданной дате (число, месяц, год, например, 6, 5, 2012) вычислить номер дня в году C++
C++ 10.23. Дата некоторого дня характеризуется гремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и m определи
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
13.05.2013, 18:41     Установить порядковый номер дня в году по вводимому числу и месяцу (Переписать со структурой) #2
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
#include <iostream>
 
using namespace std;
 
struct date {
    int y;
    int d;
    int m;
};
 
static char daytab[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 } };
 
int dengoda(date d) {
    int l;
    char *p;
    l = (d.y % 4 == 0) && (d.y % 100 != 0) || (d.y % 400 == 0);
    p = daytab[l];
    while (--d.m)
        d.d += *++p;
    return d.d;
}
 
int main()
 
{
    date data;
    cout << "Vvedite den: \n";
    cin >> data.d;
    cout << "Vvedite month: \n";
    cin >> data.m;
    cout << "Vvedite god: \n";
    cin >> data.y;
 
    cout << endl << dengoda(data) << endl;
    return 0;
}
Добавлено через 1 минуту
Это в лоб переделка вашей программы.
bubik
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 21
13.05.2013, 18:56  [ТС]     Установить порядковый номер дня в году по вводимому числу и месяцу (Переписать со структурой) #3
Спасибо большое!

Не могли бы вы еще раз помочь?
Программа аналогичная, только она уже устанавливает дату по вводимому номеру порядкового дня.

Вот код:
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
static char daytab[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}};
 
 
 
int dengoda (int year, int month, int day)
 
{
int l;
char *p;
l = year%4 == 0 && year%100 != 0 || year%400 == 0;
p=daytab[l];
while (--month)
day+=*++p;
return day;
}
 
void daymonth (int year, int dayyear, int *pmonth, int *pday)
 
{
int l;
char *p;
l = year%4 == 0 && year%100 != 0 || year%400 == 0;
p=daytab[l];
while (dayyear>*++p)
dayyear-=*p;
*pmonth=p-*(daytab+l);
*pday=dayyear;
}
 
int _tmain()
 
{ int y,d,pm,pd;
cout<<"Vvedite poryadkoviy nomer chisla: \n";
cin>>d;
cout<<"Vvedite god: \n";
cin>>y;
 
daymonth(y,d,&pm,&pd);
cout<<endl<<"Day: "<<pd<<endl;
cout<<"Month: "<<pm<<endl;
cout<<"Year: "<<y<<endl<<endl;
return 0;
}
Шевкет
Сообщений: n/a
21.12.2013, 01:08     Установить порядковый номер дня в году по вводимому числу и месяцу (Переписать со структурой) #4
Python
1
Как реализация программы будет выгладить на Питоне?
Yandex
Объявления
21.12.2013, 01:08     Установить порядковый номер дня в году по вводимому числу и месяцу (Переписать со структурой)
Ответ Создать тему
Опции темы

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