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

Добавление данных в массив объектов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Описать структуру с именем TRAIN http://www.cyberforum.ru/cpp-beginners/thread589125.html
Описать структуру с именем TRAIN, содержащую следующие поля: 1) название пункта назначения; 2) номер поезда; 3) время отправления. Написать программу, выполняющую следующие действия: 1. ввод с клавиатуры данных в массив, состоящий из шести элементов типа TRAIN; 2. записи должны быть упорядочены по времени отправления поезда; 3. вывод на экран информации о поездах, направляющихся в пункт,...
C++ Написать рекурсивную функцию Написать рекурсивную функцию, которая определяет, является ли симметричной часть строки, начиная с i и заканчивая j-м элементами. http://www.cyberforum.ru/cpp-beginners/thread589124.html
Описать структуру с именем Student C++
Описать структуру с именем STUDENT, содержащую следующие поля: 1) фамилия и инициалы; 2) номер группы; 3) успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия: 1. ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; 2. записи должны быть упорядочены по возрастанию среднего балла; 3. вывод на дисплей фамилий и номеров групп...
C++ доделать программу
#include <iostream> #include <string> #include <fstream> using namespace std; int main() { setlocale(LC_ALL,"Russian"); fstream f; f.open("sashka.h", ios::in); // ios::in - открыть файл для чтения if (!f.is_open()) //если открыт возвращает 1 {
C++ Задан файл со следующей структурой: Реквизит Шаблон Номер зачетки Курс Номер группы Оценки (повторяется 5 раза) Количество экзаменов Вычислить ито http://www.cyberforum.ru/cpp-beginners/thread589099.html
Задан файл со следующей структурой: Реквизит Шаблон Номер зачетки Курс Номер группы Оценки (повторяется 5 раза) Количество экзаменов Вычислить итоговую успеваемость, на печать выдать в виде таблиц.
C++ Задан файл с записями следующей структуры: Реквизит Шаблон Номер зачетки Факультет Курс Группа Оценки Записать его как индексно - последовательный Задан файл с записями следующей структуры: Реквизит Шаблон Номер зачетки Факультет Курс Группа Оценки Записать его как индексно - последовательный файл и затем по запросу выдавать либо списки успевающих, либо списки неуспевающих, либо полностью информацию по какому - либо студенту. подробнее

Показать сообщение отдельно
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
29.05.2012, 07:03     Добавление данных в массив объектов
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
#include <iostream>
#include <clocale>
#include <string>
#include <vector>
#include <wincon.h>
 
using namespace std;
 
struct date {
    short day;
    string month;
    short year;
};
 
class Student {
    string surname, name;
    int contact;
    date br;
public:
    Student(): br( { 1, "Января", 1980 } ) {
        contact = 0;
    }
 
    void Scan() {
        cout << "Введите фамилию:\n";
        cin >> surname;
        cout << "Введите имя:\n";
        cin >> name;
        cout << "Введите дату в формате \"00{ENTER}/месяц{ENTER}/0000\":\n";
        cin >> br.day >> br.month >> br.year;
        cout << "Введите номер телефона:\n";
        cin >> contact;
    }
 
    void Print() const {
        cout << "Фамилия:\t" << surname << "\nИмя:\t\t" << name << "\nДата рождения:\t"
            << br.day << '/' << br.month << '/' << br.year << "\nТелефон:\t" << contact << endl;
    }
};
 
class Group {
    string name, special;
    vector<Student*> st;
public:
    void Scan() {
        cout << "Введите название группы:\n";
        cin >> name;
        cout << "Введите специальность:\n";
        cin >> special;
    }
 
    void Print() const {
        cout << "Название группы:\t" << name << "\nСпециальность:\t" << special << "\n\n";
        for (unsigned short i = 0; i < st.size(); i++) {
            cout << "Студент №" << i << endl;
            st[i]->Print();
            cout << endl;
        }
    }
 
    void Add(Student* s) {
        st.push_back(s);
    }
 
    int Remove(const Student* s) {
        return st.erase(s);
    }
 
    void Clear() {
        st.clear();
    }
};
 
 
int main() {
    setlocale(LC_ALL, "Russian");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Group g;
    vector<Student*> allStudents;
    cout << " 1 - создать список студентов\n"
        " 2 - показать список\n 3 - добавить студента\n 0-выход\n\n";
    short i;
    char n;
    while ((n = cin.get()) != '0')
        switch (n) {
            case 1:
                g.Clear();
                g.Scan();
            case 3:
                cout << "Введите количество студентов, которых необходимо добавить:\n";
                cin >> i;
                while (i--) {
                    allStudents.push_back(new Student);
                    allStudents[allStudents.size() - 1]->Scan();
                    g.Add(allStudents[allStudents.size() - 1]);
                }
                break;
 
            case 2:
                g.Print();
        }
    for (i = 0; i < allStudents.size(); i++)
        delete allStudents[i];
}
 
Текущее время: 13:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru