Sábado 14 de Diciembre de 2024, 18:00
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
) »
Validar Un Valor Decimal
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Validar Un Valor Decimal (Leído 2983 veces)
infonet
Nuevo Miembro
Mensajes: 14
Validar Un Valor Decimal
«
en:
Martes 18 de Agosto de 2009, 06:41 »
0
ENCUAENTRAN ALGUN ERROR EN ESTE CODIGO....
NO ME CORRE OK...
Código: C++
# include <stdio.h>
# include <conio.h>
# include <string.h>
# include <stdlib.h>
char
cadena
[
100
]
;
int
estado
=
0
;
int
i
=
0
;
main
(
)
{
printf
(
"INGRESE UN VALOR DECIMAL :"
)
;
gets
(
cadena
)
;
for
(
i
=
0
;
(
(
i
<
strlen
(
cadena
)
)
&&
(
estado
!
=
3
)
)
;
i
++
)
{
if
(
estado
==
0
)
{
if
(
(
cadena
[
i
]
>=
48
)
&&
(
cadena
[
i
]
<=
57
)
)
estado
=
1
;
if
(
cadena
[
i
]
==
'.'
)
estado
=
2
;
else
estado
=
4
;
}
else
if
(
estado
==
1
)
{
if
(
(
cadena
[
i
]
>=
48
)
&&
(
cadena
[
i
]
<=
57
)
)
estado
=
1
;
if
(
cadena
[
i
]
==
'.'
)
estado
=
2
;
else
estado
=
5
;
}
else
if
(
estado
==
2
)
{
if
(
(
cadena
[
i
]
>=
48
)
&&
(
cadena
[
i
]
<=
57
)
)
estado
=
3
;
else
estado
=
6
;
}
else
if
(
estado
==
3
)
{
if
(
(
cadena
[
i
]
>=
48
)
&&
(
cadena
[
i
]
<=
57
)
)
estado
=
3
;
else
estado
=
7
;
}
}
if
(
estado
==
1
)
printf
(
"EL NUMERO ES DECIMAL"
)
;
{
if
(
estado
==
2
)
printf
(
"EL NUMERO CONTIENE PUNTO"
)
;
{
if
(
estado
==
3
)
printf
(
"EL NUMERO DECIMAL ES CORRECTO"
)
;
{
if
(
estado
==
4
)
printf
(
"ERROR: DEBE EMPEZAR CON NUMERO O PUNTO"
)
;
{
if
(
estado
==
5
)
printf
(
"ERROR: SOLO SE ACEPTAN NUMEROS"
)
;
{
if
(
estado
==
6
)
printf
(
"DEBE INGRESAR PUNTO DECIMAL"
)
;
{
if
(
estado
==
7
)
printf
(
"SOLO SE HACEPTAN NUMEROS"
)
;
}
}
}
}
}
getch
(
)
;
}
}
Tweet
«
última modificación: Martes 18 de Agosto de 2009, 22:29 por infonet
»
infonet
Nuevo Miembro
Mensajes: 14
Re: Validar Un Valor Decimal
«
Respuesta #1 en:
Martes 18 de Agosto de 2009, 22:28 »
0
SOLUCIONADO......
Código: C++
# include <stdio.h>
# include <conio.h>
# include <string.h>
# include <stdlib.h>
char
cadena
[
100
]
;
int
estado
=
0
;
int
i
=
0
;
main
(
)
{
printf
(
"INGRESE UN VALOR DECIMAL :"
)
;
gets
(
cadena
)
;
for
(
i
=
0
;
(
(
i
<
strlen
(
cadena
)
)
&&
(
estado
!
=
3
)
)
;
i
++
)
{
if
(
estado
==
0
)
{
if
(
(
cadena
[
i
]
>=
48
)
&&
(
cadena
[
i
]
<=
57
)
)
estado
=
1
;
else
if
(
cadena
[
i
]
==
'.'
)
estado
=
2
;
else
estado
=
4
;
}
else
//else1
{
if
(
estado
==
1
)
{
if
(
(
cadena
[
i
]
>=
48
)
&&
(
cadena
[
i
]
<=
57
)
)
estado
=
1
;
else
if
(
cadena
[
i
]
==
'.'
)
estado
=
2
;
else
estado
=
5
;
}
else
//else2
{
if
(
estado
==
2
)
{
if
(
(
cadena
[
i
]
>=
48
)
&&
(
cadena
[
i
]
<=
57
)
)
estado
=
3
;
else
estado
=
6
;
}
else
//else3
{
if
(
estado
==
3
)
{
if
(
(
cadena
[
i
]
>=
48
)
&&
(
cadena
[
i
]
<=
57
)
)
estado
=
3
;
else
estado
=
7
;
}
}
//else3
}
//else2
}
//else1
}
// for
if
(
estado
==
1
)
printf
(
"EL NUMERO ES DECIMAL"
)
;
if
(
estado
==
2
)
printf
(
"EL NUMERO CONTIENE PUNTO"
)
;
if
(
estado
==
3
)
printf
(
"EL NUMERO DECIMAL ES CORRECTO"
)
;
if
(
estado
==
4
)
printf
(
"ERROR: DEBE EMPEZAR CON NUMERO O PUNTO"
)
;
if
(
estado
==
5
)
printf
(
"ERROR: SOLO SE ACEPTAN NUMEROS"
)
;
if
(
estado
==
6
)
printf
(
"DEBE INGRESAR PUNTO DECIMAL"
)
;
if
(
estado
==
7
)
printf
(
"SOLO SE HACEPTAN NUMEROS"
)
;
getch
(
)
;
}
Dynyck
Nuevo Miembro
Mensajes: 17
Re: Validar Un Valor Decimal
«
Respuesta #2 en:
Martes 18 de Agosto de 2009, 23:05 »
0
Una duda... Será que solo quieres validar como dice el título... entonces yo ocuparía directamente una entrada tipo float y luego la compararía con la parte entera, algo así:
Código: C++
float
num
;
std
::
cin
>>
num
;
if
(
num
!
=
(
int
)
num
)
{
std
::
cout
<<
"El numero contiene punto y es decimal"
<<
std
::
endl
;
}
Disculpas si me he equivocado.
infonet
Nuevo Miembro
Mensajes: 14
Re: Validar Un Valor Decimal
«
Respuesta #3 en:
Martes 18 de Agosto de 2009, 23:12 »
0
a ver probraremos con el float....
Muchas Gracias estimado....
Dynyck
Nuevo Miembro
Mensajes: 17
Re: Validar Un Valor Decimal
«
Respuesta #4 en:
Martes 18 de Agosto de 2009, 23:32 »
0
Fijate porque la verdad no me acuerdo si era (int) var o int (var), es simplemente comparar la parte entera con el número.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Validar Un Valor Decimal