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

Даны результаты переписи населения. Покажите список населения которые родились после 1990года. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выбрать конфеты, килограмм которых оценен в промежутке 30-55 рублей http://www.cyberforum.ru/cpp-beginners/thread233832.html
Дано: В кондитерской фабрике производят конфеты в разном ассортименте. Выбрать конфеты килограмм которых оценен в промежутке 30-55 рублей. Также покажите срок годности этих конфет и номер магазина в...
C++ Что есть argc и **argv в функции int main(int argc, char **argv)? Здраствуйте, уважаемые кодеры! Что означает argc и **argv в функции int main(int argc, char **argv), ни как не могу понять эти переменные дальше используются в условиях типа if (argc==3).... http://www.cyberforum.ru/cpp-beginners/thread233823.html
Алгоритм Рунге-Кутта C++
Добрый день. Столкнулся с проблемой. Необходимо решить уравнение методом Рунге-Кутта четвертого порядка с точностью 0.0001 (для достижения точности использую метод двойного пересчета). Написал...
Составить алгоритм и программу расчета плотности постановки посильных помех C++
Составить алгоритм и программу расчета плотности постановки посильных помех R (ро) к самолетам-постановщикам посильных помех, на борту, которого имеются четыре автомата сброса дипольных отражателей....
C++ Программирование на С++ с использованием классов. Массивы объектов. Наследование http://www.cyberforum.ru/cpp-beginners/thread233791.html
Помогите с программированием,пожалуйста!!!!!!!!!!!! Создать класс равносторонний треугольник, член класса - длина стороны. Предусмотреть в классе методы вычисления и вывода сведений о фигуре –...
C++ В массиве чисел найти самую маленькую серию подряд стоящих нечетных элементов В заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечетных элементов. Удалить из массива два первых простых числа. Проверить, изменилась ли серия подряд стоящих нечетных... подробнее

Показать сообщение отдельно
M128K145
Эксперт С++
8289 / 3509 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
25.01.2011, 22:59
igorrr37, ForEveR, ТС кагбэ намекает, что надо не пары набивать, а написать класс, представляющий человека. В общем вот, набросал на коленке
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#include <iostream>
#include <string>
#include <vector>
 
enum compare
{
    lessThan, lessOREqualThan, equal, greaterOREqualThan, greaterThan
};
 
class Human
{
private:
    std::string name;
    int year;
 
public:
 
    Human(std::string, int);
    Human(Human*);
 
    std::string getName();
    int getYear();
 
    void setName(std::string);
    void setYear(int);
 
    void print();
    void printIf(std::string, compare);
    void printIf(int, compare);
};
 
Human::Human(std::string name, int year)
{
    this->name = name;
    this->year = year;
}
Human::Human(Human *human)
{
    this->name = human->getName();
    this->year = human->getYear();
}
 
std::string Human::getName()
{
    return this->name;
}
int Human::getYear()
{
    return this->year;
}
 
void Human::setName(std::string name)
{
    this->name = name;
}
void Human::setYear(int year)
{
    this->year = year;
}
 
void Human::print()
{
    std::cout << "Name: " << this->name << std::endl;
    std::cout << "Year: " << this->year << std::endl;
    std::cout << std::endl;
}
void Human::printIf(std::string name, compare iif)
{
    if (iif < lessThan)
    {
        if (this->name <= name)
            this->print();
    }
    else if (iif <= lessOREqualThan)
    {
        if (this->name <= name)
            this->print();
    }
    else if (iif == equal)
    {
        if (this->name == name)
            this->print();
    }
    else if (iif >= greaterOREqualThan)
    {
        if (this->name >= name)
            this->print();
    }
    else if (iif > greaterThan)
    {
        if (this->name >= name)
            this->print();
    }
}
void Human::printIf(int year, compare iif)
{
    if (iif < lessThan)
    {
        if (this->year <= year)
            this->print();
    }
    else if (iif <= lessOREqualThan)
    {
        if (this->year <= year)
            this->print();
    }
    else if (iif == equal)
    {
        if (this->year == year)
            this->print();
    }
    else if (iif >= greaterOREqualThan)
    {
        if (this->year >= year)
            this->print();
    }
    else if (iif > greaterThan)
    {
        if (this->year >= year)
            this->print();
    }
}
 
int main()
{
    std::vector<Human> humans;
    std::vector<Human>::iterator it;
 
    humans.push_back(new Human("Human1", 1990));
    humans.push_back(new Human("Human2", 1970));
    humans.push_back(new Human("Human3", 1980));
    humans.push_back(new Human("Human4", 2000));
    humans.push_back(new Human("Human5", 1989));
    humans.push_back(new Human("Human6", 1995));
 
    for (it = humans.begin(); it < humans.end(); it++)
        it->printIf(1990, greaterThan);
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru