1 00:00:00,000 --> 00:00:00,285 2 00:00:00,285 --> 00:00:03,030 >> DAVID J. Malan: Comencem per escrit algunes condicions més complexes. 3 00:00:03,030 --> 00:00:06,530 En particular, anem a escriure un programa que demana a l'usuari un nombre enter, 4 00:00:06,530 --> 00:00:09,460 dir, entre 1 i 10, i després fa una mica d'anàlisi. 5 00:00:09,460 --> 00:00:14,530 Però la presentació d'informes en aquesta ocasió sí que nombre és petit o mitjà o gran en 6 00:00:14,530 --> 00:00:17,480 mida, el dibuix aquestes distincions bastant arbitrària. 7 00:00:17,480 --> 00:00:21,040 >> Per a això, vaig a confiar en get int, que la funció de la CS50 8 00:00:21,040 --> 00:00:22,860 biblioteca que fa exactament això. 9 00:00:22,860 --> 00:00:24,350 I jo també vaig a print f palanquejament. 10 00:00:24,350 --> 00:00:28,530 Així que vaig a començar mitjançant la inclusió de cs50.h com 11 00:00:28,530 --> 00:00:31,880 així io.h. de sèrie 12 00:00:31,880 --> 00:00:36,460 >> I després anar a declarar en el principal forma habitual, void main int, arrissat oberta 13 00:00:36,460 --> 00:00:38,440 cotilla, prop claudàtor. 14 00:00:38,440 --> 00:00:41,240 I estic passant després a un ràpid l'usuari d'un sencer. 15 00:00:41,240 --> 00:00:48,340 Imprimir f, si us plau, dóna'm un int entre 1 i 10. 16 00:00:48,340 --> 00:00:52,640 >> Ara anem a arribar que int declarant un variable de trucada, per exemple, n i l'assignació de 17 00:00:52,640 --> 00:00:55,520 que el valor retornat per get int. 18 00:00:55,520 --> 00:00:57,300 Ara farem una mica d'anàlisi. 19 00:00:57,300 --> 00:01:04,500 >> Si n és més gran que o igual a 0 i n és menor que o igual a, per exemple, 3, 20 00:01:04,500 --> 00:01:12,560 a continuació, seguirem endavant i d'impressió fos vostè va escollir una petita int. 21 00:01:12,560 --> 00:01:15,730 >> Si no, si l'usuari tria, per exemple, un valor de mida mitjana, anem a 22 00:01:15,730 --> 00:01:16,960 comprovar que la següent. 23 00:01:16,960 --> 00:01:23,360 Perquè si n és més gran que o igual a, per exemple, 4 i n és menor que o igual a, 24 00:01:23,360 --> 00:01:31,850 diguem, 7, i després em vaig a imprimir fos vostè va escollir un mitjà int. 25 00:01:31,850 --> 00:01:36,490 >> Finalment, vaig a assumir que si el valor està comprès entre 8 i 10, es 26 00:01:36,490 --> 00:01:37,550 triat un gran int. 27 00:01:37,550 --> 00:01:44,140 Així que per expressar això, vaig escric, else if n és més gran que o igual a 8 i n 28 00:01:44,140 --> 00:01:53,590 és inferior o igual a 10, endavant i imprimir vostè escollir una gran int. 29 00:01:53,590 --> 00:01:55,720 >> Si no, hi ha una quarta condició aquí. 30 00:01:55,720 --> 00:01:59,520 Si l'usuari no cooperar i lloc teclejat un valor és menor que 31 00:01:59,520 --> 00:02:04,430 0 o més gran que 10, vull simplement els reprendre. 32 00:02:04,430 --> 00:02:12,490 Else imprimir, que va triar 01:00 int vàlid. 33 00:02:12,490 --> 00:02:13,950 >> Anem a desar el fitxer. 34 00:02:13,950 --> 00:02:17,580 Compilar amb fer sense interruptor. 35 00:02:17,580 --> 00:02:21,650 De tornada al meu ràpida, em vaig a córrer amb punt slash no switch. 36 00:02:21,650 --> 00:02:23,320 I anem a tractar alguns valors. 37 00:02:23,320 --> 00:02:26,110 >> En primer lloc, anem a ser poc cooperatiu i escrigui en negatiu gener. 38 00:02:26,110 --> 00:02:30,970 Afortunadament, que es va detectar pel nostre branca final a aquesta condició. 39 00:02:30,970 --> 00:02:36,530 Intentarem de nou amb slash dot no canvia, aquest cop fent 1. 40 00:02:36,530 --> 00:02:37,900 Jo a la veritat vaig prendre un petit int. 41 00:02:37,900 --> 00:02:43,250 >> Anem a fer-ho de nou amb slash dot no canvia, aquest cop recollint, per exemple, 5. 42 00:02:43,250 --> 00:02:44,590 I això és un mitjà int. 43 00:02:44,590 --> 00:02:48,200 Vegem ara què dot nou slash no switch. 44 00:02:48,200 --> 00:02:52,650 I li donen un valor de 10, que és de fet un gran int. 45 00:02:52,650 --> 00:02:55,310 >> Ara val la pena assenyalar que aquest programa podria haver estat implementat en 46 00:02:55,310 --> 00:02:56,840 qualsevol nombre de maneres. 47 00:02:56,840 --> 00:03:00,160 En primer lloc, era completament arbitrària que vaig dibuixar les línies que 48 00:03:00,160 --> 00:03:03,290 fer entre petit, mitjà, i grans ints. 49 00:03:03,290 --> 00:03:05,230 Podríem haver dibuixat els límits en qualsevol lloc. 50 00:03:05,230 --> 00:03:08,930 >> Però el més interessant és que no vaig tenir per expressar-me amb tots aquests 51 00:03:08,930 --> 00:03:13,440 més gran que o igual a o menys que o igual a signes. 52 00:03:13,440 --> 00:03:18,880 Podria haver-hi, per exemple, reescrit si n és més gran que o igual a 4 i 53 00:03:18,880 --> 00:03:24,760 n és menor o igual a 7, ja que en lloc si n és més gran que 3 i N 54 00:03:24,760 --> 00:03:29,130 és inferior a 8, després imprimir que va triar un mitjà int. 55 00:03:29,130 --> 00:03:33,360 >> Després de tot, si l'entrada de l'usuari, per naturalesa de get int, és un nombre enter, es 56 00:03:33,360 --> 00:03:37,580 Pot examen si aquest valor és més gran de 3 o més o 57 00:03:37,580 --> 00:03:38,740 igual a 4. 58 00:03:38,740 --> 00:03:43,130 I també podríem comprovar si aquest valor de menys de 8 o menys 59 00:03:43,130 --> 00:03:44,590 que o igual a 7. 60 00:03:44,590 --> 00:03:45,860