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

Работа с блок - схемами (Класс) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввод двумерного массива символов char с клавиатуры http://www.cyberforum.ru/cpp-beginners/thread885628.html
к примеру нужно ввести массив размером 4х2 : a f b d c e g h как это можно реализовать в С/С++ ?
C++ Вычислить сумму первых n слагаемых Помогите с задачами, кто что сможет! Нужно до завтра сделать! 1) Решить задачу тремя способами, т.е. с использованием операторов цикла: for-to (for-downto), while-do, repeat-until. Даны вещественное число X и натуральное число n. Вычислить сумму первых n слагаемых: S = cos(x)/1 + cos(2x)/4 +… + cos(nx)/n^2. 2) Записать «1» вместо положительных элементов массива X(12) и «0» — вместо... http://www.cyberforum.ru/cpp-beginners/thread885605.html
C++ С++ Builder STL copy/sort multiset
есть две проблемы: 1) ф-ция copy не компилируеться multiset<double> MS,MS2; multiset<double>::iterator msIter; ///здесь заполняеться multiset msIter=MS.begin(); std::copy(msIter,MS.end(),MS2) ;
Файлы. Выбрать все значения, которые делятся нацело на 2 и 4, но не делятся на 6 C++
Остались последние 2 лабы по ООП и отдых до следующего года! только вот ну не могу понять как их делать! Выручите)))) 1. Дан числовой файл f. Выбрать все значения, которые делятся нацело на 2 и 4, но не делятся на 6. Записать эти значения в файл g, а все остальные – в файл h. Впринцепи сам что-то делал но не хочу даже вылаживать, нужен готовый пример, чтоб раздуплится!!!!!! Добавлено...
C++ Реализовать умножение матрицы на матрицу и матрицы на вектор http://www.cyberforum.ru/cpp-beginners/thread885584.html
Доброй ночи форумчане,не знаю куда податься уже, я полный ноль в программировании, но дали задание написать на С++ прогу, Задание такое, Реализовать умножение матрицы на матрицу и матрицы на вектор.Необходимо использовать структуру для хранения только ненулевых значений матрицы. Сердечно прошу помочь :cry: буду очень благодарен если будет код с коментариями,хоть чтоб посидеть и повтыкать:(
C++ Можно ли перевести из Паскаля в СИ Даны строки S, S1 и S2. Заменить в строке S первое вхождение строки S1 на строку S2. {task string36} var s,s1,s2:string; p:byte; begin write('Введите строку S='); readln(s); write('Введите строку S1='); readln(s1); подробнее

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

Работа с блок - схемами (Класс) - C++

31.05.2013, 00:10. Просмотров 1139. Ответов 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 минут
Тема все еще актуальна
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru