
ayuda programa de ta-te-ti C++ do while
Publicado por Francisco (6 intervenciones) el 05/11/2016 01:57:16
Hola soy francisco y esta es mi segunda pregunta en el foro, estoy en la secundaria este es el segundo año que veo C++ ,tratamos de hacer un programa de ta-te-ti en DEV C++ 5.11 pero el programa se queda en el ciclo repetitivo do while por favor ayudenme a resolverlo de manera simple sin código muy complejo,en el RAR dejo el .cpp y el ejecutable del programa que funciona pero como dije anteriormente no sale del ciclo repetitivo
también tiene ciertos errores pequeños apartes pero de eso me encargo yo solo quiero alguien que me ayude con el ciclo do while
también tiene ciertos errores pequeños apartes pero de eso me encargo yo solo quiero alguien que me ayude con el ciclo do while
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
#include <stdio.h>
#include<iostream>
using namespace std;
void inicializar_tablero(void);
void mostrar_tablero(void);
void verificar(void);
void contarespaciosvacios(void);
int x_x[99],x_y[99],o_x[99],o_y[99],n,x,y,a,espacios_vacios;
bool x_gano=false,o_gano=false;
char tablero[3][3];
int main(){
inicializar_tablero();
do{
mostrar_tablero();
cout<<"turno de X\n cordenada X:";
cin>>x_x[n];
x_x[n]=x_x[n]-1;
cout<<"Cordenada Y:";
cin>>x_y[n];
x_y[n]=x_y[n]-1;
if (tablero[x_x[n]][x_y[n]]=='_'&&x_x[n]<3&&x_y[n]<3){
tablero[x_x[n]][x_y[n]]='X';
}
verificar();
mostrar_tablero();
cout<<"\nTurno de O\n cordenada X:";
cin>>o_x[n];
o_x[n]=o_x[n]-1;
cout<<"Cordenada Y:";
cin>>o_y[n];
o_y[n]=o_y[n]-1;
if (tablero[o_x[n]][o_y[n]]=='_'&&o_x[n]<3&&o_y[n]<3){
tablero[o_x[n]][o_y[n]]='O';
}
verificar();
}while(!x_gano|| !o_gano||espacios_vacios==0);
}
void inicializar_tablero(void)
{
for (x=0; x < 3; x++) {
for (y = 0; y < 3; y++) {
tablero[x][y]='_';
}
}
}
void mostrar_tablero(void)
{
system("cls");
for (y = 0; y < 3; y++) {
for (x=0; x < 3; x++){
cout<<tablero[x][y]<<" ";
}
cout<<endl<<endl;
}
}
void verificar (void)
{
for(a=0;a<3;a++){
if (tablero[1][a]==tablero[1][a+1]&&tablero[1][a+1]==tablero[1][a+2])
{
if(tablero[1][a]=='X')
{
x_gano=true;
}
else
{
o_gano=true;
}
}
}
for(a=0;a<3;a++){
if (tablero[a][1]==tablero[a+1][1]&&tablero[a+1][1]==tablero[a+2][1])
{
if(tablero[a][1]=='X')
{
x_gano=true;
}
else
{
o_gano=true;
}
}
}
if (tablero[0][0]==tablero[1][1]&&tablero[1][1]==tablero[2][2])
{
if(tablero[1][1]=='X')
{
x_gano=true;
}
else
{
o_gano=true;
}
}
if (tablero[0][3]==tablero[1][1]&&tablero[1][1]==tablero[2][0])
{
if(tablero[a][1]=='X')
{
x_gano=true;
}
else{
o_gano=true;
}
}
}
void contarespaciosvacios(void){
espacios_vacios=0;
for (x=0; x < 8; x++) {
for (y = 0; y < 8; y++) {
if(tablero[x][y]=='_')
espacios_vacios++;
}
}
}
- 4.11.16.rar(369,2 KB)
Valora esta pregunta


0