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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dimartm
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 23
#1

Блок схемы для программ С++ - C++

16.06.2014, 14:27. Просмотров 414. Ответов 3
Метки нет (Все метки)

Народ, кто может нарисовать блок схемы к программам построенных на C++ Builder 6, кто силен, нарисуйте.
1)
Кликните здесь для просмотра всего текста
С помощью текстового редактора создать файл на внешнем носителе, содержащий следующую информацию, название пункта назначения рейса, номер рейса, тип самолета, Написать программу выполняющую следующие действия:
- прочитать информацию из файла в ОП в массив структур
- упорядочить массив структур по возрастанию номера рейса
- снова записать упорядоченный файл в массив
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
//---------------------------------------------------------------------------
 
#include <clx.h>
#include <string.h>
#include <iostream.h>
#include <stdio.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
struct races
{
        string n_race;
        string plane;
        string track;
        string out_place;
        string in_place;
 
};
races new_race ();
void view_race(races []);
void add_race(races []);
bool write_file(races[], string);
void in_write (races[]);
void read_race (races[], string);
void in_read (races[]);
void qsort_on_race (races []);
int main(int argc, char* argv[])
{
        string path;
        races task[10];
        bool flag_exit = false;
        int operation;
        while (flag_exit == false)
        {
                cout<<" 1.- read races\n 2.- save races\n 3.- add races\n 4.- sort races\n 5.- view races\n 0.- exit\n insert operation - ";
                cin>>operation;
                switch (operation)
                {
                        case 0: flag_exit = true; break;
                        case 1: in_read(task); break;
                        case 2: in_write(task); break;
                        case 3: add_race(task); break;
                        case 4: qsort_on_race(task); break;
                        case 5: view_race(task); break;
                }
        }
 
        return 0;
}
//---------------------------------------------------------------------------
races new_race  ()
{
        races temp_race;
        cout<<"Nomber reace = ";
        cin>>temp_race.n_race;
        cout<<"Plane race = ";
        cin>>temp_race.plane;
        cout<<"Track race = ";
        cin>>temp_race.track;
        cout<<"Out place = ";
        cin>>temp_race.out_place;
        cout<<"In place = ";
        cin>>temp_race.in_place;
        return temp_race;
 
}
 
void add_race (races race[])
{
        system("cls");
        int i,count=0 ;
        for (i=0; i<10;i++)
        {
                if (race[i].n_race != "")
                        count += 1;
 
        }
        if (count != 10)
                {
                race[count] = new_race();
                system("cls");
                cout<<"add succsefuly\n";
                }
        else
                cout<<"sorry, list races is full\n";
 
}
 
void view_race (races race[])
{
        int i, count = 0;
        system("cls");
        for(i=0; i<10; i++)
        {
                if (race[i].n_race != "")
                        count +=1;
        }
        cout<<"\n--------------------------------------------------------\n";
        cout<<"\n|    N Race|     Plane |   Track |Out plase |  In plase|\n";
        cout<<"\n--------------------------------------------------------\n";
        for (i=0; i<count; i++)
        {
                cout<<"|";
                cout.width(10);
                cout<<race[i].n_race<<"|";
                cout.width(10);
                cout<<race[i].plane<<"|";
                cout.width(10);
                cout<<race[i].track<<"|";
                cout.width(10);
                cout<<race[i].out_place<<"|";
                cout.width(10);
                cout<<race[i].in_place<<"|";
                cout<<"\n--------------------------------------------------------\n";
        }
 
}
 
bool write_file (races race[],string file_path)
{       int i,count=0;
        string temp;
        for (i=0; i<10; i++)
        {
                if (race[i].n_race != "")
                        count += 1;
        }
 
 
        FILE *file;
        file = fopen (file_path.c_str(), "w");
        if (file != 0 & count !=0)
        {
                for (i=0; i<count; i++)
                {
                        temp = race[i].n_race + " " + race[i].plane + " " + race[i].track + " " + race[i].out_place + " " + race[i].in_place +"\n";
                        fputs(temp.c_str(), file);
                }
                fclose(file);
                return true;
        }
        else
        {
        cout<<"fail read";
        return false;
        }
}
void in_write (races race[])
{
        system("cls");
        bool temp_flag = false;
        string path;
        cout<<"path file = ";
        cin>>path;
        temp_flag = write_file(race, path);
        cout<<temp_flag;
}
 
void read_race (races race[], string path)
{
  int i, count = 0;
  char temp_char1[20];
  char temp_char2[20];
  char temp_char3[20];
  char temp_char4[20];
  char temp_char5[20];
  for (i=0; i<10; i++)
  {
        if (race[i].n_race != "")
                count += 1;
  }
  i=0;
  FILE * file = fopen(path.c_str(), "r");
  if (file !=0)
 
  {
        while (fscanf (file,"%s%s%s%s%s", temp_char1, &(temp_char2), &(temp_char3), &(temp_char4), &(temp_char5)) != EOF)
 
        {
              race[i].n_race = temp_char1;
              race[i].plane = temp_char2;
              race[i].track = temp_char3;
              race[i].out_place = temp_char4;
              race[i].in_place = temp_char5;
              i++;
        }
  }
}
 
void in_read (races race[])
{
        system("cls");
        string temp_path;
        cout<<"inter path = ";
        cin>>temp_path;
        read_race(race, temp_path);
}
 
void qsort_on_race (races temp_races[])
{
        system("cls");
        int count = 0, i,j;
        races temper;
        string temp;
        for (i=0; i<10;i++)
        {
                if (temp_races[i].n_race != "")
                        count += 1;
        }
        for (i=0; i<count-1;i++)
                for (j=i;j<count;j++)
                {
                        if(strcmp(temp_races[i].n_race.c_str(),temp_races[j].n_race.c_str())>0)
                        {
                                temper = temp_races[j];
                                temp_races[j] = temp_races[i];
                                temp_races[i] = temper;
                        }
                }
 
 
}

2)
Кликните здесь для просмотра всего текста
Калькулятор выполняющий функции +, -, /, *.
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
//---------------------------------------------------------------------------
 
#include <clx.h>
#include <iostream.h>
#include <string.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
 
float min (float, float);
float pl (float, float);
float del (float, float);
float um (float, float);
int main(int argc, char* argv[])
{
        char oper;
        float arg1,arg2;
        cout<<"vvedite peremennie 1,2\n";
        cin>>arg1>>arg2;
        cout<<"operation = ";
        cin>>oper;
        switch (oper)
        {
                case '-' : cout<<min(arg1,arg2)<<"\n"; break;
                case '+' : cout<<pl(arg1,arg2)<<"\n"; break;
                case '*' : cout<<um(arg1,arg2)<<"\n"; break;
                case '/' : cout<<del(arg1,arg2)<<"\n"; break;
                default : cout<<"error operation"; break;
        }
        system("pause");
        return 0;
}
 
float min (float arg1, float arg2)
{
        return arg1 - arg2;
}
float pl (float arg1, float arg2)
{
        return arg1 + arg2;
}
float del (float arg1, float arg2)
{
        if (arg2 == 0)
        {
                cout<<"na 0 delit' nelzya\n";
                return 0;
        }
        return arg1 / arg2;
}
float um (float arg1, float arg2)
{
        return arg1 * arg2;
}
//---------------------------------------------------------------------------

3)
Кликните здесь для просмотра всего текста
Описать структуру с именем "STUDENT" содержащий следующие поля: Фамилия и инициалы, номер группы, успеваемость (массив из 5 элементов (5 оценок))
Написать программу в следующим виде:
- ввод с клавиатуры данных в массив состоящих из 10 структур типа STUDENT затем упорядочить по возрастанию номера группы.
- вывод на дисплей фамилий и номера группы для всех студентов включенных в массив, если средний бал студента больше "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
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
//---------------------------------------------------------------------------
 
#include <clx.h>
#include <iostream.h>
#include <string.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
struct student
{
        string FIO;
        string Group;
        int progress[5];
        bool menium_result()
        {
                int i,temp;
                for (i=0; i<5;i++)
                {
                        temp = temp + progress[i];
                }
 
                if (temp / 5 >=4)
                {
                        return true;
                }
                else
                        return false;
 
        }
 
};
 
student add (student);
void student_add(student []);
void view_students(student []);
void view_students_mid_progress(student []);
void qsort_on_group(student[]);
 
 
int main(int argc, char* argv[])
{       bool flag_exit = false; // флаг выхода
        int j,i, operation;
        student students[10];
        while (flag_exit == false)
        {
                cout<<"manu student operation\n 1.-add new student\n 2.-view all student\n 3.-sort on group\n 4.-view list students on a medium progress 4\n 0. - exit\n operation - ";
                cin>>operation;
                system("cls");
                switch (operation)
                {
                        case 1:
                                student_add(students);
                        break;
                        case 2:
                             view_students(students);
                        break;
 
                        case 3:
                                qsort_on_group(students);
                        break;
 
                        case 4:
                             view_students_mid_progress(students);
                        break;
 
                        case 0: flag_exit = true; break;
                        default: cout<<"error operation\n"; break;
                }
 
        }
 
        return 0;
}
 
student add (student new_student)
{
        int i;
        cout<<"FIO = ";
        cin>>new_student.FIO;
        cout<<"Group = ";
        cin>>new_student.Group;
        for (i=0; i<5; i++)
        {
                cout<<"progress student N"<<i+1<<" = ";
                cin>>new_student.progress[i];
        }
        return new_student;
}
 
void student_add(student temp_students[])
{
student temp_student;
int i;
for (i=0; i<10; i++)
{
        if (temp_students[i].FIO == "")
        {
                temp_students[i] = add(temp_student);
                system("cls");
                break;
        }
}
 
}
 
void view_students (student temp_students[])
{
int i,j;
cout<<"--------------------------------------------------\n";
cout<<"|          FIO            | GROUP |R1|R2|R3|R4|R5|\n";
for(i=0; i<10;i++)
{
        if (temp_students[i].FIO == "")
                break;
        cout<<"|";
        cout.width(25);
        cout<<temp_students[i].FIO;
        cout<<"|";
        cout.width(7);
        cout<<temp_students[i].Group;
        cout<<"|";
        for (j=0;j<5;j++)
        {
                cout.width(2);
                cout<<temp_students[i].progress[j]<<"|";
        }
        cout<<"\n--------------------------------------------------\n";
}
}
 
void view_students_mid_progress(student temp_students[])
{
int i,j;
cout<<"--------------------------------------------------\n";
cout<<"|          FIO            | GROUP |R1|R2|R3|R4|R5|\n";
for(i=0; i<10;i++)
{
if (temp_students[i].FIO == "")
        break;
if(temp_students[i].menium_result() == true)
{
        cout<<"|";
        cout.width(25);
        cout<<temp_students[i].FIO;
        cout<<"|";
        cout.width(7);
        cout<<temp_students[i].Group;
        cout<<"|";
        for (j=0;j<5;j++)
        {
                cout.width(2);
                cout<<temp_students[i].progress[j]<<"|";
        }
        cout<<"\n--------------------------------------------------\n";
}
}
 
}
 
 
void qsort_on_group (student temp_students[])
{
        int count = 0, i,j;
        student temper;
        string temp;
        for (i=0; i<10;i++)
        {
                if (temp_students[i].Group != "")
                        count += 1;
        }
        for (i=0; i<count-1;i++)
                for (j=i;j<count;j++)
                {
                        if(strcmp(temp_students[i].Group.c_str(),temp_students[j].Group.c_str())>0)
                        {
                                temper = temp_students[j];
                                temp_students[j] = temp_students[i];
                                temp_students[i] = temper;
                        }
                }
 
 
}
 
//---------------------------------------------------------------------------

4)
Кликните здесь для просмотра всего текста
Имеются 2 квадратные матрицы. Требуется для каждой матрицы вычислить произведение элементов главной диагонали (выполнить в виде функции) и затем найти большее из этих произведений и сказать для какой матрицы.
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
//---------------------------------------------------------------------------
 
#include <clx.h>
#include <iostream.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int proizv_diag(int **,int);
void view_mass (int **, int);
int main(int argc, char* argv[])
{
        int m,n,i,j;
        cout<<"insert borders for matrix 1,2\n";
        cin>>n>>m;
        system("cls");
        int **array1 = new int *[n];
        int **array2 = new int *[m];
        cout<<"elements matrix 1\n";
        for (i=0; i<n; i++)
        {
                array1[i] = new int[n];
                for (j=0; j<n; j++)
                {
                        cin>>array1[i][j];
                }
        }
        system("cls");
        cout<<"elements matrix 2\n";
        for (i=0; i<m; i++)
        {
                array2[i] = new int[m];
                for (j=0; j<m; j++)
                {
                        cin>>array2[i][j];
                }
        }
        if (proizv_diag(array1,n) > proizv_diag(array2,m))
                {
                cout<<"array1="<<proizv_diag(array1,n)<<"\n";
                view_mass(array1,n);
                }
        else
                {
                cout<<"array2="<<proizv_diag(array2,m)<<"\n";
                view_mass(array2,m);
                }
        system ("pause");
        return 0;
}
int proizv_diag (int **array,int size)
{
        int i,result;
        result = array[0][0];
        for (i=1; i<size; i++)
        {
                result = result * array[i][i];
        }
        return result;
}
void view_mass (int **array, int size)
{
        int i,j;
        for (i=0; i<size; i++)
        {
                for (j=0; j<size; j++)
                {
                        cout<<array[i][j]<<" ";
                }
                cout<<"\n";
        }
}
//---------------------------------------------------------------------------

5)
Кликните здесь для просмотра всего текста
Имеются два одномерных массива разной длины. Требуется подсчитать для каждого массива сумму его положительных элементов, причем вычисленные суммы оформить в виде функции и найти среднее арифметическое этих сумм.
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
//---------------------------------------------------------------------------
 
#include <clx.h>
#include <iostream.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
int summ_array (int[],int);
#pragma argsused
int main(int argc, char* argv[])
{
        int n,m,i;
        cout<<"n,m - borders massiv's\n";
        cin>>n>>m;
        int *array1 = new int[n];
        int *array2 = new int[m];
        cout<<"insert array1 elements\n";
        for (i=0; i<n; i++)
        {
                cin>>array1[i];
        }
        system("cls");
        cout<<"insert array2 elements\n";
        for (i=0; i<m; i++)
        {
                cin>>array2[i];
        }
        cout<<"mid_arr1_arr2 = "<<(summ_array(array1,n)+summ_array(array2,m))/2<<"\n";
        system("pause");
        return 0;
}
 
int summ_array(int temp_array[], int size)
{
        int i,temp_result=0;
        for (i=0; i<size; i++)
        {
                if (temp_array[i]>0)
                        temp_result+=temp_array[i];
        }
        return temp_result;
}
//---------------------------------------------------------------------------

Заранее спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2014, 14:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Блок схемы для программ С++ (C++):

Блок-схемы для программ (массивы, строки) - C++
Массив #include “stdafx.h” #include “stdio.h” #include “time.h” #include “iostream” using namespace std; void main() { ...

Блок-схемы для программ на разветвляющийся алгоритм - C++
№1 // Laboratornaa.cpp: определяет точку входа для консольного приложения. // #include&quot;stdafx.h&quot; #include&lt;iostream&gt; ...

блок-схемы для ООП - C++
Доброго времени, Подскажите пожалуйста, как рисовать блок-схемы для программы с граф. интерфейсом (Qt, Visual и.д.) где почти все...

Блок схемы для программы - C++
Помогите пожалуйста сделать блок схемы для 3 любых прог из этих 3)) В любом виде,хоть рукописном) Ибо сам к сожалению в таком мало что...

Создание блок-схемы для программы - C++
вот у меня есть программа , не приложу ума как нарисовать блок-схему(полностью) помогите позязя) #include &quot;list.h&quot; int menu() ...

Требуется помощь в составлении блок-схемы для программы - C++
Всем привет,имеется код программы,необходима помощь в составлении блок-схем. #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include...

3
Kulgar
509 / 194 / 8
Регистрация: 07.08.2013
Сообщений: 814
16.06.2014, 15:06 #2
Во-первых, приведён код консольных приложений - не та ветка форума.
Во-вторых, если Вы сами написали эти программы, то составить блоксхемы не составит никакого труда. А если не сами.... "футакимбыть.жпег"
В-третьих, задания явно обучающего формата - так и учитесь пока есть возможность.
Всем добра.
0
dimartm
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 23
16.06.2014, 15:29  [ТС] #3
Эти программы писал не я, у меня завтра экзамен, а у меня ни фига не сделано, если тебе не сложно - сделай, буду благодарен, а если не можешь...
0
Kulgar
509 / 194 / 8
Регистрация: 07.08.2013
Сообщений: 814
16.06.2014, 15:42 #4
dimartm, эээээ..... я вот одного не могу понять: с каких пор стало модным просить помощи в учебных вопросах в интернете у совершенно не знакомых людей? А как же педагоги? однокурсники? просто друзья?
Ваше положение (многие его формации) мне знакомо. Однако, спешу заметить, что Вы делаете что угодно, но только не самостоятельно решаете вопрос.
Я глубоко убеждён, что каждый человек должен заниматься своим делом. А равно как и в том, что не совим делом не один человек не должен заниматься. Никому от этого хорошо не будет.
Нет, помочь не сложно. ПомочьСделать за Вас не правильно.
0
16.06.2014, 15:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2014, 15:42
Привет! Вот еще темы с ответами:

Составить блок-схемы и программы для вычисления Y и Z по заданным формулам - C++
Составить программы для вычисления Y и Z по заданным формулам прошу вас, помогите, уважаемые!

Составление блок-схемы и программы для вычисления значения функции - C++
Дорогие форумчане, помогите решить первое задание, заранее благодарен :)

Нужно нарисовать 2 блок-схемы(1 математическую,2 для написания самой программы) - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; //длина стороны АВ double side(double xa, double ya, double xb,...

Составить блок-схемы, написать программы на языке С++ для вычисления значений f(x) - C++
Составить блок-схемы, написать программы на языке С++ для вычисления значений f(x). Значение аргумента х вводить с клавиатуры. В задание...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru