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

Проверьте ошибки пожалуйста в коде - C++

Восстановить пароль Регистрация
 
Ibook
 Аватар для Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 56
03.03.2013, 02:23     Проверьте ошибки пожалуйста в коде #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
#include<Windows.h>
#include<iostream>
#include<iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<conio.h>
#define SPACE ' '
 
 
char matrix[3][3] = { /* matrica dla krestikov i nolikov */
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE}
} ;
 
 
 
void ShowField(void);//pokozat pola igrovoe
void TurnPlayer(void);//xod igroka
void TurnComputer(void);//xod computera
char check(void);// voz 1-contie 0 to net
 
using namespace std;
 
 
 
void main(){
    setlocale(LC_ALL, "rus");   
    char done;
    printf("This  is the game of    Krestiki-Noliki:\n");
    printf("You will be playing against the computer.\n");
    done=SPACE;
    do{
        void ShowField();
        void TurnPlayer();
        done = check();//proverka na popedu
        if (done!=SPACE) break;//popeda
         void TurnComputer();
             done=check();
    }
     while(done==SPACE);
if(done=='X') printf("You won!\n");
else printf("I won!!!!\n");
void ShowField(); 
return 0;
}
 
void TurnPlayer()// xod igroka i vivod 
{
    int x, у;
printf("Enter coordinates for your X.\n");
printf("Stroka? ");
scanf ("%d", &x);
printf("Kolonka? ");
scanf("%d", &y);
х--; y--;
if (x<0 || y<0 || x>2 || y>2 || matrix[x] [y] !=SPACE)
{
printf("Neverni put probyite eshe.\n");
 TurnPlayer();
 }
else matrix[x][y]='X';
}
 
 
void TurnComputer(void)// xod computera i vivivod 
{
register int t;
char *p;
p = (char *) matrix;
for (t=0; *p!=SPACE && t<9; ++t) p++;
if(t==9)
{
printf("risovat\n");
exit(0); /* game over */
}
else *p = 'O';
}
 
 
void ShowField(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");
}
 
 
char check(void){
int t;
char *p;
for(t=0; t<3; t++) { /* proverka stork */
p = &matrix[t] [0];
if (*p==* (p+1) && * (p+1)==*(p+2)) return *p;
}
for(t=0; t<3; t++) { /* proverka stolbcov */
p = &matrix[0][t];
if(*p==*(p+3) && *(p+3)==*(p+6)) return *p;
}
 
/* proverka diagonalei */
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 SPACE;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 02:23     Проверьте ошибки пожалуйста в коде
Посмотрите здесь:

C++ Помогите, пожалуйста, найти ошибки в программном коде!!!
у меня ошибка в коде проверьте!!! C++
Проверьте прогу на ошибки C++
C++ Пожалуйста, проверьте, есть ли ошибки в приведённом куске кода.
проверьте на ошибки C++
C++ проверьте что не так в коде?
C++ Помогите, пожалуйста, исправить ошибки в коде
C++ проверьте на ошибки код

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Черный ворон
129 / 123 / 6
Регистрация: 31.01.2012
Сообщений: 435
03.03.2013, 02:39     Проверьте ошибки пожалуйста в коде #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
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
#include<Windows.h>
#include<iostream>
#include<iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<conio.h>
#define SPACE ' '
 
 
char matrix[3][3] = { /* matrica dla krestikov i nolikov */
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE}
} ;
 
 
 
void ShowField(void);//pokozat pola igrovoe
void TurnPlayer(void);//xod igroka
void TurnComputer(void);//xod computera
char check(void);// voz 1-contie 0 to net
 
using namespace std;
 
 
 
int main(){
    setlocale(LC_ALL, "rus");   
    char done;
    printf("This  is the game of    Krestiki-Noliki:\n");
    printf("You will be playing against the computer.\n");
    done=SPACE;
    do{
        ShowField(); //void не надо здесь. выше Вы уже описали прототип функции (при объявлении она не вызывается)
        TurnPlayer();
        done = check();//proverka na popedu
        if (done!=SPACE) break;//popeda
         void TurnComputer();
             done=check();
    }
     while(done==SPACE);
if(done=='X') printf("You won!\n");
else printf("I won!!!!\n");
void ShowField(); 
return 0;
}
 
void TurnPlayer()// xod igroka i vivod 
{
    int x,y; //здесь были русские буквы х и у
printf("Enter coordinates for your X.\n");
printf("Stroka? ");
scanf ("%d", &x);
printf("Kolonka? ");
scanf("%d", &y);
x--; y--;
if (x<0 || y<0 || x>2 || y>2 || matrix[x] [y] !=SPACE)
{
printf("Neverni put probyite eshe.\n");
 TurnPlayer();
 }
else matrix[x][y]='X';
}
 
 
void TurnComputer(void)// xod computera i vivivod 
{
register int t;
char *p;
p = (char *) matrix;
for (t=0; *p!=SPACE && t<9; ++t) p++;
if(t==9)
{
printf("risovat\n");
exit(0); /* game over */
}
else *p = 'O';
}
 
 
void ShowField(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");
}
 
 
char check(void){
int t;
char *p;
for(t=0; t<3; t++) { /* proverka stork */
p = &matrix[t] [0];
if (*p==* (p+1) && * (p+1)==*(p+2)) return *p;
}
for(t=0; t<3; t++) { /* proverka stolbcov */
p = &matrix[0][t];
if(*p==*(p+3) && *(p+3)==*(p+6)) return *p;
}
 
/* proverka diagonalei */
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 SPACE;
}
код запускается, хотя вывод немного некрасив и ИИ похоже пока еще отсутствует
Ibook
 Аватар для Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 56
03.03.2013, 02:50  [ТС]     Проверьте ошибки пожалуйста в коде #3
1>------ Построение начато: проект: 3, Конфигурация: Debug Win32 ------
1>Build started 03.03.2013 0:14:00.
1>InitializeBuildStatus:
1> Touching "Debug\3.unsuccessfulbuild".
1>ClCompile:
1> kres.cpp
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(45): error C2562: main: функция типа "void", возвращающая значение
1> c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(28): см. объявление "main"
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(55): error C2065: y: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(56): error C2065: х: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(56): error C2065: y: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(57): error C2065: y: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(57): error C2065: y: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(57): error C2065: y: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(62): error C2065: y: необъявленный идентификатор
1>
1>СБОЙ построения.
1>
1>Time Elapsed 00:00:03.22
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Добавлено через 50 секунд
Я работаю в программа Visual STUDIO Почему у меня она ругается?

Добавлено через 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
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
#include<Windows.h>
#include<iostream>
#include<iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<conio.h>
#define SPACE ' '
 
 
char matrix[3][3] = { /* matrica dla krestikov i nolikov */
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE}
} ;
 
 
 
void ShowField(void);//pokozat pola igrovoe
void TurnPlayer(void);//xod igroka
void TurnComputer(void);//xod computera
char check(void);// voz 1-contie 0 to net
 
using namespace std;
 
 
 
int main(){
    setlocale(LC_ALL, "rus");   
    char done;
    printf("This  is the game of    Krestiki-Noliki:\n");
    printf("You will be playing against the computer.\n");
    done=SPACE;
    do{
        ShowField(); //void не надо здесь. выше Вы уже описали прототип функции (при объявлении она не вызывается)
        TurnPlayer();
        done = check();//proverka na popedu
        if (done!=SPACE) break;//popeda
         void TurnComputer();
             done=check();
    }
     while(done==SPACE);
if(done=='X') printf("You won!\n");
else printf("I won!!!!\n");
void ShowField(); 
return 0;
}
 
void TurnPlayer()// xod igroka i vivod 
{
    int x,y; //здесь были русские буквы х и у
printf("Enter coordinates for your X.\n");
printf("Stroka? ");
scanf ("%d", &x);
printf("Kolonka? ");
scanf("%d", &y);
x--; y--;
if (x<0 || y<0 || x>2 || y>2 || matrix[x] [y] !=SPACE)
{
printf("Neverni put probyite eshe.\n");
 TurnPlayer();
 }
else matrix[x][y]='X';
}
 
 
void TurnComputer(void)// xod computera i vivivod 
{
register int t;
char *p;
p = (char *) matrix;
for (t=0; *p!=SPACE && t<9; ++t) p++;
if(t==9)
{
printf("risovat\n");
exit(0); /* game over */
}
else *p = 'O';
}
 
 
void ShowField(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");
}
 
 
char check(void){
int t;
char *p;
for(t=0; t<3; t++) { /* proverka stork */
p = &matrix[t] [0];
if (*p==* (p+1) && * (p+1)==*(p+2)) return *p;
}
for(t=0; t<3; t++) { /* proverka stolbcov */
p = &matrix[0][t];
if(*p==*(p+3) && *(p+3)==*(p+6)) return *p;
}
 
/* proverka diagonalei */
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 SPACE;
}
код запускается, хотя вывод немного некрасив и ИИ похоже пока еще отсутствует



Спасибо друг огромное))))
Yandex
Объявления
03.03.2013, 02:50     Проверьте ошибки пожалуйста в коде
Ответ Создать тему
Опции темы

Текущее время: 16:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru