elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 23:24  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Aprendiendo C,help! Bucle while[?]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Aprendiendo C,help! Bucle while[?]  (Leído 344 veces)
Centmare

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Aprendiendo C,help! Bucle while[?]
« en: 14 Enero 2012, 04:06 »

Buenas.
Actualmente estoy estudiando un ciclo medio(sistemas microinformaticos y redes), planeo seguir con el superior y a donde eso me lleve. Pero mientras tanto, tengo que aprovechar Ofimatica. Que mejor forma de hacerlo que aprender C.

Decidí embarcarme en un pequeño proyecto, estoy intentando hacer un pequeño juego en C, como una aventura grafica.... pero sin graficos. Aun se muy poco de programación, pero de este modo, eventualmente aprenderé.

El caso es que cuando compilo y ejecuto el codigo con dev-c++, se salta el while del final. No consigo figurarme el por qué, lo dejo en vuestras manos.

La trama se debe al alto numero de robos que ha habido en mi clase,sera divertido.

CODIGO: http://snipt.org/vgpS2

Consejos y material de lectura seran bienvenidos. Gracias!

PD: He visto el hilo con la lista de libros relacionados con el tema, pero agradeceria una recomendacion mas concreta,basada en experienca propia,no me veo capaz de elegir de una lista de titulos.


« Última modificación: 14 Enero 2012, 04:34 por Centmare » En línea
RHL


Desconectado Desconectado

Mensajes: 966


mental


Ver Perfil
Re: Aprendiendo C,help! Bucle while[?]
« Respuesta #1 en: 14 Enero 2012, 10:02 »

recuerda que el while ejecuta las instrucciones que estan en el mientras la condicion sea verdadera o un valor distinto de 0.
recuerda que la funcion strcmp devuelve un valor distinto de 0 si las cadenas son diferentes en caso contrario devuelve 0.
y simplemente tu while no se ejecuta porque ninguna de las comparaciones de la cadena son iguales, si quitas el NOT se ejecutara
pero estarias haciendo que tu while se ejecutase mientras las cadenas son distintas osea que si detectan que son iguales
sale del while :)


En línea
Centmare

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Aprendiendo C,help! Bucle while[?]
« Respuesta #2 en: 14 Enero 2012, 15:54 »

Se trata de que se ejecute lo del while hasta que las comparaciones sean iguales.

Segun lo que me has dicho el strcmp funciona igual que un !=, y no al contrario,como yo pensaba, por lo tanto entiendo que:

while (!(strcmp(Ohelipuerto,"helicoptero") || strcmp(Ahelipuerto,"entrar")))

ese while se ejecutaria mientras Ohelipuerto y Ahelipuerto NO sean desiguales a "helicoptero" y "entrar". Por eso, con la negacion no se me ejecutaba. Al quitar la negacion, pasa a ejecutarse cuando son desiguales, y sale del bucle cuando son iguales.

¿Alguien me confirma si estoy en lo cierto esta vez?
En línea
rir3760


Desconectado Desconectado

Mensajes: 382


Ver Perfil
Re: Aprendiendo C,help! Bucle while[?]
« Respuesta #3 en: 14 Enero 2012, 18:05 »

Correcto.

La expresión:
Código
strcmp(Ohelipuerto,"helicoptero") || strcmp(Ahelipuerto,"entrar")
Resulta en 1 (verdadero) si cualquiera de las cadenas no coincide con la literal, solo resulta en 0 (falso) si ambas cadenas son iguales.

Al negarla mediante el operador '!' el bucle "while" se ejecutara solo mientras ambas cadenas coincidan.

Un saludo
En línea

The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Centmare

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Aprendiendo C,help! Bucle while[?]
« Respuesta #4 en: 14 Enero 2012, 18:30 »

Bien, duda resuelta.
Gracias a los dos. Supongo que el hilo ya esta listo para cierre.

Hasta la proxima :)
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Aprendiendo....
Hacking Básico
kd 9 1,042 Último mensaje 24 Mayo 2004, 02:12
por Ambolius
Aprendiendo PHP
Desarrollo Web
SeniorX 14 777 Último mensaje 13 Agosto 2005, 21:23
por SeniorX
Aprendiendo C++
Programación C/C++
DJINVACION2005 4 1,024 Último mensaje 15 Octubre 2005, 22:47
por sowher
APRENDIENDO...
Programación General
yuso 4 402 Último mensaje 11 Febrero 2006, 03:29
por yuso
Duda (Parar bucle con dato boolean) [bucle while]
Java
Dem0ny 5 2,945 Último mensaje 17 Diciembre 2008, 17:43
por Dem0ny
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines