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

Вложенные операторы if. Без else - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу. Функция заменяет все большие латинские буквы, встречающиеся в строке, на букву «А» http://www.cyberforum.ru/cpp-beginners/thread725539.html
Заранее спасибо.
C++ Написать программу. Функция «обрезает» строку на первом символе, совпадающем с данным символом Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread725535.html
Написать программу вывода на экран таблицы значений функции C++
Написать программу вывода на экран таблицы значений функции для x, изменяющихся от a=0.1, до b=1.2, с шагом h=0.1. Вычисление суммы оформить в виде функции пользователя. Предусмотреть передачу...
C++ Преобразование 3-х мерных координат
Здравствуйте.:) У меня возникла следующая проблема. Для построения графика функции мне нужно преобразовать координаты из 3-х мерных мировых в экранные. Подскажите, пожалуйста, как правильно их...
C++ Сумма нечетных элементов массива в ассемблерной вставке http://www.cyberforum.ru/cpp-beginners/thread725524.html
Динамический массив. Неправильно считает сумму нечетных элементов массива. #include "stdafx.h" #include <iostream> using namespace std; int main() { setlocale(0, "rus"); int sz=0; ...
C++ Ошибка при работе со структурами #include <iostream> #include <cstdlib> using namespace std; typedef struct slist_ { long val; struct slist_ *next; }slist; int main() { подробнее

Показать сообщение отдельно
Stallone
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 46

Вложенные операторы if. Без else - C++

09.12.2012, 23:04. Просмотров 1128. Ответов 4
Метки (Все метки)

Доброго времени суток.

Задание:
Кликните здесь для просмотра всего текста

Создайте класс с именем Date, включающий в качестве элементов данных три информационных пункта месяц (тип int), день месяца (тип int) и год(тип int).
Ваш класс должен иметь конструктор с тремя параметрами для инициализации этих элементов данных. Для целей этого упражнения предположите, что данные для года и дня правильные, но проверьте, что значение месяца находится в диапазоне 1-12; если нет, устанавливайте месяц равным 1. Предусмотрите set и get функции для каждого элемента данных. Предусмотрите элемент-функцию displayDate, которая выводит месясц, день и год, разделенные дробной чертой (/). Напишите готовую программу, демонстрирующую возможности класса Date.

Проблема:
Кликните здесь для просмотра всего текста

При попытке выставить месяц (день/месяц/год) меньше 1 или больше 12, вместо того что бы установить месяц на 1, устанавливается случайное число. Также если при помощи аргумента объекта установить число месяца которое больше 12 либо меньше 1, то снова устанавливается случайное число.

Оператора else еще не было.

Как можно сделать такую фильтрацию только с помощью вложенных if.



Код C++.
Кликните здесь для просмотра всего текста

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
#include <iostream>
using namespace std;
 
class Date
{
public:
       Date( int day, int month, int year )
       {
          setDay( day );
          setMonth( month );
          setYear( year );
          }
       void setDay( int sDay )
       {
          day = sDay;
          }
       void setMonth( int sMonth )
       {
          if( sMonth >= 1 )
          {  
             if( sMonth <= 12 )
             {
                month = sMonth;
                }
             }
          if( sMonth < 1 )
          {
             if( sMonth > 12 )
             {
                month = 1;
                }
             }
          } 
       void setYear( int sYear )
       {
          year = sYear;
          }
       int getDay()
       {
          return day;
          }
       int getMonth()
       { 
          return month;
          }
       int getYear()
       {
          return year;
          }
       void displayDate()
       {
          cout << getDay() << "/" << getMonth() << "/" << getYear() << "\n" << endl;
          }
private:
        int day;
        int month;
        int year;
};
 
int main()
{
   Date date( 0, 0, 0 );
   int day;
   int month;
   int year;
   
   date.displayDate();
   
   cout << "Enter date: ";
   cin >> day >> month >> year;
   
   date.setDay( day );
   date.setMonth( month );
   date.setYear( year );
   
   date.displayDate();
   
   system("PAUSE");
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru