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

Создание массива класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Sublime & AStyleFormatter http://www.cyberforum.ru/cpp-beginners/thread1307633.html
Добрый день. Не получается настроить автоформат c++-файлов. Выставляю в настройках плагина стандарт GNU, в котором, если не ошибаюсь, разрешается писать функции так - void fn() { return; }, но все...
C++ Release/Debug Здравствуйте! Пишу сложную расчётную программу. И мне важна скорость выполнения программы. И хотел бы проконсультироваться. Делал с помощью clock(). На debug мне программа выдавала, что выполняется... http://www.cyberforum.ru/cpp-beginners/thread1307622.html
Составить програму с использованием функции C++
a) функции находятся в этом же файле b) функции находятся в другом файле Даны N чисел. Какое из N чисел будет больше, если в каждом числе переставить крайние цифры?
C++ Массив int перевести в буфер
Нужно перевести массив интов в char* array, а потом это сделать наоборот т.е опять получить массив интов. Добавлено через 1 минуту думал как-то так char* buf; for(int i=0;i<10;i++){ buf=...
C++ В чём ошибка? http://www.cyberforum.ru/cpp-beginners/thread1307604.html
#include <stdio.h> #include <math.h> main() { float Pi=M_PI; float x,y,xn=2.5,xk=7.5,xh=0.5; printf("\n X Y\n"); for (x=xn;x <= xk;x+=xh) { if (x > 5.0) {y=(3*x+5)/pow(x,2); } else (x <=...
C++ Нужен пример много поточной программы Пишу в code blocks c++ В данном ниже коде надо вывести void foo() в отдельный поток то биш щас код делает 0500 s 1500 s 2500 s ... 0200 s 1200 s подробнее

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

Создание массива класса - C++

22.11.2014, 14:43. Просмотров 319. Ответов 4
Метки (Все метки)

Пишу курсовую, задание получил следующее:

"Разработать приложение на С++, позволяющее, собирать, накапливать сведения о студентах и занятиях, посещаемых ими. Структура приложения должна включать классы студента и занятия."

При этом требования еще такие:

- Студенту предоставляется право самостоятельно выбрать структуру и тип хранилища данных – текстовый файл либо база данных.

- После чтения данных, последние должны храниться в памяти и обрабатываться как классы.

- Работа в программе в консольном исполнении должна осуществляться с помощью меню операций. Данные должны выводиться в табличном виде.


С классами никогда не работал впринципе в с++, но вроде разобрался боле менее, пока с одним классом:

класс студент

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
class student
{
    string last_name;
    string name;
    string middle_name;
    string phone_number;
    int group_number;
 
public:
    void record_last_name () // метод_записи_фамилии
    {
        string temporary;
        for (;;)
        {
            getline (cin , temporary);
            if (temporary.empty()){cout << "Empty string\n";continue;}
            else{cout << "Record\n" << endl;break;}
        }
        last_name = temporary;
    }
 
    void record_name () // метод_записи_имени
    {
        string temporary;
        for (;;)
        {
            getline (cin , temporary);
            if (temporary.empty()){cout << "Empty string\n";continue;}
            else{cout << "Record\n" << endl;break;}
        }
        name = temporary;
    }
 
    void record_middle_name () // метод_записи_отчества
    {
        string temporary;
        for (;;)
        {
            getline (cin , temporary);
            if (temporary.empty()){cout << "Empty string\n" <<endl;continue;}
            else{cout << "Record\n" << endl;break;}
        }
        middle_name = temporary;
    }
 
    void record_phone_number () // метод_записи_телефонного_номера
    {
        string temporary;
        for (;;)
        {
            getline (cin , temporary);
            if (temporary.empty()){cout << "Empty string\n" <<endl;continue;}
            else{cout << "Record\n" << endl;break;}
        }
        phone_number = temporary;
    }
 
    void record_group_number () // метод_записи_номера_группы
    {
        int temporary = 0;
        do
        {
            cin >> temporary ;
        }while (temporary <= 0);
        group_number = temporary;
    }
 
    void Print () // вывод_на_экран_информации_о_студенте
    {
        cout << "Name of the student " << last_name << endl;
        cout << "The student's name " << name << endl;
        cout << "Student's first name " << middle_name << endl;
        cout << "Phone number of the student " << phone_number << endl;
        cout << "Group_number " << group_number << endl;
    }
 
    void create_student (int size)
    {
        system("mode con cols=70 lines=50");
 
        // выделяем память под массив из 10 элементов
//        int size = 1;
//        student *array = new student [size];
 
        // заполняем массив
        for (int i = 0; i < size; ++i)
        {
           cout << "Last name\n";
           array[i].record_last_name ();
 
           cout << "Name\n";
           array[i].record_name ();
 
           cout << "Middle name\n";
           array[i].record_middle_name ();
 
           cout << "Phone number\n";
           array[i].record_phone_number ();
 
           cout << "Group number\n";
           array[i].record_group_number ();
 
         }
 
     }
 
    student () // конструктор_класса
    {
        last_name = "NULL";
        name = "NULL";
        middle_name = "NULL";
        phone_number = "NULL";
        group_number = 0;
    }
 
    student (char *last_name_2, char *name_2, char *middle_name_2, char *phone_number_2,
        int group_number_2)  // конструктор с параметрами
    {
        last_name = last_name_2;
        name = name_2;
        middle_name = middle_name_2;
        phone_number = phone_number_2;
        group_number = group_number_2;
    }
 
    ~student (void){}; // деструктор_класса
 
 
};
и main

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void main ()
{
        int size = 1;
        student *array = new student [size];
 
        
        array[size].create_student(size);
 
 
      //вывод массива на экран
        cout << "Show\n";
        for (int i = 0; i < size; ++i)
        {
           array[i].Print ();
        }
 
 
 
        // удаляем массив
        delete [] array;
       
}
Проблема в том как вернуть созданный в функции create_student массив, чтоб из main его вывести на экран?


И вообще мб я слишком заморочился, может как то все проще можно сделать?(((

При таком коде, выводи пустой массив данных((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.