1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:03,440 >> ΟΜΙΛΗΤΗΣ 1: Η τελευταία φορά που αναλύθηκαν ακέραιοι, υπενθυμίζουν ότι χρησιμοποιήσαμε κάποια 3 00:00:03,440 --> 00:00:07,810 Boolean εκφράσεις για να ελέγξετε αν ένας χρήστης του εισόδου n ήταν μεταξύ των αριθμών 4 00:00:07,810 --> 00:00:11,580 σαν 0 και 3, 4 και 7, και 8 και 10. 5 00:00:11,580 --> 00:00:14,990 Λοιπόν, κάναμε ότι η χρήση, αν και αλλιώς αν είναι, αλλά αποδεικνύεται μπορείτε 6 00:00:14,990 --> 00:00:17,990 εφαρμόσει την ίδια λογική, χρησιμοποιώντας ένα διαφορετική δομή προγραμματισμού 7 00:00:17,990 --> 00:00:21,400 συνολικά, ενώ εξακολουθεί να επιτυγχάνεται ακριβώς το ίδιο αποτέλεσμα. 8 00:00:21,400 --> 00:00:25,000 Στην πραγματικότητα, μπορούμε να εισαγάγει κάτι ονομάζεται ένα διακόπτη που μας επιτρέπει να 9 00:00:25,000 --> 00:00:28,660 αλλάξετε τη συμπεριφορά μας, ανάλογα με η αξία κάποιων μεταβλητών. 10 00:00:28,660 --> 00:00:29,840 >> Ας δώσει σε αυτό μια δοκιμή. 11 00:00:29,840 --> 00:00:35,730 Για να το κάνετε αυτό, είμαι πρώτα πρόκειται να συμπεριλάβει η βιβλιοθήκη CS50 μέσω cs50.h. 12 00:00:35,730 --> 00:00:39,960 Είμαι, επίσης, πρόκειται να συμπεριλάβει το πρότυπο βιβλιοθήκη μέσω του προτύπου I / O.h. 13 00:00:39,960 --> 00:00:44,540 Και Πάω να κηρύξει το ο συνήθης τρόπος, int main κενό. 14 00:00:44,540 --> 00:00:45,650 Ανοίξτε άγκιστρο. 15 00:00:45,650 --> 00:00:47,100 Κλείστε άγκιστρο. 16 00:00:47,100 --> 00:00:49,720 Και τώρα θα πάω να ρωτήσω τον χρήστη για έναν ακέραιο. 17 00:00:49,720 --> 00:00:56,990 >> Printf, να μου δώσει ένα int μεταξύ 1 και 10. 18 00:00:56,990 --> 00:00:59,310 Και τώρα είμαι πρόκειται να πάρει ότι int χρησιμοποιώντας το CS50 19 00:00:59,310 --> 00:01:01,590 βιβλιοθήκες πρέπει να λειτουργούν, GetInt. 20 00:01:01,590 --> 00:01:06,140 Int, ας το ονομάσουμε n, ισούται GetInt. 21 00:01:06,140 --> 00:01:08,500 Και τώρα πάω να κάνω ένα κομμάτι της ανάλυσης σε αυτό το ακέραιο. 22 00:01:08,500 --> 00:01:13,120 Κάπως αυθαίρετα, αλλά με αυτό νέο κατασκεύασμα είναι γνωστή ως διακόπτης. 23 00:01:13,120 --> 00:01:16,530 Ενεργοποιήστε την τιμή του n ως εξής. 24 00:01:16,530 --> 00:01:23,240 >> Στην περίπτωση που ισούται Ν 1, ή στο περίπτωση που το η ισούται με 2, ή, στην περίπτωση 25 00:01:23,240 --> 00:01:28,150 ότι n ισούται με 3, να προχωρήσει και να εκτελέσει αυτήν τη γραμμή κώδικα. 26 00:01:28,150 --> 00:01:34,480 Printf έχετε πάρει ένα μικρό int, διάλειμμα. 27 00:01:34,480 --> 00:01:37,610 Τώρα, θα πρέπει να εφαρμόσει το ισοδύναμο ενός ELT απλά με 28 00:01:37,610 --> 00:01:40,990 απαριθμώντας κάποιες πρόσθετες περιπτώσεις. 29 00:01:40,990 --> 00:01:47,180 >> Στην περίπτωση που ισούται Ν 4, ή στο περίπτωση που το η είναι ίσο με 5, ή, στην περίπτωση 30 00:01:47,180 --> 00:01:53,830 ότι το Ν είναι ίσο με 6, ή στην περίπτωση που η ισούται με 7, να προχωρήσει και να εκτυπώσετε σας 31 00:01:53,830 --> 00:01:58,000 διάλεξε ένα μέσο Int. 32 00:01:58,000 --> 00:01:59,490 Διάλειμμα. 33 00:01:59,490 --> 00:02:02,300 Τώρα, στην περίπτωση που διάλεξε ο χρήστης ένας μεγάλος αριθμός, ας 34 00:02:02,300 --> 00:02:04,940 ανιχνεύσει ότι ως ακολούθως. 35 00:02:04,940 --> 00:02:08,900 >> Στην περίπτωση που ο χρήστης πήρε οκτώ ή στην περίπτωση που ο χρήστης επιλέξει 36 00:02:08,900 --> 00:02:14,110 εννέα, ή στην περίπτωση που ο χρήστης επιλέξει 10, να προχωρήσει και να εκτυπώσετε σας 37 00:02:14,110 --> 00:02:17,830 πήρε ένα μεγάλο Int. 38 00:02:17,830 --> 00:02:19,180 Διάλειμμα. 39 00:02:19,180 --> 00:02:23,970 ELT, εάν ένας χρήστης δεν επιλέξει έναν αριθμό που εμπίπτει σε κάποια από αυτές τις 10 περιπτώσεις, 40 00:02:23,970 --> 00:02:25,520 ας έχουν κάποια προεπιλεγμένη συμπεριφορά. 41 00:02:25,520 --> 00:02:27,870 Η οποία σε αυτή την περίπτωση θα είναι ως εξής. 42 00:02:27,870 --> 00:02:32,860 >> Default, Printf, διάλεξες μια μη έγκυρη Int. 43 00:02:32,860 --> 00:02:36,100 44 00:02:36,100 --> 00:02:38,220 Διάλειμμα. 45 00:02:38,220 --> 00:02:42,870 Τώρα, αν μπορώ να αποθηκεύσετε αυτή τη μεταγλώττιση του αρχείου αυτό με κάνει αλλαγή. 46 00:02:42,870 --> 00:02:44,870 Τρέξτε με διακόπτη κάθετο.. 47 00:02:44,870 --> 00:02:46,770 Ας κάνουμε ένα ζευγάρι των ελέγχων λογική. 48 00:02:46,770 --> 00:02:48,440 Θα επιλέξω μια Int 1. 49 00:02:48,440 --> 00:02:50,110 Και ID πήρε ένα μικρό int. 50 00:02:50,110 --> 00:02:52,240 >> Ας κάνουμε τώρα. Κάθετο διακόπτη. 51 00:02:52,240 --> 00:02:54,514 Και πληκτρολογήστε ας πούμε, αρνητική 1. 52 00:02:54,514 --> 00:02:56,900 Και ID πήρε μια άκυρη int. 53 00:02:56,900 --> 00:02:59,560 Στο τέλος της ημέρας, ο διακόπτης κατασκευή δεν σας επιτρέπουν να κάνετε 54 00:02:59,560 --> 00:03:03,320 κάτι που δεν θα μπορούσε να έχει ήδη κάνει με την πιο οικεία, αν, αλλιώς αν, 55 00:03:03,320 --> 00:03:04,530 άλλο κατασκευάσει. 56 00:03:04,530 --> 00:03:07,470 Αλλά εάν έχετε ένα ολοκληρωμένο κατάλογο των τιμών ότι έχετε τον έλεγχο για ένα 57 00:03:07,470 --> 00:03:09,820 δήλωση switch μπορεί να είναι πολύ καλά κάνετε τον κωδικό σας πιο 58 00:03:09,820 --> 00:03:11,310 ρητή ή πιο ευανάγνωστο. 59 00:03:11,310 --> 00:03:12,910