Viernes 8 de Noviembre de 2024, 14:27
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Comparando una string, dos veces
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Comparando una string, dos veces (Leído 1467 veces)
portirijillo
Miembro activo
Mensajes: 27
Comparando una string, dos veces
«
en:
Viernes 7 de Octubre de 2011, 03:47 »
0
Hola a todos nuevamente y tan rapido, ahora tengo otro problemita, busco tener impreso en pantalla el abecedario completo, y pedir al usuario introducir una tecla de estas. Si se introdujo una letra desaparecera de pantalla, Hasta aqui todo bien, el problema surge cuando el usuario vuelve a introducir una tecla previamente ya usada, deberia mostrar un mensaje dicioendo que ya fue introducida, pero para mi suerte las condiciones no las lleva como deseo. Este es mi codigo, espero puedan ayudarme.
Código: C
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#define ENTER 13
#define MAX 30
void
main
(
void
)
;
char
cuenta
(
char
[
MAX
]
,
char
,
int
,
int
)
;
void
inicializa
(
char
[
MAX
]
,
int
*,
int
*
)
;
void
pausa
(
void
)
;
void
main
(
void
)
{
char
abc
[
]
=
"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
;
char
letra
=
0
;
int
x
,
y
,
intentos
=
0
;
clrscr
(
)
;
inicializa
(
abc
,&
x
,&
y
)
;
do
{
gotoxy
(
5
,
3
)
;
printf
(
"
\n
Inserte la palabra : "
)
;
letra
=
getche
(
)
;
cuenta
(
abc
,
letra
,
x
,
y
)
;
if
(
cuenta
(
abc
,
letra
,
x
,
y
)
)
intentos
++;
else
printf
(
"
\n
Ya la pusiste"
)
;
}
while
(
intentos
<
3
)
;
pausa
(
)
;
}
void
pausa
(
void
)
{
printf
(
"
\n
Presione enter para continuar"
)
;
while
(
getch
(
)
!=
ENTER
)
;
}
void
inicializa
(
char
a
[
MAX
]
,
int
*
x
,
int
*
y
)
{
int
i
;
gotoxy
(
2
,
8
)
;
*
x
=
wherex
(
)
;
*
y
=
wherey
(
)
;
puts
(
a
)
;
}
char
cuenta
(
char
abc
[
MAX
]
,
char
l
,
int
x
,
int
y
)
{
int
i
;
gotoxy
(
x
,
y
)
;
for
(
i
=
0
;
abc
[
i
]
;
i
++
)
if
(
abc
[
i
]
==
toupper
(
l
)
)
{
abc
[
i
]
=
'_'
;
puts
(
abc
)
;
return
1
;
}
return
0
;
}
Tweet
portirijillo
Miembro activo
Mensajes: 27
Solucionado
«
Respuesta #1 en:
Sábado 8 de Octubre de 2011, 21:34 »
0
Encontre mi error despues de serenarme un poco.
Código: C
Publicidad
Hola a todos nuevamente y
tan
rapido
,
ahora tengo otro problemita
,
busco tener impreso en pantalla el abecedario completo
,
y pedir al usuario introducir una tecla de estas.
Si
se introdujo una letra desaparecera de pantalla
,
Hasta aqui todo bien
,
el problema surge cuando el usuario vuelve a introducir una tecla previamente ya usada
,
deberia mostrar un mensaje dicioendo que ya fue introducida
,
pero para mi suerte las condiciones no las lleva como deseo.
Este
es mi codigo
,
espero puedan ayudarme.
C
ódigo
:
C
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#define ENTER 13
#define MAX 30
void
main
(
void
)
;
char
cuenta
(
char
[
MAX
]
,
char
,
int
,
int
)
;
void
inicializa
(
char
[
MAX
]
,
int
*,
int
*
)
;
void
pausa
(
void
)
;
void
main
(
void
)
{
char
abc
[
]
=
"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
;
char
letra
=
0
;
int
x
,
y
,
intentos
=
0
;
clrscr
(
)
;
inicializa
(
abc
,&
x
,&
y
)
;
do
{
gotoxy
(
5
,
3
)
;
printf
(
"
\n
Inserte la palabra : "
)
;
letra
=
getche
(
)
;
if
(
cuenta
(
abc
,
letra
,
x
,
y
)
)
intentos
++;
else
printf
(
"
\n
Ya la pusiste"
)
;
}
while
(
intentos
<
3
)
;
pausa
(
)
;
}
void
pausa
(
void
)
{
printf
(
"
\n
Presione enter para continuar"
)
;
while
(
getch
(
)
!=
ENTER
)
;
}
void
inicializa
(
char
a
[
MAX
]
,
int
*
x
,
int
*
y
)
{
int
i
;
gotoxy
(
2
,
8
)
;
*
x
=
wherex
(
)
;
*
y
=
wherey
(
)
;
puts
(
a
)
;
}
char
cuenta
(
char
abc
[
MAX
]
,
char
l
,
int
x
,
int
y
)
{
int
i
;
gotoxy
(
x
,
y
)
;
for
(
i
=
0
;
abc
[
i
]
;
i
++
)
if
(
abc
[
i
]
==
toupper
(
l
)
)
{
abc
[
i
]
=
'_'
;
puts
(
abc
)
;
return
1
;
}
return
0
;
}
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Comparando una string, dos veces