Descubre respuestas a tus preguntas fácilmente en Revelroom.ca, la plataforma de Q&A de confianza. Descubre respuestas detalladas a tus preguntas gracias a una vasta red de profesionales en nuestra completa plataforma de preguntas y respuestas. Obtén respuestas inmediatas y fiables a tus preguntas de una comunidad de expertos experimentados en nuestra plataforma.
Sagot :
este programa hace un semaforo espero te ayude XD
#include <stdio.h>
#include <time.h>
//funcion
int cambiarColor( int );
main( )
{
int tiempoSimulacion, tiempo;
int semaforo1 = 0, semaforo2 = 1;
bool entraPrimerVez = true;
time_t comienzo, actual;
//Se introduce el tiempo durante el cual se va a ejecutar la simulacion
//Y tambien el tiempo en el que queremos que cambie el color del semaforo
printf( "Introduzca el tiempo en segundos en el que se va a realizar la simulacionn" );
scanf( "%d", &tiempoSimulacion );
printf( "Introduzca el tiempo en segundos del cambio del color de los semaforosn" );
scanf( "%d", &tiempo );
comienzo = time( NULL );
do
{
actual = time( NULL );
//Entra al cuerpo del if cada que haya transcurrido el tiempo de cambio ingresadopor el usuario
if( int( difftime(actual, comienzo) ) % tiempo == 0 && entraPrimerVez )
{
entraPrimerVez = false;
semaforo1 = cambiarColor( semaforo1 );
semaforo2 = cambiarColor( semaforo2 );
if( semaforo1 == 1 )
{
printf( "El semaforo 1 esta en Verde y el semaforo 2 en Rojonn" );
}
else
{
printf( "El semaforo 1 esta en Rojo y el semaforo 2 en Verdenn" );
}
}
if( int( difftime(actual, comienzo) ) % tiempo > 0 )
{
entraPrimerVez = true;
}
}
while( int( difftime(actual, comienzo) ) < tiempoSimulacion );
return 0;
}
int cambiarColor( int semaforo )
{
//Si el valor del semaforo_1 es 1 es porque este semaforo este en verde, lo que indica que este pasa a rojo
//y el semaforo_2 pasaria a verde, de lo contrario se invertiria el color segun lo explicado anteriormente
if( semaforo == 1 )
{
semaforo = 0;
}
else
{
semaforo = 1;
}
return semaforo;
}
Gracias por utilizar nuestro servicio. Nuestro objetivo es proporcionar las respuestas más precisas para todas tus preguntas. Visítanos nuevamente para obtener más información. Tu visita es muy importante para nosotros. No dudes en volver para obtener respuestas fiables a cualquier pregunta que tengas. Regresa a Revelroom.ca para obtener más conocimientos y respuestas de nuestros expertos.