1 00:00:00,000 --> 00:00:02,360 >> DAVID J. Malan: Eins og þú veist líklega, hitastig eru færðir 2 00:00:02,360 --> 00:00:04,360 mismunandi vog í mismunandi heimshlutum. 3 00:00:04,360 --> 00:00:09,370 Til dæmis, 212 gráður Fahrenheit er 100 gráður á Celsíus og 32 gráður 4 00:00:09,370 --> 00:00:11,810 Fahrenheit er 0 gráður á Celsíus. 5 00:00:11,810 --> 00:00:14,230 Væri ekki gott ef við átti tölvu forrit sem leyfa okkur að 6 00:00:14,230 --> 00:00:16,950 umbreyta úr td Fahrenheit til Celsíus? 7 00:00:16,950 --> 00:00:18,510 >> Jæja, við getum skrifað þessi forrit. 8 00:00:18,510 --> 00:00:24,350 Skulum fyrst byrja með eru cs50.h, þannig að við getum notað fall sem kallast 9 00:00:24,350 --> 00:00:28,610 fá fljóta, sem, eins Fá int, fær númer frá notanda, en í þetta sinn sem 10 00:00:28,610 --> 00:00:31,440 fleytitölu númer - eitt með kommu. 11 00:00:31,440 --> 00:00:34,840 >> Skulum eru einnig staðall io.h þannig að við höfum aðgang að 12 00:00:34,840 --> 00:00:36,230 virka eins og prenta f. 13 00:00:36,230 --> 00:00:40,000 Og við skulum einnig lýsa helstu á venjubundinn hátt. 14 00:00:40,000 --> 00:00:42,675 >> Skulum næst hvetja notandann til hitastig í Fahrenheit. 15 00:00:42,675 --> 00:00:46,050 16 00:00:46,050 --> 00:00:49,220 Við skulum nú í raun fá það hitastig frá notanda, fyrst með því að 17 00:00:49,220 --> 00:00:52,910 Lýsir yfir breytu sem heitir f ferðar fljóta. 18 00:00:52,910 --> 00:00:56,750 A fljóta, aftur, sem þýðir breytu sem geymir Fleytitölugildi, 19 00:00:56,750 --> 00:00:58,200 einn með kommu. 20 00:00:58,200 --> 00:01:01,780 >> Skulum tengja það aftur gildi af þinn fá fljóta. 21 00:01:01,780 --> 00:01:06,080 Og þá skulum gera smá stærðfræði á það, fyrst að lýsa yfir aðra fljóta 22 00:01:06,080 --> 00:01:11,690 kallast C fyrir Celsíus og geyma í C er afleiðing af einhverjum sameiginlegum tölur. 23 00:01:11,690 --> 00:01:19,060 5,0 deilt með 9,0 sinnum F mínus 32,0. 24 00:01:19,060 --> 00:01:23,440 >> Skulum nú prenta niðurstöðu þessarar útreikningur. 25 00:01:23,440 --> 00:01:24,730 prósent F - 26 00:01:24,730 --> 00:01:27,890 merkir þá tákn fyrir Fleytitölugildi - 27 00:01:27,890 --> 00:01:31,680 komma C til að prenta út hitastig á Celsíus. 28 00:01:31,680 --> 00:01:33,000 Skulum spara úrslitaleik mína. 29 00:01:33,000 --> 00:01:38,220 Saman við F til C. hlaupa the program með punktur slash F til C. 30 00:01:38,220 --> 00:01:39,940 >> Og við skulum reyna þá algeng hitastig. 31 00:01:39,940 --> 00:01:45,820 212 gráður í Fahrenheit er 100 gráður á Celsíus. 32 00:01:45,820 --> 00:01:50,090 32 gráður í Fahrenheit er 0 gráður á Celsíus. 33 00:01:50,090 --> 00:01:54,240 >> Nú lætur betrumbæta þetta forrit smá hluti með því að prenta alveg eins mörg 0'S 34 00:01:54,240 --> 00:01:55,820 eftir því aukastaf. 35 00:01:55,820 --> 00:01:57,940 Til að gera þetta, ætla ég að fara aftur á línu 11. 36 00:01:57,940 --> 00:02:03,430 Og frekar en bara tilgreina prósent f, Ég ætla að í stað tilgreina, segjum, 37 00:02:03,430 --> 00:02:08,800 0.1 m, upplýsa prenta F sem ég bara langar að prenta út Fleytitölugildi 38 00:02:08,800 --> 00:02:11,750 að eitt gildi eftir aukastaf. 39 00:02:11,750 --> 00:02:13,630 >> Skulum vistað póstinn forritið mitt. 40 00:02:13,630 --> 00:02:19,680 Laun það með förðun F til C. Þá endursýning það með punktur slash F til C. og 41 00:02:19,680 --> 00:02:24,910 skulum reyna aftur við, segja, 212, sem gefur mér 100,0. 42 00:02:24,910 --> 00:02:28,360 >> Nú er vert að taka eftir að ég gerði eitthvað mjög vísvitandi í línu 9. 43 00:02:28,360 --> 00:02:35,830 Taktu eftir hvernig ég skrifaði 5 er 5,0, 9 eins og 9,0, og jafnvel 32 eins og 32,0. 44 00:02:35,830 --> 00:02:39,000 Jæja, fyrstu tveir af þeim gildum voru mjög vísvitandi valið til að vera 45 00:02:39,000 --> 00:02:42,200 Fleytitölugildi, ekki bara vegna þess að á samræmi við restina 46 00:02:42,200 --> 00:02:42,940 af áætlun mína - 47 00:02:42,940 --> 00:02:45,110 sem greinilega felur fljótandi Gildin Point - 48 00:02:45,110 --> 00:02:50,210 heldur vegna þess að það kemur í ljós að C, Ef þú skipta við int af öðrum int, er 49 00:02:50,210 --> 00:02:54,350 leiðir svarið sem þú ert að fara að fá er sjálft int, jafnvel þótt það þýði 50 00:02:54,350 --> 00:02:57,450 að þurfa að henda öllu eftir kommu. 51 00:02:57,450 --> 00:03:04,990 >> Með öðrum orðum, ef ég breyti þessu 5.0 til 5 eða þetta 9,0-9 og síðan vistað póstinn 52 00:03:04,990 --> 00:03:10,550 áætlun mín, laun með förðun F í C. og þá með tilvísun til-hlaupa það með punktur slash F 53 00:03:10,550 --> 00:03:15,310 til C og tegund í inntak af eins 212, eftir því að svarið sem ég ætla að 54 00:03:15,310 --> 00:03:17,860 fá að þessu sinni er í raun alveg rangt. 55 00:03:17,860 --> 00:03:23,570 0.0 er ekki rétt próf í Celsius sem 212 Fahrenheit. 56 00:03:23,570 --> 00:03:24,500 >> Jæja, hvað er að gerast? 57 00:03:24,500 --> 00:03:29,410 Jæja, í samræmi 9, vegna 5 er nú heiltala og vegna þess að 9 er nú 58 00:03:29,410 --> 00:03:34,810 heiltala, niðurstaðan stærðfræðiíega ætti að vera 0,5555 og svo framvegis. 59 00:03:34,810 --> 00:03:39,120 En vegna þess að útkoman, í samræmi við Reglur C, þarf að vera int, til þess að 60 00:03:39,120 --> 00:03:44,020 0,5555 fær hent, afgangur okkur með bara 0. 61 00:03:44,020 --> 00:03:48,600 >> Svo í lok, enda ég upp margfalda alveg óvart 0 sinnum F mínus 62 00:03:48,600 --> 00:03:52,830 32.0, sem er sama hvað alltaf að fara að gefa mér 0. 63 00:03:52,830 --> 00:03:56,930 Svo ekki hafa í huga, hvenær nota Fleytitölugildi í nálægð 64 00:03:56,930 --> 00:03:59,860 ints, þú might ekki endilega fá svar svo þú búist. 65 00:03:59,860 --> 00:04:04,220 Og svo að gæta að nota, eins og ég gerði í Fyrsta tilfelli, Fleytitölugildi 66 00:04:04,220 --> 00:04:06,530 allan tímann, til að forðast slík mál. 67 00:04:06,530 --> 00:04:08,267