1 00:00:00,000 --> 00:00:00,285 2 00:00:00,285 --> 00:00:03,030 >> DAVID J. MALAN: Låt oss börja skriva lite mer komplicerade förhållanden. 3 00:00:03,030 --> 00:00:06,530 Framför allt, låt oss skriva ett program som frågar användaren efter ett heltal, 4 00:00:06,530 --> 00:00:09,460 säga mellan 1 och 10, och sedan gör lite av analys. 5 00:00:09,460 --> 00:00:14,530 Men denna gång rapporterar om att nummer är små eller medelstora eller stora i 6 00:00:14,530 --> 00:00:17,480 storlek, dra dessa distinktioner ganska godtyckligt. 7 00:00:17,480 --> 00:00:21,040 >> För att göra detta, kommer jag att lita på get int, som fungerar från CS50 8 00:00:21,040 --> 00:00:22,860 bibliotek som gör exakt det. 9 00:00:22,860 --> 00:00:24,350 Och jag kommer också att hävstångsutskrifts f. 10 00:00:24,350 --> 00:00:28,530 Så jag kommer att komma igång genom att ta cs50.h som 11 00:00:28,530 --> 00:00:31,880 liksom standard io.h. 12 00:00:31,880 --> 00:00:36,460 >> Och ska sedan förklara huvud i vanligt sätt, int main tomrum, öppen lockigt 13 00:00:36,460 --> 00:00:38,440 stag, nära klammer. 14 00:00:38,440 --> 00:00:41,240 Och jag då kommer att uppmana användaren för ett heltal. 15 00:00:41,240 --> 00:00:48,340 Utskrifts f, ge mig en int mellan 1 och 10. 16 00:00:48,340 --> 00:00:52,640 >> Låt oss nu få det int genom att förklara en variabel som heter, säg, n och tilldela 17 00:00:52,640 --> 00:00:55,520 det returvärdet av få int. 18 00:00:55,520 --> 00:00:57,300 Låt oss nu göra lite analys. 19 00:00:57,300 --> 00:01:04,500 >> Om n är större än eller lika med 0 och n är mindre än eller lika med, säg, 3, 20 00:01:04,500 --> 00:01:12,560 då vi kommer att gå vidare och skriva ut ut att du valde en liten int. 21 00:01:12,560 --> 00:01:15,730 >> Annars, om användaren plockar, säg, en medelstor värde, låt oss 22 00:01:15,730 --> 00:01:16,960 kontrollera om det som följer. 23 00:01:16,960 --> 00:01:23,360 Annars om n är större än eller lika med säg, fyra och n är mindre än eller lika med 24 00:01:23,360 --> 00:01:31,850 säg, 7, då jag kommer att skriva ut ut att du valde ett medium int. 25 00:01:31,850 --> 00:01:36,490 >> Slutligen kommer jag att anta att om värdet är mellan 8 och 10, de 26 00:01:36,490 --> 00:01:37,550 plockade en stor int. 27 00:01:37,550 --> 00:01:44,140 Så för att uttrycka det, jag skriver, annars om n är större än eller lika med 8 och n 28 00:01:44,140 --> 00:01:53,590 är mindre än eller lika med 10, gå vidare och skriva ut att du valde en stor int. 29 00:01:53,590 --> 00:01:55,720 >> Annars finns det en fjärde villkor här. 30 00:01:55,720 --> 00:01:59,520 Om användaren inte samarbetade och istället skrivit ett värde som är mindre än 31 00:01:59,520 --> 00:02:04,430 0 eller större än 10, vill jag att helt enkelt tillrätta dem. 32 00:02:04,430 --> 00:02:12,490 Else skriva ut, valde du en ogiltig int. 33 00:02:12,490 --> 00:02:13,950 >> Låt oss spara filen. 34 00:02:13,950 --> 00:02:17,580 Kompilera den med göra icke-switch. 35 00:02:17,580 --> 00:02:21,650 Tillbaka på min prompt, kommer jag att köra det med dot slash icke-switch. 36 00:02:21,650 --> 00:02:23,320 Och låt oss försöka få värden. 37 00:02:23,320 --> 00:02:26,110 >> Först, låt oss vara samarbetsvillig och skriver i negativ 1. 38 00:02:26,110 --> 00:02:30,970 Lyckligtvis, som upptäcktes av vår sista gren i detta skick. 39 00:02:30,970 --> 00:02:36,530 Låt oss försöka igen med dot snedstreck icke-switch, denna gång ger det 1. 40 00:02:36,530 --> 00:02:37,900 Jag verkligen plockade en liten int. 41 00:02:37,900 --> 00:02:43,250 >> Låt oss göra det igen med dot snedstreck icke-switch, denna gång plocka, säg, 5. 42 00:02:43,250 --> 00:02:44,590 Och det är ett medium int. 43 00:02:44,590 --> 00:02:48,200 Vi gör nu igen dot slash icke-switch. 44 00:02:48,200 --> 00:02:52,650 Och ge den ett värde på 10, vilket är verkligen ett stort int. 45 00:02:52,650 --> 00:02:55,310 >> Nu är det värt att notera att detta program kunde ha genomförts i 46 00:02:55,310 --> 00:02:56,840 ett antal olika sätt. 47 00:02:56,840 --> 00:03:00,160 Först och främst var det helt godtyckligt att jag ritade linjerna som jag 48 00:03:00,160 --> 00:03:03,290 gjorde bland små, medelstora, och stora ints. 49 00:03:03,290 --> 00:03:05,230 Vi kunde ha dragit de gränser någonstans. 50 00:03:05,230 --> 00:03:08,930 >> Men mer intressant, hade jag inte för att uttrycka mig med alla dessa 51 00:03:08,930 --> 00:03:13,440 större än eller lika med eller mindre än eller lika med tecken. 52 00:03:13,440 --> 00:03:18,880 Jag kunde ha till exempel skrivas om n är större än eller lika med 4 och 53 00:03:18,880 --> 00:03:24,760 n är mindre än eller lika med 7, eftersom i stället om n är större än 3 och n 54 00:03:24,760 --> 00:03:29,130 är mindre än 8, sedan skriva ut du valde ett medium int. 55 00:03:29,130 --> 00:03:33,360 >> Trots allt, om användarens inmatning, genom natur få int, är ett heltal, vi 56 00:03:33,360 --> 00:03:37,580 kan antingen testa om det värdet är större än 3 eller större än eller 57 00:03:37,580 --> 00:03:38,740 lika med 4. 58 00:03:38,740 --> 00:03:43,130 Och vi kan också kontrollera om det värde mindre än 8 eller mindre 59 00:03:43,130 --> 00:03:44,590 än eller lika med 7. 60 00:03:44,590 --> 00:03:45,860