>> DAVID J. MALAN: Katakan saya ingin untuk melaksanakan program yang meminta
pengguna untuk rentetan dan kemudiannya untuk memanfaatkan input mereka,
menukar apa-apa huruf kecil bahawa mereka menaip ke huruf besar.
Nah, mari kita pergi ke hadapan dan melaksanakan program itu.
>> Mari pertama termasuk cs50.h diikuti oleh termasuk stdio.h.
Dan supaya kita boleh menggunakan strlen, mari kita termasuk string.h.
>> Mari kita seterusnya mengisytiharkan utama tidak sah utama sebagai int dan mari kita kini meneruskan untuk meminta
pengguna untuk rentetan.
Printf, mari kita meminta mereka untuk input beberapa.
Sekarang mari kita mengisytiharkan rentetan -
kami akan memanggilnya s -
dan menyimpan di dalamnya hasil daripada memanggil fungsi GetString perpustakaan cs50.
>> Sekarang mari kita teruskan untuk melelar atas setiap watak-watak dalam s, mengambil kesempatan
apa-apa huruf kecil yang kita lihat.
Untuk int, i mendapat 0.
Mari kita juga mengaku n sebagai sama dengan panjang tali s supaya kita dapat
melelar dari i sehingga n, panjang s, dan pada setiap
kenaikan lelaran i.
>> Dan kemudian di dalam gelung ini, mari kita Cek pertama adalah surat semasa -
surat i-ke-s, jadi untuk bercakap -
huruf kecil.
Jika s kurungan i adalah lebih besar daripada atau sama kepada huruf kecil, dan ia kurang
daripada atau sama dengan z huruf kecil -
Sekarang jika kita mahu menukar huruf kecil a surat kepada huruf besar, ingat pertama yang
dalam ASCII yang kecil adalah 97 dan huruf besar adalah 65.
Sementara itu, huruf kecil b ialah 98, dan huruf besar B adalah 66.
>> Jika kita terus melihat corak yang, kita akan melihat bahawa huruf kecil yang
surat sentiasa 32 nilai-nilai yang lebih tinggi daripada huruf besar.
Jadi, jika kita mahu menukar daripada huruf kecil kepada huruf besar, ia perlu
memadai, benar-benar, tolak 32 daripada input pengguna.
Atau secara umum, hanya tolak yang Perbezaan antara huruf kecil dan satu
modal A.
>> Bagaimana untuk menyatakan bahawa?
Nah, mari kita melakukannya dalam kod.
Printf, quote, unquote "% c" untuk mencetak watak semasa, diikuti oleh
percetakan apa sahaja dalam s kurungan i tolak hasil daripada melakukan huruf kecil a
tolak huruf besar A koma bertitik.
Dalam erti kata lain, kurungan ini bersuara, sedikit tolak besar A, adalah
akan kembali kepada kami di akhir hari 32.
Tetapi saya tidak perlu ingat bahawa itu 32.
Saya boleh membenarkan komputer untuk memikirkan apa perbezaan antara huruf kecil
dan modal adalah.
>> Sementara itu, apabila saya tahu perbezaan itu, Saya boleh tolak dari s
kurungan i, yang akan mengambil apa yang mungkin huruf kecil kepada
nilai yang lebih rendah, iaitu nilai yang memetakan ke yang setara huruf besar.
Sekarang mari kita menyimpan, menyusun, dan menjalankan program ini.
Buat memanfaatkan dot slash dipermodalkan.
Dan input saya akan khabar.
Dan kita ada, hello.
>> Sekarang saya segera, diakui, adalah sedikit hodoh, kerana kita telah
ditinggalkan satu bit percetakan.
Dan mari kita kembali dan menambah bahawa.
Di bahagian paling bawah program ini, Saya sangat mudah, dan sebahagian besarnya untuk
tujuan estetik, akan menambah printf, quote, unquote garis sendeng terbalik n.
Mari kita menyimpan semula fail ini, susun semula, jalankan lagi.
>> Buat kesempatan, slash dot mengambil kesempatan.
Sekali lagi, untuk input saya akan menyediakan "hello" dalam kes yang lebih rendah dan semua kini tekan Enter,
dan "hello," lebih bersih dicetak.