Dev - C++ - ayuda con ahorcado

 
Vista:
sin imagen de perfil
Val: 9
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ayuda con ahorcado

Publicado por aaron (7 intervenciones) el 06/04/2019 23:28:22
hola buenas tardes disculpen la molestia amigos, el problema que tengo con el juego , esque cuando escribo una letra de la palabra escondida no aparece y solo cuando escribo la palabra completa gano espero me puedan ayudar este es mi codigo, gracias.

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
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
 
using namespace std;
char secreta [20];
char usuario [20];
char entrada [20];
int aux, val, i, errores, ind;
 
int buscar()
{
    val=0;
    for (i=0; i< strlen(secreta); i++)
    {
        if(secreta[i] == entrada[0])
        {
            val++;
            usuario[i] == entrada[0];
        }
    }
    return val;
}
void ini_us()
{
    usuario[0]='\0';
    for (i=0; i<(strlen(secreta));i++)
    {
        strcat(usuario, "_");
    }
    cout << usuario;
}
 
 
void establecer_pa()
 
{
 
    cout << "Escribe la palabra secreta\n";
    gets(secreta);
     gets(secreta);
    system("cls");
    return;
}
void juego()
{
    ini_us();
    errores=0;
    do
    {
        system("cls");
        cout << errores << usuario << "Escribe una letra o la palabra completa\n";
        gets(entrada);
        if (strlen(entrada) == 1)
        {
            aux = buscar();
            if (aux == 0)
            {
                errores ++;
            }
        }
        else
        {
            ind = strcmp(secreta, entrada);
            if (ind != 0)
            {
                errores ++;
            }
            else
            {
                strcpy(usuario, entrada);
            }
        }
        system("pause");
    }
    while(errores < 5 && strcmp(usuario, secreta) != 0);
    if (errores==5)
    {
        cout << "Perdiste!!\n";
    }
    else
    {
        cout << "ganaste!!\n";
    }
 
}
 
void Menu()
{
    int op;
    do
    {
        cout << "Selecciona la opcion deseada \n"
             << "1 Establecer Palabra\n"
             << "2 Jugar\n"
             << "3 Salir\n";
            cin >> op;
        system("cls");
 
 
        switch(op)
        {
        case 1:
          establecer_pa();
            break;
 
        case 2:
            juego();
            break;
        case 3:
       cout << "adios\n";
            break;
        default:
            cout << "Opcion Incorrecta \n";
            Sleep(1000);
            system("cls");
        }
 
    }
    while(op != 6);
}
 
 
int main()
{
    Menu();
    return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ayuda con ahorcado

Publicado por Alfil (1444 intervenciones) el 07/04/2019 07:04:03
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
#include <iostream>
#include <string>
#include <cstdlib>
#include <cctype>
 
using namespace std;
 
string secreta;
string usuario;
string entrada;
 
int buscar( char c )
{
    int val = 0;
 
    c = toupper( c );
    for( int i = 0; i < secreta.length(); i++ ) {
        if( secreta[i] == c ) {
            val++;
            usuario[i] = c;
        }
    }
    return val;
}
 
void mayusculas( string &p )
{
 
    for( int i = 0; i < p.length(); i++ )
        p[i] = toupper(p[i]);
}
 
void ini_us()
{
    usuario = secreta;
    for(int i = 0; i < usuario.length(); i++ ) {
        if( usuario[i] != ' ' ) {
            usuario[i] = '-';
        }
        else
            usuario[i] = ' ';
    }
}
 
 
void establecer_pa()
{
    cout << "\nEscribe la palabra secreta: ";
    getline( cin, secreta );
 
    mayusculas( secreta );
 
    system("cls");
 
}
 
void juego()
{
    int aux;
    int errores = 0;
    char c;
 
    ini_us();
 
    do{
        cout << "\nErrores: " << errores
             << "\nPalabra: " << usuario
             << "\n\nEscribe una letra o la palabra completa: ";
 
        getline( cin, entrada);
        mayusculas( entrada );
 
        if ( entrada.length() == 1 ) {
            c = entrada[0];
            aux = buscar( c );
            if( aux == 0 )
                errores ++;
        }
        else {
            if( secreta != entrada )
                errores ++;
            else
                usuario = entrada;
 
        }
 
    } while(errores < 5 && usuario != secreta );
 
    if( errores == 5 ) {
        cout << "\n\nPerdiste !!";
        cout << "\nLa palabra era: " << secreta << endl;
    }
    else {
        cout << "\nPalabra: " << usuario;
        cout << "\n\nGanaste !!\n";
    }
 
}
 
void Menu()
{
    int op;
    do{
        cout << "\nSelecciona la opcion deseada: \n"
             << "1.- Establecer Palabra\n"
             << "2.- Jugar\n"
             << "3.- Salir\n"
             << "? ";
        cin >> op;
        cin.ignore();
 
        system("cls");
 
        switch(op) {
 
            case 1:
                establecer_pa();
                break;
 
            case 2:
                juego();
                break;
            case 3:
                cout << "\nAdios\n";
                break;
 
            default:
                cout << "\nOpcion Incorrecta \n";
                system("cls");
                break;
        }
 
    } while( op != 3 );
}
 
int main()
{
    Menu();
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar