Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
ho uno schema che rappresenta il funzionamento dell'ascensore per una palazzina di tre piano avete qualche suggerimento per eseguirlo correttamente e senza dover fare tutti i casi?
vi chiedo scusa mi sono spiegato veramente male allora questo è il codice che ho prodotto fino ad adesso:
Codice sorgente - presumibilmente C++
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <iostream>
usingnamespace std;
int h0=0,h1=4,h2=8;
int main()
{
//s=insieme degli stati
//i=insieme finito possibili ingressi
//u0insieme finito possibili uscite
bool p0=true,p1=false,p2=false;
int can=0;
int k=0;
double i;
while(k!=5)
{
do
{//chiamata dell'ascensore da piano a 4 o a 8
cout<<"premere 0 per chiamare ascensore al piano terra"<<endl;
cout<<"premere 1 per primo piano"<<endl;
cout<<"premere 2 per secondo piano"<<endl;
cin>>k;
system("cls");
can=1;
system("cls");
}
while(can!=1);
if(k==0)
{
//dove è l'ascensore?
if(p0==true)
{
cout<<"porte aperte"<<endl<<"ascensore fermo siamo già a quel piano"<<endl;
}
elseif(p1==true)
{
for(i=4;i>0;i=i-0.1)
{
cout<<i<<"M"<<endl;
}
cout<<"arrivati!!"<<endl;
p1=false;
p0=true;
}
elseif(p2==true)
{
for(i=8;i>0;i=i-0.1)
{
cout<<i<<"M"<<endl;
}
cout<<"arrivati!!"<<endl;
p2=false;
p0=true;
}
}
elseif(k==1)
{
if(p0==true)
{
for(i=0;i<4;i=i+0.1)
{
cout<<i<<"M"<<endl;
}
cout<<"arrivati"<<endl;
p1=true;
p0=false;
}
elseif(p1==true)
{
cout<<"ascensore fermo"<<endl<<"siamo già a quel piano"<<endl;
}
elseif(p2==true)
{
for(i=8;i>4;i=i-0.1)
{
cout<<i<<"M"<<endl;
}
cout<<"arrivati!!"<<endl;
p2=false;
p1=true;
}
}
elseif(k==2)
{
if(p0==true)
{
for(i=0;i<8;i=i+0.1)
{
cout<<i<<"M"<<endl;
}
cout<<"arrivati"<<endl;
p2=true;
p0=false;
}
elseif(p1==true)
{
for(i=0;i<8;i=i+0.1)
{
cout<<i<<"M"<<endl;
}
cout<<"arrivati!!"<<endl;
p2=true;
p1=false;
}
elseif(p2==true)
{
cout<<"ascensore fermo"<<endl<<"siamo già a quel piano"<<endl;
}
}
}
system("pause");
return0;
}
il mio problema è quasto:
non sò come impostare il codice che dovrebbe rappresentare il funzionamento dei tasti all'interno dell'ascensore e che dovrebbero farlo smuovere senza dover ripetere una serie di if lunghissima avete qualche idea?