Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - sofia555555

#1
Programación C/C++ / Re: ayuda con este tema
1 Marzo 2019, 04:12 AM
Cita de: YreX-DwX en  1 Marzo 2019, 04:08 AM
El pseudocódigo se emplea para representar algoritmos (fragmentos de código) de forma fácil de entender para las personas, con un lenguaje más natural y que luego ya puedes transformarlo en código para el lenguaje que tú quieras.
Como puedes ver, ese fragmento que te he dejado si lo copias tal cual en el programa no va a funcionar. Eso es porque ahora tienes que adaptar esa idea a la sintaxis del lenguaje de programación que sea, C++ en este caso.
Más que nada porque si te lo hago en C++ pues ya te estoy dando la solución hecha para copiar y pegar... :-X

Lo hice asi

Código (cpp) [Seleccionar]

if (Puertas == "ABIERTAS"){
Sleep(2000);
Puertas = PuertasC;
}


pero ahora si por ejemplo van al piso 4 , el programa va subiendo piso a piso cada 1 seg entonces cuando va en el 3 se queda en el piso 3 los dos segundos de las puertas y llega al 4 y ahora no abre las puertas como lo hacia antes de meter ese if


PuertasC es una dato tipo string PuertasC = "CERRADAS";
#2
Programación C/C++ / Re: ayuda con este tema
1 Marzo 2019, 04:03 AM
lo intentare
#3
Programación C/C++ / Re: ayuda con este tema
1 Marzo 2019, 04:00 AM
Cita de: YreX-DwX 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

bool puerta_abierta = true
si puerta_abierta
    esperar(2 segundos)
    puerta_abierta = false


Jajaja que maldad  :-( no entiendo como pseudocodigo?
#4
Programación C/C++ / Re: ayuda con este tema
1 Marzo 2019, 03:40 AM
Cita de: YreX-DwX 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 (cpp) [Seleccionar]

#include <iostream>
#include <windows.h>

using namespace std;

int main(){
    int piso_actual = 0;
    int piso_final = 4;
    while(piso_actual < piso_final){ // tambien funciona con piso_actual != piso_final
        if(piso_actual == 0)
            cout << "Piso: PB" << endl;
        else
            cout << "Piso: " << piso_actual << endl;
        piso_actual++; // incremento en 1 de la variable piso_actual
        Sleep(2000); // retardo de 2 segundos entre piso y piso
    }
}


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 (cpp) [Seleccionar]

    // Opcion 1 usando llaves
    if(var == 0){
        cout << var << endl;
    }
    cout << var+1 << endl;

    // Opcion 2 sin usar llaves, equivalente a la opcion 1
    if(var == 0)
        cout << var << endl;
    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
#5
Programación C/C++ / Re: ayuda con este tema
1 Marzo 2019, 02:54 AM
Cita de: YreX-DwX en 28 Febrero 2019, 12:21 PM
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?
#6
Programación C/C++ / Re: ayuda con este tema
28 Febrero 2019, 07:07 AM
Cita de: srWhiteSkull 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.

Si claro lo que quiero es mostrar en pantalla como si fuera la pantalla led de los ascensores
#7
Programación C/C++ / Re: ayuda con este tema
28 Febrero 2019, 06:32 AM
Cita de: srWhiteSkull en 28 Febrero 2019, 05:50 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
#8
Programación C/C++ / ayuda con este tema
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 (cpp) [Seleccionar]


if(piso<0){
Piso=Piso+1;
Sleep(3000); // pongo 3 segundos por cada piso que sube es lo que tarda
}



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?