elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda con este tema
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con este tema  (Leído 4,154 veces)
sofia555555

Desconectado Desconectado

Mensajes: 8


Ver Perfil
ayuda con este tema
« en: 28 Febrero 2019, 05:32 am »

Buenas noches a todos , tengo una duda chicos estoy haciendo un programa sobre un  ascensor y entonces
por ejemplo esta en planta Baja (PB)

son 12 pisos y quiero que nada mas tenga 4 paradas que serian PB-4-8-12

y yo elijo el numero 4

entonces quiero mostrar en pantalla lo siguiente

Piso = PB  es como inicia el programa pero quiero cuando arranque el ascensor  muestre en pantalla la siguiente secuencia

Piso= PB
Piso= 1
Piso= 2
Piso= 3
Piso= 4

Y ahi se detenga

entonces yo coloco lo siguiente

Código
  1.  
  2. if(piso<0){
  3. Piso=Piso+1;
  4. Sleep(3000); // pongo 3 segundos por cada piso que sube es lo que tarda
  5. }
  6.  


 Mis dudas son como haria que se detenga en 4  y como haria que la variable Piso pueda cambiar de PB a numero  , hay alguna variable que pueda utlizar caracteres y enteros?


En línea

srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: ayuda con este tema
« Respuesta #1 en: 28 Febrero 2019, 05:50 am »

hay alguna variable que pueda utlizar caracteres y enteros?

Nooo,

Pero podrías usar el cero.

PD a lo mejor PB es una constante si es porque aparece en algún código que estás copiando.


En línea

sofia555555

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: ayuda con este tema
« Respuesta #2 en: 28 Febrero 2019, 06:32 am »

Nooo,

Pero podrías usar el cero.

PD a lo mejor PB es una constante si es porque aparece en algún código que estás copiando.


 si pero en los ascensores aparece PB despues los numero de pisos asi que no lo se , no esta bien poner el 0 quisiera Que diga PB despues 1 , 2 y asi
En línea

srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: ayuda con este tema
« Respuesta #3 en: 28 Febrero 2019, 06:59 am »

Pero que diga dónde? Me imagino que eso saldrá solo en la pantalla del ascensor. De todas formas con esa información no puedo ayudarte y ahora mismo me voy a dormir.

Buenas noches.
En línea

sofia555555

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: ayuda con este tema
« Respuesta #4 en: 28 Febrero 2019, 07:07 am »

Pero que diga dónde? Me imagino que eso saldrá solo en la pantalla del ascensor. De todas formas con esa información no puedo ayudarte y ahora mismo me voy a dormir.

Buenas noches.

Si claro lo que quiero es mostrar en pantalla como si fuera la pantalla led de los ascensores
En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: ayuda con este tema
« Respuesta #5 en: 28 Febrero 2019, 12:21 pm »

Buenas noches a todos , tengo una duda chicos estoy haciendo un programa sobre un  ascensor y entonces
por ejemplo esta en planta Baja (PB)

son 12 pisos y quiero que nada mas tenga 4 paradas que serian PB-4-8-12

y yo elijo el numero 4

entonces quiero mostrar en pantalla lo siguiente

Piso = PB  es como inicia el programa pero quiero cuando arranque el ascensor  muestre en pantalla la siguiente secuencia

Piso= PB
Piso= 1
Piso= 2
Piso= 3
Piso= 4

Y ahi se detenga

entonces yo coloco lo siguiente

Código
  1.  
  2. if(piso<0){
  3. Piso=Piso+1;
  4. Sleep(3000); // pongo 3 segundos por cada piso que sube es lo que tarda
  5. }
  6.  


 Mis dudas son como haria que se detenga en 4  y como haria que la variable Piso pueda cambiar de PB a numero  , hay alguna variable que pueda utlizar caracteres y enteros?

Si quieres que se detenga en el 4 pues con un condicional, sencillo.
Para el tema de mezclar letras (PB) con números (1, 2, 3...) tienes varias opciones:
  • Usar <string> o <char> y entonces representar los números como caracteres en vez de como números. Si luego quieres incrementar algún valor tendrás que usar una función que los transforme de <char> a <int> y después a <char> nuevamente.
  • Usar <int> y que PB sea el 0. Luego cuando se vaya a mostrar la planta, hacer un condicional para que si la planta es el 0, se muestre "PB" y sino que se muestre el número de la planta.
  • Igual también te sirve usar una enumeración <enum>.
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
sofia555555

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: ayuda con este tema
« Respuesta #6 en: 1 Marzo 2019, 02:54 am »

Si quieres que se detenga en el 4 pues con un condicional, sencillo.
Para el tema de mezclar letras (PB) con números (1, 2, 3...) tienes varias opciones:
  • Usar <string> o <char> y entonces representar los números como caracteres en vez de como números. Si luego quieres incrementar algún valor tendrás que usar una función que los transforme de <char> a <int> y después a <char> nuevamente.
  • Usar <int> y que PB sea el 0. Luego cuando se vaya a mostrar la planta, hacer un condicional para que si la planta es el 0, se muestre "PB" y sino que se muestre el número de la planta.
  • Igual también te sirve usar una enumeración <enum>.
Si logre resolver lo del piso que se detuviera , dejare por ultimo el tema de Pb y los numeros de los piso ,  ahora imaginemos que el ascensor llego al piso 4 abrio las puertas como hacer que duren 2 seg abiertas y despues las cierre como hacer ese condicional?
« Última modificación: 1 Marzo 2019, 03:13 am por sofia555555 » En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: ayuda con este tema
« Respuesta #7 en: 1 Marzo 2019, 03:27 am »

Te muestro un pequeño fragmento para darte una idea y que tú puedas adaptarlo a tus necesidades.
(Supongo que estás compilando desde Windows no?)
Código
  1. #include <iostream>
  2. #include <windows.h>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7.    int piso_actual = 0;
  8.    int piso_final = 4;
  9.    while(piso_actual < piso_final){ // tambien funciona con piso_actual != piso_final
  10.        if(piso_actual == 0)
  11.            cout << "Piso: PB" << endl;
  12.        else
  13.            cout << "Piso: " << piso_actual << endl;
  14.        piso_actual++; // incremento en 1 de la variable piso_actual
  15.        Sleep(2000); // retardo de 2 segundos entre piso y piso
  16.    }
  17. }

Como estás empezando te comento un par de cosas:
  • El <if else> no tiene llaves {} por lo que sólo incluye una instrucción cada uno.
Código
  1. // Opcion 1 usando llaves
  2. if(var == 0){
  3.    cout << var << endl;
  4. }
  5. cout << var+1 << endl;
  6.  
  7. // Opcion 2 sin usar llaves, equivalente a la opcion 1
  8. if(var == 0)
  9.    cout << var << endl;
  10. cout << var+1 << endl;

  • Si el programa lo vas a compilar en Linux tienes que cambiar <windows.h> por <unistd.h> y la función <Sleep(milisegundos)> por <usleep(microsegundos)>.
  • Hay más formas de mostrar el número de planta, pero esta es una de ellas. Si quieres ver cómo se haría de alguna otra forma, coméntamelo.

Espero que esto te sirva y si tienes alguna duda más, siempre puedes preguntar. Suerte :-X
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
sofia555555

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: ayuda con este tema
« Respuesta #8 en: 1 Marzo 2019, 03:40 am »

Te muestro un pequeño fragmento para darte una idea y que tú puedas adaptarlo a tus necesidades.
(Supongo que estás compilando desde Windows no?)
Código
  1. #include <iostream>
  2. #include <windows.h>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7.    int piso_actual = 0;
  8.    int piso_final = 4;
  9.    while(piso_actual < piso_final){ // tambien funciona con piso_actual != piso_final
  10.        if(piso_actual == 0)
  11.            cout << "Piso: PB" << endl;
  12.        else
  13.            cout << "Piso: " << piso_actual << endl;
  14.        piso_actual++; // incremento en 1 de la variable piso_actual
  15.        Sleep(2000); // retardo de 2 segundos entre piso y piso
  16.    }
  17. }

Como estás empezando te comento un par de cosas:
  • El <if else> no tiene llaves {} por lo que sólo incluye una instrucción cada uno.
Código
  1. // Opcion 1 usando llaves
  2. if(var == 0){
  3.    cout << var << endl;
  4. }
  5. cout << var+1 << endl;
  6.  
  7. // Opcion 2 sin usar llaves, equivalente a la opcion 1
  8. if(var == 0)
  9.    cout << var << endl;
  10. cout << var+1 << endl;

  • Si el programa lo vas a compilar en Linux tienes que cambiar <windows.h> por <unistd.h> y la función <Sleep(milisegundos)> por <usleep(microsegundos)>.
  • Hay más formas de mostrar el número de planta, pero esta es una de ellas. Si quieres ver cómo se haría de alguna otra forma, coméntamelo.

Espero que esto te sirva y si tienes alguna duda más, siempre puedes preguntar. Suerte :-X

 Si gracias uso windows , quiero dejar a lo ultimo lo de si esta en PB sera el 0 porque si no me complico  :-( , quisiera saber como hacer el condicional para con la funcion sleep para que cuando abra las puertas duren 2 segundos abiertas y  luego las cierre despues de los dos segundos
En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: ayuda con este tema
« Respuesta #9 en: 1 Marzo 2019, 03:51 am »

Para hacer eso lo mejor es controlar el estado de las puertas con una variable booleana <bool> cuyos posibles valores son true(1) y false(0). Como ya has visto como se usa la función <Sleep()> y cómo funcionan los condicionales, te dejo la respuesta en pseudocódigo para que tú te encargues de pasarlo a C++. :-X
Código:
bool puerta_abierta = true
si puerta_abierta
    esperar(2 segundos)
    puerta_abierta = false
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como es este tema?
Hacking Mobile
#Borracho.- 1 3,618 Último mensaje 22 Noviembre 2005, 23:59 pm
por Gospel
Una ayuda , cable o lo que sea, para este tema en PHP SOLVE
PHP
Man-In-the-Middle 6 2,214 Último mensaje 2 Octubre 2014, 15:01 pm
por Man-In-the-Middle
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines