Ciao e Benvenuto.
Siete pronti per un'altra sfida?
So di esserlo.
Ora che abbiamo finito di parlare sui loop, appliciamoli.
Proviamo a capirlo come risolvere un problema.
Quindi in questa sfida lo farai creare un'ipotesi del programma numero c.
Sarà piuttosto interessante.
Sarà un piccolo gioco.
Quello che succederà è tuo il programma
genererà un numero casuale compreso tra 0 e 20.
Dopo averlo generato numero casuale, chiederai all'utente
di indovinare di cosa si tratta.
Quindi l'utente dovrebbe solo essere in grado per inserire numeri da 0 a 20.
Se provano a indovinare come il file numero 50, visualizzerai
un errore e dirai, ehi, puoi inserire solo numeri da 0 a 20.
Quindi questa è una clausola.
Ma una volta che l'utente ottiene effettivamente un file indovina ed è
una supposizione valida, quindi dirai all'utente se oppure no erano troppo alti o troppo bassi.
O se fossero corrette, lo farai display dicendo che sono
corrette e vinceranno la partita.
Adesso ne hanno solo una certa numero di volte che possono
indovinare il numero corretto.
Possono solo indovinare il numero 5 volte.
Dopo cinque volte perdono la partita.
Quindi questo gioco è tutto indovinare il numero corretto.
Qualsiasi numero compreso tra 0 e 20, lo desideri convalidare l'input dell'utente per assicurarsi
che abbia inserito 0 da 20.
E se hanno inserito qualcosa e loro hai meno di 5 tentativi, dirai loro, ehi,
questo era troppo alto o, ehi, questo era troppo basso del numero
che avrebbero dovuto indovinare.
E quelle sono le basi requisiti del programma, indovinare di base
il tuo gioco di tipo numero.
Ora come appare l'output.
Per darti un'idea di come io progettato, potresti voler seguire.
Questo. Quando ho avviato per la prima volta il file programma, ho visualizzato un piccolo messaggio.
Ho detto che questo è un gioco d'ipotesi, solo così sanno cosa sta succedendo.
Poi ho detto loro che l'ho fatto scelto un numero compreso tra 0
e 20, che devi indovinare.
Hai ancora cinque tentativi per indovinare.
Ho quindi detto di inserire un'ipotesi.
Dovevano per inserire la loro ipotesi.
Sono entrati in 12 e ho stampato fuori, scusa 12 è sbagliato il mio numero
è inferiore a quello.
E poi ti ho mostrato hanno quattro tentativi rimasti.
Quindi hanno inserito un'ipotesi di 8, e ho detto, beh, anche 8 è sbagliato,
il mio numero è inferiore a quello.
E poi sono entrati 3, ho detto loro avevano 3 tentativi rimasti, ne sono entrati 4.
Ho detto che 4 è sbagliato.
E poi hanno avuto 2 tentativi se ne sono andati e
alla fine hanno indovinato il mio numero che era 2.
Una volta che hanno indovinato il numero corretto, Ho detto loro
congratulazioni, avete indovinato, quindi hanno vinto la partita perché avevano ancora 2 tentativi rimasti.
È un tipo base di gioco semplice dove dovrai usare le istruzioni if,
stai andando per aver bisogno di usare i cicli while.
Quindi dovrai usare un file loop in questo perché devi
continuare a chiedere input fino a quando il l'utente ha indovinato correttamente o fino a quando il
numero di tentativi è stato superiore a 5.
Quindi uno dei modi migliori per avviare un programma come questo significa scrivere come
stai andando per creare il programma su carta.
E io ti suggerirei di farlo perché se scrivi su carta come
affronterai il problema, sarà più facile da risolvere.
E puoi scriverlo pseudocodice, quindi è solo
la lingua inglese, ma vuoi identificare dove avrai i loop
e dove avrai il if dichiarazioni per verificare le condizioni.
Perché guardi questo output, ci sono molte condizioni
che devi controllare.
Il ciclo while sta per controllare for o il ciclo for
che controllerà per assicurarsi che sia esce dal ciclo se hai indovinato correttamente o se
sei superiore a 5 per tentativi.
Avrai le condizioni per farlo convalidare anche ciò che hanno inserito.
Quindi avrai un file if dichiarazione per dire, ehi,
hai appena inserito un numero.
E se non è compreso tra 0 e 20 e potresti anche voler avere
un ciclo annidato per quel caso.
Perché vuoi continuare a chiedere loro di inserire un altro numero
fino a quando non inseriscono un numero valido, non il numero corretto che hai
indovinato, ma un numero valido.
Quindi ho potuto vedere per questo programmare un ciclo esterno.
Il ciclo esterno sarebbe il ciclo quello ha chiesto all'utente di inserire i numeri fino a quando non
ha indovinato con successo il numero corretto o fino a quando non hanno
superato il numero di tentativi.
Ho potuto vedere un loop interno dove chiede se il numero non è valido tra
0 e 20, continuano a chiedere l'utente per inserire un numero valido.
E poi posso vedere se le dichiarazioni a fondamentalmente controlla se
il numero è troppo basso, troppo alto o uguale.
Perché hai più uscite condizioni per il tuo ciclo
esterno, che tu abbia indovinato o meno correttamente o se i numeri sono
uguali o meno che può essere un bene caso per l'utilizzo di un'istruzione break.
Perché ricorda, usi l'istruzione break quando si hanno
più uscite.
E così potresti avere qualcosa all'interno del tuo anello esterno che
dice che se indovinano correttamente, salta fuori.
E poi la condizione nell'esterno loop stesso nel ciclo while o nel ciclo for
stesso, la condizione x sarebbe se il numero di tentativi
è maggiore di 5.
Quindi questo è un approccio progettuale.
Ho menzionato molte cose.
L'unica cosa rimasta, l'hai tutto a tua disposizione.
Se hai imparato tutto, io menti1d tranne questo generatore di numeri casuali.
Questa è nuova.
Sai come fare dichiarazioni if, sai come fare i
cicli, sai come dichiarare le variabili, sai tutte queste cose carine.
Sai come stampare l'output su il display, ma non sai come fare
un generatore di numeri casuali.
Quindi darò tu il codice per quello.
Devi generare un numero casuale.
Perché ogni volta che esegui il file programma, vuoi avere un
nuovo numero che possano indovinare.
Quindi per generare un numero casuale da 0 a 20, questi sono i
passaggi che devi seguire.
Per prima cosa devi includerne 2 aggiuntivi librerie, il file stdlib. h, ora. h.
Quindi vuoi aggiungere questi include direttive all'inizio del file.
Sdtlib. h ti permetterà di usare la funzione srand, che consente
di generare numeri casuali.
Tempo. h ti consente di fornire il file seme per il numero
casuale utilizzando l'ora, ottenendo l'ora corrente.
Quindi, quando includiamo file aggiuntivi librerie al di fuori del nostro programma, significa
solo che vogliamo eseguire alcune funzionalità aggiuntive.
Non abbiamo parlato di tutti i librerie standard fornite con
c, ma vengono fornite con 2 simpatiche quelli per ottenere l'ora corrente e anche
per generare un file casuale numero che useremo.
Quindi includiamo quelli per primi 2 direttive in alto.
Quindi creeremo un file variabile all'interno
della nostra funzione principale chiamata time_t, e tu posso semplicemente chiamarlo t, lo aggiungi.
Dopo aver aggiunto la variabile temporale, tu può inizializzare il generatore di
numeri casuali utilizzando la funzione srand.
Quindi quello che fai è dire srand.
Questo fornisce un seme a il generatore casuale, è solo
usato per inizializzarlo.
E qui devi solo copiare questa riga di code srand ((unsigned) e poi time e poi si passa una
e commerciale t.
Non devi nemmeno capire cosa fa questo codice,
basta copiarlo e incollarlo.
Ma sta generando un file random, sta inizializzando il
generatore di numeri casuali.
Dopo aver inizializzato un file generatore di numeri casuali,
devi generare il numero.
E tutto ciò che fai per generare il file
numero è che dici rand, chiami una funzione chiamata rand e tu dì% 21 che è un modulo perché
vuoi che sia compreso tra 0 e 21, usi 21 hard-coded.
Puoi memorizzare quel numero casuale in un numero intero, e questo è il
numero che confronterai contro per uscire dal ciclo, indipendentemente dal fatto
che abbiano indovinato correttamente.
Sarà anche il numero che confronti con uh per determinare se o
no si stampa troppo in basso o troppo in alto.
Quindi dovrebbe essere molto divertente.
Ancora una volta, molti concetti stai andando essere esposto a,
istruzioni if, costrutti di ciclo, break istruzione, cicli interni ed esterni, cicli
annidati, un sacco di cose carine.
Quindi buona fortuna, divertiti e fornirò una soluzione nella
prossima lezione. Grazie.