1 00:00:00,000 --> 00:00:02,360 >> Дејвид Џ MALAN: Како што веројатно знаете, температури се измерени користење 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 добие плови, која, како GET 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 >> Ајде да се додели на враќање вредност на Get плови. 21 00:01:01,780 --> 00:01:06,080 А потоа нека се направи малку на аритметиката на неа, прво прогласување уште плови 22 00:01:06,080 --> 00:01:11,690 наречен 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 проценти f - 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 до В стартувате програмата со точка црта F до В 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 >> Ајде resave мојата програма. 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 резултира одговор ви се случува да се добие е самата int, дури и ако тоа значи дека 50 00:02:54,350 --> 00:02:57,450 морале да фрлаат се што по децималната точка. 51 00:02:57,450 --> 00:03:04,990 >> Со други зборови, ако го сменам ова 5.0 до 5 или овој 9,0-9 а потоа resave 52 00:03:04,990 --> 00:03:10,550 мојата програма, повторно компајлирајте со марка F до С, и потоа повторно да се кандидира со точка црта F 53 00:03:10,550 --> 00:03:15,310 на C и тип во внесување на како 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 Туку затоа што резултат, според Правила на C, мора да биде цел број, што 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 ints, можеби нема да мора да го добиете одговорот, па можете да очекувате. 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