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

Прокомментируйте код. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Управление устройствами http://www.cyberforum.ru/cpp-beginners/thread374692.html
Здравствуйте, У меня возник вопрос, как управлять различными устройствами при помощи с++. Например, как вебка и микр и т.д. Заранее спасибо!
C++ Генератор случайных чисел Еще ни разу не использовал rand(), знаю что перед ним нужно srand(time(NULL)), потому как без этого числа будут одинаковы постоянно. Но не пойму саму идеологию пользования. rand()%100 генерирует... http://www.cyberforum.ru/cpp-beginners/thread374688.html
C++ подскажите как разрешать
Задали функцию. Написать программу для нахождения определенного интеграла с точностью Е = 10 в степени (-3) для заданных границ с помощью трех методов: 1) прямоугольников, 2) трапеций, 3) Симпсона....
C++ Управление командной строкой
Здравстуйте, У меня возник такой вопрос, можно ли написать в с++ такую программу которая будит писать команды в командной строке? Спасибо!
C++ Вычислить номер минимального элемента массива http://www.cyberforum.ru/cpp-beginners/thread374656.html
Есть следующая задача: В одномерном массиве, состоящем из n вещественных элементов вычислить номер минимального элемента массива. У меня вышла след. программа ( если она полностью неправильна, не...
C++ Решение задач определения минимального состава Напишите программу для решения этой задачи используя метод линейного прогромирования подробнее

Показать сообщение отдельно
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1

Прокомментируйте код. - C++

30.10.2011, 00:04. Просмотров 384. Ответов 3
Метки (Все метки)

Программа записывает количество учеников по классам. И самих учеников. Изменяет данные учеников.
И осуществляет доступ к информации о учениках.
Программа работает. Прокомментируйте код пожалуйста.
lib.h
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
#include <iostream>
 
using std::cout;
using std::cin;
using std::endl;
using std::string;
 
#ifndef LIB_H_
#define LIB_H_
 
class Pupil
{
private:
        
        string Name;                //Имя
        string Patronymic_name;     //Отчество
        string Surname;             //Фамилия
        int School_class;           //Класс
        int Year_of_the_birth;      //Год рождения
        int Year_of_the_arrival;    //Год прибытия
        int Annual_estimations[10]; //Годовые оценки
        double Average;             //Средние
        
public:
       
       void Func_Install(const int mass[],
             const string Name2, 
             const string Patronymic_name2, 
             const string Surname2,
             const int Year_of_the_birth2, 
             const int Year_of_the_arrival2); //Установка значений
             
       ~Pupil();       
       
       void Show_Pupil(); //Показ ученика
       
       void Function_Average(); //Вычисление среднего, установка класса
       
       int Function_Comparison(string a); //Доступ к фамилии учеников
       
};
 
Pupil** Funk_class(int mass[]); // Установка размеров классов создание диномического массива классов
 
char Funk_menu_show(); //Вывод меню
 
void Funk_pupil(Pupil**); // ввод данных учеников
 
void Access_pupil(int mass[],Pupil **pp); //Отображение данных учеников, классов
 
void Funk_Mod(int mass[],Pupil **pp); //Изменение данных
 
#endif
file1
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
#include "lib.h"
 
extern int G_o_d;
 
extern const char *lessons[10];
 
Pupil::~Pupil(){}
 
void Pupil::Func_Install(const int mass[],
             const string Name2, 
             const string Patronymic_name2, 
             const string Surname2,
             const int Year_of_the_birth2, 
             const int Year_of_the_arrival2){
                   
                   Name=Name2;
                   Patronymic_name=Patronymic_name2;
                   Surname=Surname2;
                   Year_of_the_birth=Year_of_the_birth2;      
                   Year_of_the_arrival=Year_of_the_arrival2;
                   
                   for(int i=0; i<10; i++) Annual_estimations[i]=mass[i];
                   
                   Function_Average();
                   
                   }
 
void Pupil::Show_Pupil(){
     
     
     cout << "\nКласс: " << School_class
          << "\nИмя: " << Name 
          << "\nОтчество: " << Patronymic_name 
          << "\nФамилия: " << Surname 
          << "\nВозраст: " << G_o_d-Year_of_the_birth;
          cout << "\n\nОценки по предметам:\n\n";
          for(int i=0; i<10; i++)
          cout << "Оценка по " << lessons[i] << ": " << Annual_estimations[i] << endl;
          
          cout << "\nСредняя оценка: " << Average << endl;
          
     
     }
 
void Pupil::Function_Average(){
             double temp=0.0;
             for(int i=0; i<10; i++)
             temp+=Annual_estimations[i];
             Average=temp/10;
             
             School_class=G_o_d-Year_of_the_arrival;
             }
             
int Pupil::Function_Comparison(string a){
    
    if(a==Surname)
    return 1;
    else
    return 0;
}
file2
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
#include "lib.h"
 
int G_o_d=2011;
 
int j0=0,j1=0,j2=0,j3=0,j4=0,j5=0,j6=0,j7=0,j8=0,j9=0;
 
Pupil** Funk_class(int mass[]){
     
     cout << "Всего 10 классов.\n";
     for (int i=0; i<10; i++){
     cout << "Введите размер " << i+1 << " класса: ";
     cin >> mass[i];
     }
     
    Pupil **Dik=new Pupil*[10];
    for(int i=0; i<10; i++) Dik[i]=new Pupil[mass[i]];
     
     return Dik;
     }
     
char Funk_menu_show(){
     char menu_show;
     
     cout << "Меню (введите соответствующую букву):\n\n";
     cout <<    "\tВвод классов ------------------- A\
               \n\tВвод учеников ------------------ B\
               \n\tИзменения ---------------------- C\
               \n\tДоступ к информации о учиниках - D";
    
    for(int i=0;i<1;i++){
    cout << "\n\tВвод: ";
    cin >> menu_show;
    if(menu_show<'A'||menu_show<'a'&&menu_show>'D'||menu_show>'d')
    {cout << "Ввод неверен!"; i=0;}
    }
    
    return menu_show;
}
 
void Funk_pupil(Pupil**Pup){
     
     extern const char *lessons[10];
                               
     string pupl_name;
     string pupl_patronymic_name;
     string pupl_surname;
     int r,rp;
     int less[10];                     
                          cin.get();
                          cout << "Имя: ";
                          getline(cin,pupl_name);
                          cout << "Отчество: ";
                          getline(cin,pupl_patronymic_name);
                          cout << "Фамилия: ";
                          getline(cin,pupl_surname);
                          cout << "Год рождения: ";
                          cin >> r;
                          cout << "Год поступления: ";
                          cin >> rp;
                          cout << "\nГодовая аттестация\n";
                          for(int i=0; i<10; i++){
                          cout << "Оценка по " << lessons[i] << ": ";
                          cin >> less[i];
                          }
       
       int indef=G_o_d-rp;
       
       switch(indef){
                     case 1:
       Pup[0][j0].Func_Install(less,pupl_name,pupl_patronymic_name,pupl_surname,r,rp);
                     j0++;
                     break;
                     case 2:
       Pup[1][j1].Func_Install(less,pupl_name,pupl_patronymic_name,pupl_surname,r,rp);
                     j1++;
                     break;
                     case 3:
       Pup[2][j2].Func_Install(less,pupl_name,pupl_patronymic_name,pupl_surname,r,rp);
                     j2++;
                     break;
                     case 4:
       Pup[3][j3].Func_Install(less,pupl_name,pupl_patronymic_name,pupl_surname,r,rp);
                     j3++;
                     break;
                     case 5:
       Pup[4][j4].Func_Install(less,pupl_name,pupl_patronymic_name,pupl_surname,r,rp);
                     j4++;
                     break;
                     case 6:
       Pup[5][j5].Func_Install(less,pupl_name,pupl_patronymic_name,pupl_surname,r,rp);
                     j5++;
                     break;
                     case 7:
       Pup[6][j6].Func_Install(less,pupl_name,pupl_patronymic_name,pupl_surname,r,rp);
                     j6++;
                     break;
                     case 8:
       Pup[7][j7].Func_Install(less,pupl_name,pupl_patronymic_name,pupl_surname,r,rp);
                     j7++;
                     break;
                     case 9:
       Pup[8][j8].Func_Install(less,pupl_name,pupl_patronymic_name,pupl_surname,r,rp);
                     j8++;
                     break;
                     case 10:
       Pup[9][j9].Func_Install(less,pupl_name,pupl_patronymic_name,pupl_surname,r,rp);
                     j9++;
                     break;
                     }
}
 
void Access_pupil(int mass[],Pupil **pp){
     
     for(;;){
     system("cls");
     cout << "По фамилии (A), по классу(B), выход(Q): ";
     char menu_access;
     cin>>menu_access;
     cin.get();
     
     if(menu_access=='Q'||menu_access=='q')
     break;
     
     if(menu_access=='A'||menu_access=='a'){
     cout << "Введите фамилию ученика: ";
     string familiy;
     getline(cin,familiy);
     
     for (int i=0; i<10; i++)
         for(int j=0; j<mass[i]; j++)
         if(pp[i][j].Function_Comparison(familiy))
         pp[i][j].Show_Pupil();
         }     
     
     if(menu_access=='B'||menu_access=='b'){
           cout << "Введите класс: ";
           int temp;
           cin >> temp;
           temp-=1;
           for(int i=0; i<mass[temp]; i++)
           pp[temp][i].Show_Pupil();
           }                                
                                            
         
         cout << endl << endl;
         system("pause");
         }
         
}
 
void Funk_Mod(int mass[],Pupil **pp){
     cin.get();
     cout << "Введите Фамилию: ";
     string familiy;
     getline(cin,familiy);
     
     
     int k=0;
     for (int i=0; i<10; i++){
         for(int j=0; j<mass[i]; j++)
         if(pp[i][j].Function_Comparison(familiy))
         {pp[i][j].Show_Pupil(); k=1; break;}
         if(k==1)
         break;
         }
         
     extern const char *lessons[10];
                     
     int i,j;          
     string pupl_name;
     string pupl_patronymic_name;
     string pupl_surname;
     int r,rp;
     int less[10];                     
                          cout << "Имя: ";
                          getline(cin,pupl_name);
                          cout << "Отчество: ";
                          getline(cin,pupl_patronymic_name);
                          cout << "Фамилия: ";
                          getline(cin,pupl_surname);
                          cout << "Год рождения: ";
                          cin >> r;
                          cout << "Год поступления: ";
                          cin >> rp;
                          cout << "\nГодовая аттестация\n";
                          for(int i=0; i<10; i++){
                          cout << "Оценка по " << lessons[i] << ": ";
                          cin >> less[i];
                          }
         
     pp[i][j].Func_Install(less,pupl_name,pupl_patronymic_name,pupl_surname,r,rp);
     
     }
main
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
#include "lib.h"
 
    const char *lessons[10] = {"алгебре",   "геометрии",   "Физике",
                               "химии",     "истории",      "праву",
                               "литературе",    "английскому языку", 
                               "русскому языку", "ураинскому языку"};
 
int main()
{
    setlocale(LC_ALL, "rus");
    
    Pupil **p;
    char menu='y';
    int school_class[11];
    
    int k=0;
    for(;k==0;){
    switch(menu){
                 case 'A':
                 case 'a': system("CLS");
                           cout << "Выход в предыдущее меню(Y), закончить ввод(Q): ";
                           cin >> menu;
                           if(menu=='q'||menu=='Q')
                           break;
                           if(menu=='Y'||menu=='y')
                           break;
                           else
                           p=Funk_class(school_class);
                      break;
                 case 'B':
                 case 'b':system("CLS");
                           cout << "Выход в предыдущее меню(Y), закончить ввод(Q): ";
                           cin >> menu;
                           if(menu=='q'||menu=='Q')
                           break;
                           if(menu=='Y'||menu=='y')
                           break;
                           else
                           Funk_pupil(p);
                      break;
                 case 'C':
                 case 'c':system("CLS");
                          cout << "Выход в предыдущее меню(Y), закончить ввод(Q): ";
                           cin >> menu;
                           if(menu=='q'||menu=='Q')
                           break;
                           if(menu=='Y'||menu=='y')
                           break;
                           else
                           Funk_Mod(school_class,p);
                      break;
                 case 'D':
                 case 'd':system("CLS");
                           cout << "Выход в предыдущее меню(Y), закончить ввод(Q): ";
                           cin >> menu;
                           if(menu=='q'||menu=='Q')
                           break;
                           if(menu=='Y'||menu=='y')
                           break;
                           else
                           Access_pupil(school_class,p);
                      break;
                 case 'Y':
                 case 'y':system("CLS");
                      menu=Funk_menu_show();
                      continue;
                 case 'Q':
                 case 'q': k++;
                 break;
                 }
                 }
    
    cout << "\n\n\n";
    system("PAUSE");
    return 0;
}
0
Миниатюры
Прокомментируйте код.   Прокомментируйте код.  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru