1 00:00:00,000 --> 00:00:02,360 >> Дэвід Дж. Малан: Як вы, напэўна, ведаеце, тэмпература вымяраецца з дапамогай 2 00:00:02,360 --> 00:00:04,360 розныя маштабы ў розныя частках свету. 3 00:00:04,360 --> 00:00:09,370 Напрыклад, 212 градусаў па Фарэнгейце з'яўляецца 100 градусаў па Цэльсіі і 32 градусаў 4 00:00:09,370 --> 00:00:11,810 Фарэнгейце 0 градусаў Цэльсія. 5 00:00:11,810 --> 00:00:14,230 Не было б нядрэнна, калі б у нас быў кампутар праграма, якая дазволіла нам 6 00:00:14,230 --> 00:00:16,950 пераўтварыць, скажам, па Фарэнгейце у градусы Цэльсія? 7 00:00:16,950 --> 00:00:18,510 >> Ну, мы можам напісаць гэтую праграму. 8 00:00:18,510 --> 00:00:24,350 Давайце спачатку пачнём з ўключаюць cs50.h, так што мы можам выкарыстоўваць функцыю з імем 9 00:00:24,350 --> 00:00:28,610 атрымаць паплавок, які, як і кароткатэрміновы Int, атрымлівае лік ад карыстальніка, але на гэты раз 10 00:00:28,610 --> 00:00:31,440 лік з якая плавае кропкай - адзін з коскі. 11 00:00:31,440 --> 00:00:34,840 >> Давайце таксама ўключаюць у сябе стандартныя io.h так што мы маем доступ да 12 00:00:34,840 --> 00:00:36,230 функцыі, такія як друк ф. 13 00:00:36,230 --> 00:00:40,000 І давайце таксама абвясціць галоўным звычайным спосабам. 14 00:00:40,000 --> 00:00:42,675 >> Давайце наступны запытваць у карыстальніка тэмпература ў градусах Фарэнгейта. 15 00:00:42,675 --> 00:00:46,050 16 00:00:46,050 --> 00:00:49,220 Давайце цяпер на самай справе атрымаць, што тэмпература ад карыстальніка, спачатку 17 00:00:49,220 --> 00:00:52,910 абвясціўшы зменную е тыпу паплаўка. 18 00:00:52,910 --> 00:00:56,750 Паплавок, зноў жа, гэта азначае, зменную, якая захоўвае значэнне з якая плавае коскі, 19 00:00:56,750 --> 00:00:58,200 адзін з коскі. 20 00:00:58,200 --> 00:01:01,780 >> Давайце прысвоіць яму вяртанне кошт кароткатэрміновага паплаўка. 21 00:01:01,780 --> 00:01:06,080 А потым давайце зробім трохі арыфметыкі на ім, у першую абвясціўшы іншы паплавок 22 00:01:06,080 --> 00:01:11,690 называецца C для Цэльсіі і захоўваць у C вынікам некаторай агульнай арыфметыкі. 23 00:01:11,690 --> 00:01:19,060 5.0 падзеленае на 9.0 разы F мінус 32,0. 24 00:01:19,060 --> 00:01:23,440 >> Давайце зараз раздрукаваць вынік з гэтага вылічэнні. 25 00:01:23,440 --> 00:01:24,730 адсоткаў е - 26 00:01:24,730 --> 00:01:27,890 якое азначае запаўняльнік для значэнне з якая плавае кропкай - 27 00:01:27,890 --> 00:01:31,680 коска C раздрукаваць тэмпература ў градусах Цэльсія. 28 00:01:31,680 --> 00:01:33,000 Давайце выратаваць маю фінал. 29 00:01:33,000 --> 00:01:38,220 Кампіляцыя з F на C. Запусціце праграму з кропкавай слэш F ў C. 30 00:01:38,220 --> 00:01:39,940 >> І давайце паспрабуем тыя агульныя тэмпература. 31 00:01:39,940 --> 00:01:45,820 212 градусаў па шкале Фарэнгейта 100 градусаў па Цэльсіі. 32 00:01:45,820 --> 00:01:50,090 32 градуса па шкале Фарэнгейта з'яўляецца 0 градусаў па шкале Цэльсія. 33 00:01:50,090 --> 00:01:54,240 >> Зараз давайце ўдакладніць гэтую праграму трохі трохі, ня друк даволі столькі 0-х 34 00:01:54,240 --> 00:01:55,820 пасля гэтага знака пасля коскі. 35 00:01:55,820 --> 00:01:57,940 Каб зрабіць гэта, я збіраюся вярнуцца да лініі 11. 36 00:01:57,940 --> 00:02:03,430 І замест таго, проста пакажыце працэнтнае е, Я збіраюся замест пазначыць, скажам, 37 00:02:03,430 --> 00:02:08,800 0,1 у, інфармаванне друку е, што толькі я хочаце надрукаваць значэнне з якая плавае коскі 38 00:02:08,800 --> 00:02:11,750 аднаму значэнні пасля коскі. 39 00:02:11,750 --> 00:02:13,630 >> Давайце захаваеце маю праграму. 40 00:02:13,630 --> 00:02:19,680 Перекомпилируйте яго з макіяжам F ў C. Тады паўторна яго кропка слэш F да С. І 41 00:02:19,680 --> 00:02:24,910 давайце паўтарыць, скажам, 212, што дае мне 100,0. 42 00:02:24,910 --> 00:02:28,360 >> Цяпер варта заўважыць, што я зрабіў нешта вельмі свядома ў радку 9. 43 00:02:28,360 --> 00:02:35,830 Звярніце ўвагу, як я напісаў 5 складае 5,0, 9 як 9,0, і нават 32, як 32,0. 44 00:02:35,830 --> 00:02:39,000 Ну, першыя два з гэтых каштоўнасцяў былі цалкам свядома абраны, каб быць 45 00:02:39,000 --> 00:02:42,200 значэння з якая плавае кропкай, а не толькі таму, што ўзгодненасці з астатнімі 46 00:02:42,200 --> 00:02:42,940 маёй праграмы - 47 00:02:42,940 --> 00:02:45,110 у якім выразна прадугледжвае плавае кропкавыя значэння - 48 00:02:45,110 --> 00:02:50,210 а таму, што атрымліваецца, што C, калі вы падзяліць Int іншым Int, 49 00:02:50,210 --> 00:02:54,350 у выніку адказ вы збіраецеся атрымаць гэта Сам унутр, нават калі гэта азначае 50 00:02:54,350 --> 00:02:57,450 таго, каб выкінуць усе пасля коскі. 51 00:02:57,450 --> 00:03:04,990 >> Іншымі словамі, калі я змяню гэты 5,0 да 5 ці гэта ад 9,0 да 9, а затым захавайце 52 00:03:04,990 --> 00:03:10,550 мая праграма, перакампіляваць з макіяжам F да C, , А затым зноў запусціць яго з кропка слэш F 53 00:03:10,550 --> 00:03:15,310 да З і ўвядзіце уваходам, як 212, заўважыць, што адказ я збіраюся 54 00:03:15,310 --> 00:03:17,860 атрымаць на гэты раз на самай справе зусім не так. 55 00:03:17,860 --> 00:03:23,570 0.0 не з'яўляецца правільным ступень у Цэльсія, як 212 па Фарэнгейце. 56 00:03:23,570 --> 00:03:24,500 >> Ну, што адбываецца? 57 00:03:24,500 --> 00:03:29,410 Ну, у радку 9, таму што 5 цяпер цэлы лік, а таму, што 9 Цяпер 58 00:03:29,410 --> 00:03:34,810 цэлае, то вынік матэматычна павінен быць 0,5555 і так далей. 59 00:03:34,810 --> 00:03:39,120 Але так як вынік, у адпаведнасці з Правілы Сі, павінен быць унутр, што 60 00:03:39,120 --> 00:03:44,020 0,5555 атрымлівае выкінутыя, пакідаючы нас з проста 0. 61 00:03:44,020 --> 00:03:48,600 >> Такім чынам, у рэшце рэшт, я ў канчатковым выніку множання цалкам выпадкова 0 раз е мінус 62 00:03:48,600 --> 00:03:52,830 32.0, якая ёсць не што нягледзячы ні на што заўсёды дасць мне 0. 63 00:03:52,830 --> 00:03:56,930 Так што майце на ўвазе, у любы час з дапамогай значэння з якая плавае коскі ў блізкасці 64 00:03:56,930 --> 00:03:59,860 Інтс, вы не маглі б абавязкова атрымаць адказ, так што вы чакаеце. 65 00:03:59,860 --> 00:04:04,220 І таму паклапаціцеся, каб выкарыстоўваць, як я зрабіў у значэнні першы выпадак, з якая плавае кропкай 66 00:04:04,220 --> 00:04:06,530 па ўсім, каб пазбегнуць любых такіх пытанняў. 67 00:04:06,530 --> 00:04:08,267