DAVID J. Malan: Eins og þú veist líklega, hitastig eru færðir mismunandi vog í mismunandi heimshlutum. Til dæmis, 212 gráður Fahrenheit er 100 gráður á Celsíus og 32 gráður Fahrenheit er 0 gráður á Celsíus. Væri ekki gott ef við átti tölvu forrit sem leyfa okkur að umbreyta úr td Fahrenheit til Celsíus? Jæja, við getum skrifað þessi forrit. Skulum fyrst byrja með eru cs50.h, þannig að við getum notað fall sem kallast fá fljóta, sem, eins Fá int, fær númer frá notanda, en í þetta sinn sem fleytitölu númer - eitt með kommu. Skulum eru einnig staðall io.h þannig að við höfum aðgang að virka eins og prenta f. Og við skulum einnig lýsa helstu á venjubundinn hátt. Skulum næst hvetja notandann til hitastig í Fahrenheit. Við skulum nú í raun fá það hitastig frá notanda, fyrst með því að Lýsir yfir breytu sem heitir f ferðar fljóta. A fljóta, aftur, sem þýðir breytu sem geymir Fleytitölugildi, einn með kommu. Skulum tengja það aftur gildi af þinn fá fljóta. Og þá skulum gera smá stærðfræði á það, fyrst að lýsa yfir aðra fljóta kallast C fyrir Celsíus og geyma í C er afleiðing af einhverjum sameiginlegum tölur. 5,0 deilt með 9,0 sinnum F mínus 32,0. Skulum nú prenta niðurstöðu þessarar útreikningur. prósent F - merkir þá tákn fyrir Fleytitölugildi - komma C til að prenta út hitastig á Celsíus. Skulum spara úrslitaleik mína. Saman við F til C. hlaupa the program með punktur slash F til C. Og við skulum reyna þá algeng hitastig. 212 gráður í Fahrenheit er 100 gráður á Celsíus. 32 gráður í Fahrenheit er 0 gráður á Celsíus. Nú lætur betrumbæta þetta forrit smá hluti með því að prenta alveg eins mörg 0'S eftir því aukastaf. Til að gera þetta, ætla ég að fara aftur á línu 11. Og frekar en bara tilgreina prósent f, Ég ætla að í stað tilgreina, segjum, 0.1 m, upplýsa prenta F sem ég bara langar að prenta út Fleytitölugildi að eitt gildi eftir aukastaf. Skulum vistað póstinn forritið mitt. Laun það með förðun F til C. Þá endursýning það með punktur slash F til C. og skulum reyna aftur við, segja, 212, sem gefur mér 100,0. Nú er vert að taka eftir að ég gerði eitthvað mjög vísvitandi í línu 9. Taktu eftir hvernig ég skrifaði 5 er 5,0, 9 eins og 9,0, og jafnvel 32 eins og 32,0. Jæja, fyrstu tveir af þeim gildum voru mjög vísvitandi valið til að vera Fleytitölugildi, ekki bara vegna þess að á samræmi við restina af áætlun mína - sem greinilega felur fljótandi Gildin Point - heldur vegna þess að það kemur í ljós að C, Ef þú skipta við int af öðrum int, er leiðir svarið sem þú ert að fara að fá er sjálft int, jafnvel þótt það þýði að þurfa að henda öllu eftir kommu. Með öðrum orðum, ef ég breyti þessu 5.0 til 5 eða þetta 9,0-9 og síðan vistað póstinn áætlun mín, laun með förðun F í C. og þá með tilvísun til-hlaupa það með punktur slash F til C og tegund í inntak af eins 212, eftir því að svarið sem ég ætla að fá að þessu sinni er í raun alveg rangt. 0.0 er ekki rétt próf í Celsius sem 212 Fahrenheit. Jæja, hvað er að gerast? Jæja, í samræmi 9, vegna 5 er nú heiltala og vegna þess að 9 er nú heiltala, niðurstaðan stærðfræðiíega ætti að vera 0,5555 og svo framvegis. En vegna þess að útkoman, í samræmi við Reglur C, þarf að vera int, til þess að 0,5555 fær hent, afgangur okkur með bara 0. Svo í lok, enda ég upp margfalda alveg óvart 0 sinnum F mínus 32.0, sem er sama hvað alltaf að fara að gefa mér 0. Svo ekki hafa í huga, hvenær nota Fleytitölugildi í nálægð ints, þú might ekki endilega fá svar svo þú búist. Og svo að gæta að nota, eins og ég gerði í Fyrsta tilfelli, Fleytitölugildi allan tímann, til að forðast slík mál.