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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Orion6767
2 / 2 / 0
Регистрация: 26.10.2010
Сообщений: 67
#1

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

26.05.2011, 11:33. Просмотров 352. Ответов 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++
#include &lt;string&gt; #include &lt;locale.h&gt; #include &lt;iostream&gt; using namespace std; int f(double r1, double r2, string type) { ...

Как изменить условие - C++
Сделал задачу, но когда тестировал нашел ошибку и не могу исправить ( описание ошибки после кода ) // xz.cpp : Defines the entry point...

Быстрый подсчет чисел, подходящих под условие - C++
Нужно на отрезке найти кол-во чисел удовлетворяющих условию (N 2 − 1) mod K = 0. (к-только простые) Простой перебор не подходит, нужно...

Есть код программы на вычисление количества слов, как изменить условие? - C++
Есть код программы, как изменить условие, чтобы вычисляло только количество слов, которые заканчиваются на букву а? #include &lt;iostream&gt; ...

Составить программу, которая выводит на экран слово «ИСТИНА», если условие выполнено или слово «ЛОЖЬ», если условие не выполнено. - C++
Цифры данного трехзначного числа V являются членами арифметической прогрессии

Изменить код Visual Studio под Borland C++ - C++
Исходный код: #include&lt;iostream&gt; #include&lt;string&gt; #include&lt;fstream&gt; #include &lt;ctype.h&gt; #include&lt;stdio.h&gt; #include&quot;модуль.h&quot; ...

помогите пожалуйста изменить прогу написанную в C++builder, под C++VisualStudio - C++
программа для архивирования графич. файлов писалась на билдере, но у меня он криво работает. Помогите пожалуйста,подскажите где надо...

Написать программу, которая вычисляет условие - C++
Помогите. Написать программу на С++, которая вычисляет условие.

Написать программу, которая вычисляет условие > - C++
Помогите. Написать программу на С++, которая вычисляет условие

Значение 0.9 попадает под условие, но не попадает в цикл - C++
Почему 0.9 не попадает в цикл. Заканчивается расчет на 0.85. ? Кажется 0.9 попадает под условие. выполнять до тех пор пока x меньше 0.9...


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

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

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