31.05.2013, 00:10. Просмотров 1515. Ответов 10
Доброго времени суток, подскажите пожалуйста как представить класс в блок схеме, на форуме почитал, что классы не представляются в блок схемах, а как тогда представить функции этого класса?
Заранее благодарен за любое содействие в решении моего вопроса.
Собственно вот алгоритм:
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
| // Itog.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
using namespace std;
class Student{
private:
char name[50]; // Поле имени студента
int group; // Поле группы студента
int marks[5]; // Поле оценок студента
public:
friend void init_students(Student *a);
void set_group() // Функция для установки группы
{
cin>>group;
}
void set_marks() // Функция для установки оценок
{
for(int i = 0; i < 5; i++)
{
cin>>marks[i];
}
}
void set_name() // Функция для установки имени
{
gets(name);
}
double get_average() // Функция для получения среднего значения
{
double average = 0;
for(int i = 0; i < 5; i++)
{
average += marks[i];
}
average /= 5;
return average;
}
bool good_marks() //Функция, возвращающая true если найдены оценки 4 и 5 и false в противном случае
{
for(int i = 0; i < 5; i++)
{
if(marks[i] == 4 && marks[i] == 5)
{
return true;
}
}
return false;
}
char *get_name() //Функция для возврата имени
{
return name;
}
int get_group() //Функция, для возврата номера группы
{
return group;
}
};
void init_students(Student *a)
{
cout<<"Enter students names"<<endl; // Инициализация имен студентов
for(int i = 0; i < 10; i++)
{
cout<<i+1<<") ";
a[i].set_name(); // Функция set_name() устанавливает имя студента
}
for(int i = 0; i < 10; i++)
{
cout<<"Enter "<<a[i].get_name()<<"`s group"<<endl; // Инициализация групп студентов
a[i].set_group(); // Функция set_group() устанавливает группу студента
}
for(int i = 0; i < 10; i++)
{
cout<<"Enter "<<a[i].get_name()<<"`s marks"<<endl; // Инициализация оценок студентов
a[i].set_marks(); // Функция set_marks() устанавливает оценки студентов
}
}
void regularize(Student *a)
{
for(int i = 1; i < 10; i++) //Алгоритм сортировки
{
if(i == 0)
{
i = 1;
}
if(a[i-1].get_average() > a[i].get_average()) // функция get.average() возвращает средний балл студента
{
Student r;
r = a[i];
a[i] = a[i-1]; // При помощи переменной r типа Student можно легко менять местами студентов
a[i-1] = r;
i-=2;
}
}
}
void show_students(Student *a)
{
bool fl = false; //Переменная, которая будет отслеживать есть ли ученики с баллом 4 и 5
for(int i = 0; i < 10; i++)
{
if(a[i].good_marks()) //Функция good_marks() возвращает значение true, если есть баллы 4 и 5
{
cout<<"\nGroup: "<<a[i].get_group()<<" Student: "; //Вывод имени группы студента
puts(a[i].get_name()); // и его имени
fl = true; //Изменение булевой переменной при обнаружении подходящих студентов
}
}
if(fl == false)
{
cout<<"There aren`t students with makrs 4 or 5"<<endl; // вывод сообщение об ошибке, если не удалось найти студентов
}
}
int _tmain(int argc, _TCHAR* argv[])
{
Student students[10]; //Объявление массива объектов типа Student
init_students(students); //Инизиализация каждого студента
regularize(students); //Сортировка массива по возрастанию среднего балла
show_students(students); //Вывод студентов имеющих 4 и 5 баллов
system("pause");
return 0;
} |
|
Добавлено через 2 часа 36 минут
Тема все еще актуальна