1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SPEAKER: اجازه دهید به پیاده سازی برنامه ای است که سپس از کاربر برای یک عدد صحیح 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، شامل استاندارد یو نقطه ساعت، بین المللی 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 >> پس من نوعی از حلقه می خواهید ساخت، اما یک حلقه که در اجرا 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 اجازه دهید در حال حاضر دریافت که هوشمند با استفاده از GetInt کتابخانه CS50 را 20 00:00:54,470 --> 00:00:59,110 تابع، ازت می شود GetInt. 21 00:00:59,110 --> 00:01:02,610 و در حال حاضر ما در حال انجام انجام کاری، اما ما در حال رفتن به می خواهید برای انجام این کار 22 00:01:02,610 --> 00:01:04,580 در حالی که نفر است - 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 اگر همه به خوبی، به لطف برای بین المللی مثبت، 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 لطفا یک int را مثبت می دهد. 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 من یک int. 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 من در خط 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 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 را به مورد نظر است در داخل حلقه انجام دهند در حالی که. 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