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

Как лучше переделать программу чтобы отсутствовали глобальных переменных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа работы с файлами. Информация о студентах. http://www.cyberforum.ru/cpp-beginners/thread1050652.html
Нужно создать программу, которая обрабатывала б базы данных, считывала информацию с файла, редактирвала эту информацию, удаляла часть инфы, и сохраняла обратно в файл, а так же поиск в базе по фамилии. В базе данных использовать информацию о студентах, а именно: ФИО, адресс, возраст и группу. Я сделал часть, где нужно считать с файла и поиск по фамилии. А вот остальное я пока не знаю как. Код...
C++ Найти все целые положительные числа a,b,c из промежутка 3) Найти все целые положительные числа a,b,c из промежутка (0,100) такие что a^3+b^2=c^2. P.S. в первой и второй задаче желателен вод с клавиатуры. Заранее благодарю. http://www.cyberforum.ru/cpp-beginners/thread1050646.html
Задача про двумерный массив C++
Вот условие: Дана целая матрица размером (n*m) n, m <=10. Упорядочить (переставить) строки матрицы по возрастанию количества положительных элементов в одной строке. #include<stdio.h> #include<math.h> int main(){ int n,m,i,j,a,k, masO, l, z, b, c, v, masP; do { printf("Vvedite razmer matrici NxM<=10\n"); scanf("%d%d",&n,&m); } while((n>10)||(m>10)||(n<=0)||(m<=0)); for (i=0; i<n; i++)...
Нужно объяснение кода про нахождение количества решений для латинского квадрата C++
Я не могу понять код, который мне нужно будет уже послезавтра объяснить. Задача состоит в том, чтобы найти количество решений для латинского квадрата и вывести эти квадраты на экран: int Factorial(int n) {if (n<=1) return 1; else return n*Factorial(n-1); } const int N = 4; const int Nf = Factorial(N); struct strN { int mas_;
C++ как написать вывод? http://www.cyberforum.ru/cpp-beginners/thread1050609.html
Как написать вывод объема тетраэдра (тема класс)? //На вход подается некоторое количество тетраэдров(координаты вершин). //Отсортировать и вывести их по возрастанию объемов. #include <iostream> #include <stdio.h> #include <locale> #include <math.h> using namespace std;
C++ как написать вывод? как написать в классах чтобы он выводил объем тетраэдра? //На вход подается некоторое количество тетраэдров(координаты вершин). //Отсортировать и вывести их по возрастанию объемов. #include <iostream> #include <stdio.h> #include <locale> #include <math.h> using namespace std; подробнее

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

Как лучше переделать программу чтобы отсутствовали глобальных переменных - C++

21.12.2013, 12:44. Просмотров 324. Ответов 8
Метки (Все метки)

есть программа, как лучше переделать программу что бы отсутствовали глобальных переменных, т.е. чтобы все передавалось через параметры. прошу с комментариями.
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
/* Igra v Kpestiki Noliki */
#include <stdio.h>
#include <stdlib.h>
 
char matrix[3][3]; /* Igral'naya Doska */
 
char check(void);
void init_matrix(void);
void get_player_move(void);
void get_computer_move(void);
void disp_matrix(void);
 
int main(void)
{
    char done;
    
    printf("Eto - igra v kpestiki noliki.\n");
    printf("Vi bydete igrat' s kompyterom.\n");
    
    done = ' ';
    init_matrix();
    do{
                  disp_matrix();
                  get_player_move();
                  done = check(); /* Est' lu pobeditel' ? */
                  if(done!= ' ') break; /* Pobeditel' opredelen!*/
                  get_computer_move();
                  done = check(); /* Est' li pobeditel' ?*/
                } while(done== ' ');
                if(done=='X') printf("Vi pobedili!\n");
                else printf("Ya viygral!!!\n");
                disp_matrix(); /* Final'noe polojenie */
                
                return 0;
}
 
/* Inicializaciya matrici. */
void init_matrix(void)
{
     int i, j;
     
     for(i=0; i<3; i++)
         for(j=0; j<3; j++) matrix[i][j] = ' ';
}                         
 
/* Xod Igroka */
void get_player_move(void)
{
     int x, y;
     
     printf("Vvedite koopdinati X,Y: ");
     scanf("%d%*c%d", &x, &y);
     
     x--; y--;
     
     if(matrix[x][y]!= ' '){
        printf("Neveriy xod, popitaytes' ewe.\n");
        get_player_move();
        }
        else matrix[x][y] = 'X';
}
/* Xod Kompytera*/
void get_computer_move(void)
{
     int i, j;
     for(i=0; i<3; i++){
         for(j=0; j<3; j++)
           if(matrix[i][j]== ' ') break;
         if(matrix[i][j]== ' ') break;
     }
     
     if(i*j==9) {
        printf("Nichya\n");
        exit(0);
     }
      else
         matrix[i][j] = 'O';
}
/*Vivesti matricy na ekpan. */
void disp_matrix(void)
{
     int t;
     
     for (t=0; t<3; t++) {
       printf("%c | %c | %c ", matrix[t][0],
               matrix[t][1], matrix [t][2]);
       if(t!=2) printf("\n---|---|---\n");
       }
       printf("\n");
}
/* Proverit', est' li pobeditel'. */
char check(void)
{
     int i;
     
     for(i=0; i<3; i++) /* Provepka strok */
       if(matrix[i][0]==matrix[i][1] &&
         matrix[i][0]==matrix[i][2]) return matrix[i][0];
        
     for(i=0; i<3; i++) /* Provepka stolbcov */
       if(matrix[0][i]==matrix[1][i] &&
         matrix[0][i]==matrix[2][i]) return matrix[0][i];
        
     /* Provepka Diagonaley */
     if(matrix[0][0]==matrix[1][1] &&
        matrix[1][1]==matrix[2][2])
          return matrix[0][0];
          
     if(matrix[0][2]==matrix[1][1] &&
        matrix[1][1]==matrix[2][0])
          return matrix[0][2];
             
     return ' ';
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru