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

Изменить программу под условие - C++

Восстановить пароль Регистрация
 
Orion6767
2 / 2 / 0
Регистрация: 26.10.2010
Сообщений: 67
26.05.2011, 11:33     Изменить программу под условие #1
"Работа со структурами"

Сама задача:

Описать тип TDate — запись с полями целого типа Day (день), Month (месяц) и Year (год) и описать процедуру PrevDate(D) с параметром типа TDate, которая преобразует дату D к предыдущей дате (если дата D является неправильной, то она не изменяется). Запись D является входным и выходным параметром. Применить процедуру PrevDate к пяти данным датам.

Я так понимаю, да мы и с преподавателем пришли к выводу, что нужна программа которая введённую дату возвращает на день назад, в общем вот я её кое как слепил:

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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream.h>
 
struct date { int month, year, day; } ;
 
void out ( int n, date *p )
 
{
int i;
cout <<"\nDay"<<"\tMonth"<<"\t\tYear";
for (i=0; i<n; i++)
cout <<"\n"<<p[i].day<<"\t"<<p[i].month<<"\t\t"<<p[i].year<<endl;
}
 
void main()
 
{
 
date *mas;
int n=2;
mas=new date[n];
 
cout<<"Vvedite daty"<<endl;
 
cout<<"Day"<<endl;
cin>>mas[0].day;
cout<<"Month"<<endl;
cin>>mas[0].month;
cout<<"Year"<<endl;
cin>>mas[0].year;
 
mas[1].day=mas[0].day-1;
mas[1].month=mas[0].month;
mas[1].year=mas[0].year;
 
if(mas[1].month==1)
 
{
if (mas[1].day>=2 && mas[1].day<=31)
mas[1].day=mas[0].day-1;
else 
{
if (mas[1].day<=1)
mas[1].day=mas[0].day+30;
mas[1].month=mas[1].month+11;
mas[1].year=mas[1].year-1;
}
}
 
if(mas[1].month==3)
 
{
if (mas[1].day>=2 && mas[1].day<=31)
mas[1].day=mas[0].day-1;
else 
{
if (mas[1].day<=1)
mas[1].month=mas[1].month-1;
mas[1].day=mas[0].day+27;
}
}
 
if(mas[0].month==4||mas[0].month==6||mas[0].month==9||mas[0].month==11)
 
{
if (mas[1].day>=2 && mas[1].day<=30)
mas[1].day=mas[0].day-1;
else 
{
if (mas[1].day<=1)
mas[1].month=mas[1].month-1;
mas[1].day=mas[0].day+30;
}
}
 
if (mas[0].month==5||mas[0].month==7||mas[0].month==8||mas[0].month==10||mas[0].month==12)
 
{
if (mas[1].day>=2 && mas[1].day<=31)
mas[1].day=mas[0].day-1;
else 
{
if (mas[1].day<=1)
mas[1].month=mas[1].month-1;
mas[1].day=mas[0].day+30;
}
}
 
out ( n, mas );
delete mas;
 
}
Она работает, без ошибок, работает правильно. Только она не соответствует оформлению по условию, можете изменить мою программу под условие, в смысле оформить процедуру PrevDate.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2011, 11:33     Изменить программу под условие
Посмотрите здесь:

Как изменить условие C++
C++ помогите пожалуйста изменить прогу написанную в C++builder, под C++VisualStudio
Значение 0.9 попадает под условие, но не попадает в цикл C++
Написать программу, которая вычисляет условие C++
C++ Написать программу, которая вычисляет условие >
Изменить код Visual Studio под Borland C++ C++
C++ Есть код программы на вычисление количества слов, как изменить условие?
Быстрый подсчет чисел, подходящих под условие C++
Нужно изменить class human под изменение строк/переменных в ходе использования C++
Исправить код метод Ньютона для решения систем нелинейных уравнений под нужное условие C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Orion6767
2 / 2 / 0
Регистрация: 26.10.2010
Сообщений: 67
28.05.2011, 18:39  [ТС]     Изменить программу под условие #2
Оу, помогите плиз, никак не могу оформить эту процедуру, как передать параметры структуры в процедуру в моём случае..?
Yandex
Объявления
28.05.2011, 18:39     Изменить программу под условие
Ответ Создать тему
Опции темы

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