1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> Воведничар: Да се ​​спроведе програма што поттикнува на корисникот за цел број 3 00:00:03,230 --> 00:00:05,850 но продолжува поттикнувајќи ги за друг цел број до 4 00:00:05,850 --> 00:00:07,590 дека цел број е позитивен. 5 00:00:07,590 --> 00:00:16,760 Добро, ајде да се напише ова, вклучуваат cs50.h, вклучуваат стандардни io точка ж, int 6 00:00:16,760 --> 00:00:18,010 Главната [празнина]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Сега, ајде да почнуваат да го извести корисникот за оваа цел, а имајќи 9 00:00:23,200 --> 00:00:25,570 не заборавајте дека ние сакаме да reprompt нив се додека таа 10 00:00:25,570 --> 00:00:26,860 број е всушност позитивен. 11 00:00:26,860 --> 00:00:30,160 >> Па ќе сакате некој вид на looping изградба, но јамка кој извршува на 12 00:00:30,160 --> 00:00:31,200 барем еднаш. 13 00:00:31,200 --> 00:00:34,810 И се сеќавам на не-додека јамка овозможува нас да се направи токму тоа. 14 00:00:34,810 --> 00:00:36,140 Нека е кодот го ова. 15 00:00:36,140 --> 00:00:39,210 >> Ајде прво да се изјаснам како int - Ќе го нарекуваат N - во кои за чување на 16 00:00:39,210 --> 00:00:41,030 број на корисникот. 17 00:00:41,030 --> 00:00:44,250 Ајде сега го направите следново. 18 00:00:44,250 --> 00:00:51,292 Printf, молам дај ми позитивен цел број. 19 00:00:51,292 --> 00:00:54,470 Ајде сега се добие дека int користење GetInt на библиотеката CS50 20 00:00:54,470 --> 00:00:59,110 функција, n добива GetInt. 21 00:00:59,110 --> 00:01:02,610 И сега ние сме направиле нешто, но ние ќе сакате да го направите ова 22 00:01:02,610 --> 00:01:04,580 време n е - 23 00:01:04,580 --> 00:01:05,480 што? - 24 00:01:05,480 --> 00:01:09,370 помалку од 1, ако ние навистина сакате позитивен цел број. 25 00:01:09,370 --> 00:01:11,670 >> Ајде да одиме напред, сега и испечатите. 26 00:01:11,670 --> 00:01:17,590 Ако се е во ред, благодарение за позитивниот int, 27 00:01:17,590 --> 00:01:19,360 запирка, ја зачувам датотеката. 28 00:01:19,360 --> 00:01:21,480 Ајде сега компајлирајте и извршете. 29 00:01:21,480 --> 00:01:25,550 >> Направи позитивна точка црта позитивни. 30 00:01:25,550 --> 00:01:27,470 И сега јас сум се предизвика за позитивен цел број. 31 00:01:27,470 --> 00:01:29,630 Дозволете ми да соработуваат со 1. 32 00:01:29,630 --> 00:01:31,330 Ви благодариме за позитивен цел број. 33 00:01:31,330 --> 00:01:33,650 >> Ајде сега повторување на оваа програма и не соработуваат. 34 00:01:33,650 --> 00:01:35,260 Ве молам да ми даде позитивен цел број. 35 00:01:35,260 --> 00:01:37,300 Како за негативни 1? 36 00:01:37,300 --> 00:01:37,910 Интересно. 37 00:01:37,910 --> 00:01:40,460 На програмата е веќе reprompted ме за Инт. 38 00:01:40,460 --> 00:01:43,170 >> Да бидеме малку повеќе тешко со 0. 39 00:01:43,170 --> 00:01:46,310 Уште не е позитивен цел број, па ајде соработуваат и овој пат 40 00:01:46,310 --> 00:01:48,280 обезбеди, повторно, 1. 41 00:01:48,280 --> 00:01:49,990 Ви благодариме за позитивен цел број. 42 00:01:49,990 --> 00:01:54,300 >> Сега е важно да се напомене дека прогласи мојата променлива n on-line 6, 43 00:01:54,300 --> 00:01:56,510 надвор од не-додека јамка. 44 00:01:56,510 --> 00:02:01,030 Ако јас наместо прогласена N внатрешноста на мојата не-додека јамка, посебно на, да речеме, 45 00:02:01,030 --> 00:02:06,230 линија 10, каде што, исто така, го добиете int од на корисникот, што int n ќе имаат само 46 00:02:06,230 --> 00:02:09,904 постоеле во рамките на границите на кадрава загради кои се моментално на 47 00:02:09,904 --> 00:02:12,320 линија 8 и на линија 11. 48 00:02:12,320 --> 00:02:16,570 >> Со други зборови, N ќе биде scoped да внатрешноста на кој не-додека јамка. 49 00:02:16,570 --> 00:02:20,390 Но, проблемот е во тоа што ние, исто така, сакате да го користите n во линија 12 50 00:02:20,390 --> 00:02:21,900 внатрешноста на состојба. 51 00:02:21,900 --> 00:02:26,120 Па дури иако тоа не изгледа така убава, тоа е многу намерно кои 52 00:02:26,120 --> 00:02:28,210 n е прогласена надвор ова не-додека јамка. 53 00:02:28,210 --> 00:02:29,838