1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> ENCEINTE: Implémentons un programme qui demande à l'utilisateur un nombre entier 3 00:00:03,230 --> 00:00:05,850 mais continue les incitant pour un autre nombre entier jusqu'à ce que 4 00:00:05,850 --> 00:00:07,590 cet entier est positif. 5 00:00:07,590 --> 00:00:16,760 Eh bien, nous allons écrire cela, inclure cs50.h, inclure norme io point h, int 6 00:00:16,760 --> 00:00:18,010 principal [vide]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Maintenant, nous allons réellement commencer à demander à l' utilisateur pour cet entier tout en gardant à 9 00:00:23,200 --> 00:00:25,570 l'esprit que nous voulons nouvelle invite jusqu'à ce que 10 00:00:25,570 --> 00:00:26,860 nombre est en fait positif. 11 00:00:26,860 --> 00:00:30,160 >> Alors je vais veux une sorte de boucle construire, mais une boucle qui s'exécute 12 00:00:30,160 --> 00:00:31,200 moins une fois. 13 00:00:31,200 --> 00:00:34,810 Et de rappeler la boucle do-while permet nous à faire exactement cela. 14 00:00:34,810 --> 00:00:36,140 Disons coder cela. 15 00:00:36,140 --> 00:00:39,210 >> Voyons d'abord déclarer un int - nous allons appeler n - dans lequel stocker l' 16 00:00:39,210 --> 00:00:41,030 Le nombre entier de l'utilisateur. 17 00:00:41,030 --> 00:00:44,250 Faisons maintenant le suivant. 18 00:00:44,250 --> 00:00:51,292 Printf, donnez-moi s'il vous plaît un int positif. 19 00:00:51,292 --> 00:00:54,470 Passons maintenant que int aide GetInt de la bibliothèque CS50 20 00:00:54,470 --> 00:00:59,110 fonction, n obtient GetInt. 21 00:00:59,110 --> 00:01:02,610 Et maintenant, nous avons fini de faire quelque chose, mais nous allons avoir à faire ce 22 00:01:02,610 --> 00:01:04,580 tout n est - 23 00:01:04,580 --> 00:01:05,480 quoi? - 24 00:01:05,480 --> 00:01:09,370 inférieur à 1, si l'on en fait veulent un entier positif. 25 00:01:09,370 --> 00:01:11,670 >> Allons de l'avant maintenant et à imprimer. 26 00:01:11,670 --> 00:01:17,590 Si tout va bien, merci pour l'int positif, 27 00:01:17,590 --> 00:01:19,360 virgule, enregistrez le fichier. 28 00:01:19,360 --> 00:01:21,480 Compilons maintenant et exploités. 29 00:01:21,480 --> 00:01:25,550 >> Assurez-slash point positif positif. 30 00:01:25,550 --> 00:01:27,470 Et maintenant, je suis ici invité pour un int positif. 31 00:01:27,470 --> 00:01:29,630 Permettez-moi coopéré avec 1. 32 00:01:29,630 --> 00:01:31,330 Merci pour l'int positif. 33 00:01:31,330 --> 00:01:33,650 >> Voyons maintenant réexécutez ce programme et ne pas coopérer. 34 00:01:33,650 --> 00:01:35,260 S'il vous plaît me donner un int positif. 35 00:01:35,260 --> 00:01:37,300 Que diriez-vous négatif 1? 36 00:01:37,300 --> 00:01:37,910 Intéressant. 37 00:01:37,910 --> 00:01:40,460 Le programme est déjà reprompted moi pour un int. 38 00:01:40,460 --> 00:01:43,170 >> Soyons un peu plus difficile avec 0. 39 00:01:43,170 --> 00:01:46,310 Toujours pas un int positif, nous allons donc coopérer et cette fois 40 00:01:46,310 --> 00:01:48,280 fournir, à nouveau, 1. 41 00:01:48,280 --> 00:01:49,990 Merci pour l'int positif. 42 00:01:49,990 --> 00:01:54,300 >> Maintenant, il est important de noter que je déclaré ma variable n à la ligne 6, 43 00:01:54,300 --> 00:01:56,510 à l'extérieur de la boucle do-while. 44 00:01:56,510 --> 00:02:01,030 J'avais plutôt déclaré n 'intérieur de mon faire-while, en particulier, disons, 45 00:02:01,030 --> 00:02:06,230 ligne 10, où je reçois aussi l'int de l'utilisateur, qui int n aurait seulement 46 00:02:06,230 --> 00:02:09,904 existe dans les limites de la bouclé croisillons qui sont actuellement sur 47 00:02:09,904 --> 00:02:12,320 ligne 8 et la ligne 11. 48 00:02:12,320 --> 00:02:16,570 >> En d'autres termes, n serait limitée au domaine l'intérieur de cette boucle do-while. 49 00:02:16,570 --> 00:02:20,390 Mais le problème est que nous avons aussi vouloir utiliser n de la ligne 12 50 00:02:20,390 --> 00:02:21,900 à l'intérieur de la condition. 51 00:02:21,900 --> 00:02:26,120 Ainsi, même si elle ne semble pas si joli, c'est très délibérée 52 00:02:26,120 --> 00:02:28,210 n est déclarée en dehors cette boucle do-while. 53 00:02:28,210 --> 00:02:29,838