С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Упорядочить по дате рождения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа расчета функции с использование разложения Чебышева http://www.cyberforum.ru/cpp-beginners/thread866136.html
Не как не могу написать эту программу, если кто сможет помочь буду очень благодарна p.s. реально завал
C++ Ошибка при запуске Помогите пожалуйста. Не работает программа. Не считает x и y. Выключается еще при первой метке и пишет:,,X и y не существуют"(а они то есть). Думаю что проблема в операторных скобках(точно не... http://www.cyberforum.ru/cpp-beginners/thread866120.html
Поменять местами переменные так, чтобы они оказались упорядоченными по убыванию C++
Всем доброго времени суток. Нужна помощь с заданиями. Сам не могу сделать, потому что нет возможности работать на Си. Заранее премного благодарен. Задание 2. Даны три переменные целого типа: x,y,z....
C++ Добавление записи
Как из структуры void add записать данные в "новый файл" и в этот "новый файл" добавить исходные данные??? После чего нужно в структуре void finding найти фамилию из "нового файла" #...
C++ Вычислить каждое значение функции F(x)=2sin(x)^2+1 на отрезки [0,∏] с шагом ∏/3 http://www.cyberforum.ru/cpp-beginners/thread866098.html
Всем доброго времени суток. Нужна помощь с заданиями. Сам не могу сделать, потому что нет возможности работать на Си. Заранее премного благодарен. Задание 3. Вычислить каждое значение функции...
C++ Вычислить сумму ряда y=x-(x)^3)/3!+(x)^5)/5!-(x)^7)/7! Всем доброго времени суток. Нужна помощь с заданиями. Сам не могу сделать, потому что нет возможности работать на Си. Заранее премного благодарен. Задание 4. Вычислить сумму ряда с точностью ε.... подробнее

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

Упорядочить по дате рождения - C++

15.05.2013, 18:03. Просмотров 615. Ответов 0
Метки (Все метки)

Помогите упорядочить записи по дате рождения!!!
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
#include <iostream>
#include <iomanip>
using namespace std;
 
const int l_name = 30;
class NOTE {
public:
    NOTE(int lName = 30);
    ~NOTE();
    int GetInt(istream&);           // Ввод целого числа
    double GetPay() const;
    // Операция извлечения (ввода)
    friend istream& operator >>(istream&, NOTE&);
    // Операция вставки (вывода)
    friend ostream& operator <<(ostream&, NOTE&);
 
private:
    char* pName;
    int numer;
    int year[3]; 
    
};
class DBase {
public:
    DBase(int);
    ~DBase();
    void InitInput();
    void Show();
    void SearchPayNotLess(double);
private:
    NOTE* pNOTE;
    int nRecords;
};
// ---------------------------- ввод целого числа
int GetInt(istream& in) {
    int value;
    while (true) {
        in >> value;                                  
        if (in.peek() == '\n') {                          
            in.get();                                 
            break;
        }
        else {
            cout << "Повторите ввод (ожидается целое число):"
                << endl;                              
            in.clear();                               
            while (in.get() != '\n') {};                  
        }
    }
    return value;
}
 
DBase::DBase(int nRec) : nRecords(nRec),
pNOTE(new NOTE[nRec]) {}
DBase::~DBase() { if (pNOTE) delete [] pNOTE; }
 
void DBase::InitInput() { 
    for (int i = 0; i < nRecords; i++)
        cin >> *(pNOTE + i);                           
}
 
void DBase::Show() { 
    cout << "================================" << endl;
    cout << "Содержимое базы данных:" << endl;
    for (int i = 0; i < nRecords; i++)
        cout << *(pNOTE + i);                          
}
 
void DBase::SearchPayNotLess(double numer) {
    bool not_found = true;
    for (int i = 0; i < nRecords; i++)
        if ((pNOTE + i)->GetPay() == numer) {
            cout << *(pNOTE + i);
            not_found = false;
        }
    if (not_found) cout << "Таких сотрудников нет." << endl;
}
 
 
NOTE::NOTE(int lName) { pName = new char[lName + 1]; }
NOTE::~NOTE() { if (pName) delete [] pName; }
double NOTE::GetPay() const { return numer; }
 
// Операция извлечения (ввода)
istream& operator >> (istream& in, NOTE& ob) {
    cout << "\nВведите данные в формате" << endl;
    cout << "Фамилия И.О. <Enter> Номер телефона <Enter>"<< endl;
    in.getline(ob.pName, l_name);
    ob.numer = GetInt(in);
    cout << " Дата рождения :" << endl;
    cout << " День рождения <Enter>  Месяц рождения <Enter> Год рождения <Enter>:" << endl;
    ob.year[0] = GetInt(in);  
    ob.year[1] = GetInt(in);
    ob.year[2] = GetInt(in);
                              
    return in;
}
 
// Операция вставки (вывода)
ostream& operator << (ostream& out, NOTE& ob) {
    out << setw(30) << setiosflags(ios::left);
    out << ob.pName << "  ";
    out << ob.numer << "  ";
    out << ob.year[0]<<"." << ob.year[1]<<"."<< ob.year[2] <<endl;
    return out;
}
 
 
///////////////////////////////////////////////////////////
 
 
 
int main() {
    setlocale(LC_ALL, "rus");
    const int nRecord = 3;
    
    double any_pay;
 
    DBase dBase(nRecord);
    dBase.InitInput();
    dBase.Show();
 
    cout << "Ввод данных завершен." << endl;
    cout << "=================================================" << endl;
    cout << "Поиск сотрудников, чей номер телефона совпадает с введенным с клавиатуры." << endl;
    cout << "Поиск завершается при вводе -1." << endl;
 
    while (true) {
        cout << "\nВведите номер телефона или -1: "; 
        any_pay = GetInt(cin);
        if (any_pay == -1)   break;
        dBase.SearchPayNotLess(any_pay);
    }
 return 0;
}
///////////////////////////////////////////////////////////
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.