SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: cannabis en Domingo 8 de Octubre de 2006, 00:11
-
Hola necesito un gran favor en q me puedan ayudar con este ejercicio q manualmente si lo puedo hacer pero en c++ no lo creo….
Este ejercicio es de la materia de redes y es el siguiente:
Dada una DIRECCION IP determine:
- si es valida
- tipo de clase
- mascara de subred
- segmentos y muestre las direcciones de cada uno y con su mascara de subred
nota: el usuario debe de introducir la dirección ip y el número de segmentos para validar
Se que es un tema raro y q no se entiende pero pondré un ejemplo para que lo entiendan y algo de información:
Clase Formato Rango Direccion direccion mascara de
de red del host subred
A R.H.H.H. 1-126 128 16777214 255.0.0.0
B R.R.H.H. 128-191 16384 65534 255.255.0.0
C R.R.R.H 192-224 2097152 254 255.255.255.0
R=red
H=host
Direccion ip= 140.20.0.0
Calse= B
Segmentos= 8
Mascara de subred= 255.255.0.0
Direcciones de segmento= ?
Mascara de subred= ?
El numero de segmentos se convierte a binario:
128 64 32 16 8 4 2 1
1 0 0 0
1 1 1 1
Nota: Cada “cuadro” se convierte en un bit asi 8=1000 toma prestado 4 bits. En la mascara de subred se convierten en 1 en los bits q tomo prestados.Pero como son 8 bits lo demas se rellenan con ceros.
11110000 = 240 en decimal asi q la mascara queda = 255.255.240.0
Nota: las direcciones igual se rellenan con los 4 bits restantes en ceros. Pero para sacar las direcciones se hacen una serie de combinaciones no repetidas en binario pero si son puros 0000 y 1111 no se toman en cuenta:
Combinaciones Bits Decimal Direcciones de red
0000 0000
0001 0000 16 140.20.16.0
0010 0000 32 140.20.32.0
0011 0000 48 140.20.48.0
0100 0000 64 140.20.64.0
0101 0000 80 140.20.80.0
0110 0000 96 140.20.96.0
0111 0000 112 140.20.112.0
1000 0000 128 140.20.128.0
1111 0000
Y al final me intersa:
Direccion ip= 140.20.0.0
Calse= B
Valida=si
Segmentos= 8
Mascara de subred= 255.255.0.0
Direcciones de segmento=
140.20.16.0
140.20.32.0
140.20.48.0
140.20.64.0
140.20.80.0
140.20.96.0
140.20.112.0
140.20.128.0
Mascara de subred=
255.255.240.0
Mi correo es pelotona_cs@hotmail.com
Les mando el archivo en Word pa q le entiendan mejor
-
cual es la parte que no entendes?
la idea es mas o menos la sigiente:
*obtenes la IP por donde sea
* se la pasas como string a una clase
* esa clase parsea el string ( divide el string en los '.', trata de convertir a unsigned char lo que hay entre los puntos )
* a partir de ahi con operaciones binarias (&,|,^) sacas la informacion necesaria.
en que parte te trabaste?
-
ni le respondan lo mismo hizo en el foro de VB y VB.NET, que pena que solo para su tarea posteen :angry: investiga como validar cadenas en cualquiera de los lenguajes que preguntaste :angry:
http://foros.solocodigo.com/index.php?show...view=getnewpost (http://foros.solocodigo.com/index.php?showtopic=24561&view=getnewpost)
http://foros.solocodigo.com/index.php?showtopic=24560&hl= (http://foros.solocodigo.com/index.php?showtopic=24560&hl=)
-
la verdad si pero solo kiero ver la parte del segmentos xq lo demas solo es validar comparar kiero ver en q lenguaje me sale el programa
-
bob esponja
lo primero si lo puedo hacer xq son comparaciones pero la parte donde le pido los segmentos y de ahi sacar las combinaciones y las direccionespara cada segmento es donde me trabo
-
no es q kiero q me hagan mi tarea si lo subi a esos tres lenguajes es xq esos uitlizon en la escuela solo kiero ver si hay una funcion q me ayude con las combinaciones de binarios para los segmentos
creo q
-
no es q kiero q me hagan mi tarea si lo subi a esos tres lenguajes es xq esos uitlizon en la escuela solo kiero ver si hay una funcion q me ayude con las combinaciones de binarios para los segmentos
creo q mandarlo en varios es xq realmente no se como hacerlo soy una estudiante desesperada ademas si subi todo eso es xq asi a simple vista no le entenderian asi q primero fijate ok <_<
agradesco a bob esponja x haberme ayudado pero aun no tengo la respuesta :unsure:
-
creo q mandarlo en varios es xq realmente no se como hacerlo soy una estudiante desesperada ademas si subi todo eso es xq asi a simple vista no le entenderian asi q primero fijate ok dry.gif
Creo que muchos de aqui al igual que tu somos estudiantes, y si tienes dudas no creo que la forma en que describiste tu duda sea la apropiada, ademas en cada subforo viene un tema como este, espero y lo leas :angry:
http://foros.solocodigo.com/index.php?showtopic=5710 (http://foros.solocodigo.com/index.php?showtopic=5710)
PD para que crees que existe google o los manuales :P en tu caso te serviria este
http://c.conclase.net/librerias/funcion.php?fun=strtok (http://c.conclase.net/librerias/funcion.php?fun=strtok)
http://www.conclase.net/c/ejemplos.php?tema=24 (http://www.conclase.net/c/ejemplos.php?tema=24) en la parte de hasta abajo
-
Hola cannabis,
por favor redacta un post con dudas más especificas acerca del trabajo que estas haciendo, si sigues las normas recibiras la ayuda adecuada.
-
mira yo mande este el mismo mensaje a tres tipos de lenguajes para ver cual es mas facil para resolver mi problema
sorry x ver nuevas alternativas
yo tnego problemas en los segmentos la primera pate ya lo tengo resuelto solo iero saber como puedo hacer las combinaciones
x eso puse un ejemplo para q entiendan a lo q me refiero
-
como ya te habia dicho lo que necesitas es dividir en tokens las cadena del ip
con strtok y para pasar a binario, pues en el mensaje anterior te deje una liga con el ejemplo asi que solo es cuestion de buscar un poco mas:P