• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Release Calcolatore dei posti avanzati o liberi in un bus che possiede 30 posti...

Korra96

Nuovo utente
Autore del topic
24 Ottobre 2010
43
0
Miglior risposta
0
Il seguente programma è un calcolatore dei posti avanzati o liberi in un bus che ha una capienza di 30 posti.
Ecco il codice:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
N.B.: È la mia prima release:rox:powa
P.S.: L'ho fatto in base alle mie conoscenze quindi non fate troppe critiche :emoji_slight_smile:.
 
Ultima modifica:
N.B.: È la mia prima release:rox:powa
P.S.: L'ho fatto in base alle mie conoscenze quindi non fate troppe critiche :emoji_slight_smile:.

Un autobus normale contiene fino a 70 persone e olte, ma ciò non importa.
Praticamente da postitotali-passeggerisaliti
E' un semplice calcolatore poiché dopo poco il programma finisce. Puoi migliorare.
 
Un autobus normale contiene fino a 70 persone e olte, ma ciò non importa.
Praticamente da postitotali-passeggerisaliti
E' un semplice calcolatore poiché dopo poco il programma finisce. Puoi migliorare.
si lo so... sono ancora alle prime armi :emoji_slight_smile:
è un autobus piccolo xd
 
Ultima modifica:
Ma.. Non ho capito una cosa.. Perchè fare uno switch per tutte le persone possibili?
Io avrei fatto una cosa tipo:
inserire numero persone
se il numero inserito è minore di 30 e maggiore o uguale a 0, il num di posti liberi è uguale a posti totali meno posti occupati
altrimenti, persone che aspettano è uguale a numero inserito meno posti totali (30).. Non sarebbe molto più semplice?
Anche perchè non hai inserito il break dopo ognuno dei vari case (che risultano comunque inutili visto che fanno tutti la stessa operazione), e quindi lui esegue tutti i casi, senza mai uscire sallo switch..
Esempio:
se nel tuo casofunziona così

mettiamo che venga inserito il numero 10.. Il pc esegue questi calcoli

postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10
postilib=30-10

e poi continua con il resto del programma..

per tutte e 30 le volte.. e il risultato è sempre uguale.. Quindi sprechi tempo e risorse..
Non so se hai capito..

Akylle
 
ah si hai ragione mi sono dimenticato break T_T.
--------------- AGGIUNTA AL POST ---------------
asp che modifico
 
Ultima modifica:
Ma hai capito quello che intendo?
E' buono per imparare l'uso e la sintassi dello switch-case.. Ma in questo contesto risulta completamente inutile.. E' molto meglio un semplice if-else come ho spiegato prima..
 
modificato. secondo me in questo caso serve ( anche se mi sono complicato al vita ) perchè in base al numero che digiti c'è un operazione precisa. Per esempio digiti 2 vengono fatte le istruzioni nel case 2 che sono 30 - 2 = 28, invece se digiti 17 vengono fatte le istruzioni del case 17 e quindi 30 - 17 = 13. Poi è secondo me... potrei anche sbagliarmi.
 
Ultima modifica:
Allora.. ragiona secondo lo svolgimento logico del programma..
Se tu inserisci 2, l'operazione sarà postitotali-postioccupati=postiliberi giusto?
Allora.. se tu inserisci invece 29, l'operazione sarà postitotali-postioccupati=postiliberi solo che qui postioccupati vale 29 anzichè 2, giiusto?
quindi le operazioni che fa sono uguali, cambia solo il valore della variabile..

Se tu avessi un programma cos'

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


non sarebbe molto più semplice e funzionale?
L'ho scritto ota e non l'ho compilto.. Protreero esserci errori di battitura o sviste.. Però la sostanza è questa.. Capito?
--------------- AGGIUNTA AL POST ---------------
Ecco.. tra l'altro quello che ho scritto è già perfettamente compilabile e funzionante.. Ho dimenticato solo un paio di \n che ora aggiungo..
Aggiungo anche un caso per trattare i valori immessi se sono minori di 0, tanto per completezza..
 
Ultima modifica:
si hai ragione. Comunque lo avevo fatto per imparare meglio l'if-else e lo switch-case.
 
Riferimento: Calcolatore dei posti avanzati o liberi in un bus che possiede 30 posti...

=)
Comunque la struttura switch-case era corretta.. anche se usata inutilmente ;)
 
Riferimento: Calcolatore dei posti avanzati o liberi in un bus che possiede 30 posti...

Togli quel getchar(); a fine programma, non ha senso, con system("PAUSE"); ti fa premere un tasto per continuare, il che equivale all'utilizzo di getchar()
 
Riferimento: Calcolatore dei posti avanzati o liberi in un bus che possiede 30 posti...

Hai ragione.. Non l'avevo nemmeno visto o.O
 
Riferimento: Calcolatore dei posti avanzati o liberi in un bus che possiede 30 posti...

me ne sono reso conto da poco :emoji_slight_smile: