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ドットH、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 私たちが求めるプロンプトを表示したいということを覚え それらそれまでの 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 およびDO-whil​​eループが可能にリコール 私たちは、まさにそれをすることができません。 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 CS50ライブラリのGetIntで 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 そして今、私は、プロンプトが表示されています 正int型のため。 31 00:01:27,470 --> 00:01:29,630 私は1に協力しましょう​​。 32 00:01:29,630 --> 00:01:31,330 正のintをありがとう。 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 プログラムは、すでに再入力を求められ 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 正のintをありがとう。 42 00:01:49,990 --> 00:01:54,300 >> 今では、その私に注意することが重要です 、6行目で私の変数nを宣言した 43 00:01:54,300 --> 00:01:56,510 DO-whil​​eループの外。 44 00:01:56,510 --> 00:02:01,030 私の代わりに私の中のn宣言していた 日曜whileループを、特に上に、たとえば、 45 00:02:01,030 --> 00:02:06,230 私もからINTを取得し、ライン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にスコープされます そのDO-whil​​eループの内側。 49 00:02:16,570 --> 00:02:20,390 しかし、問題は、私たちもということです 12行目ではNを使用したい 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が外で宣言されている このDO-whil​​eループ。 53 00:02:28,210 --> 00:02:29,838