>> DAVID J. Malan: Misalkan saya ingin untuk melaksanakan program yang meminta
pengguna untuk string dan kemudian hasil untuk memanfaatkan masukan mereka,
mengkonversi setiap huruf kecil yang mereka ketik ke huruf besar.
Nah, mari kita pergi ke depan dan melaksanakan program itu.
>> Mari kita pertama termasuk cs50.h diikuti oleh termasuk stdio.h.
Dan agar kita dapat menggunakan strlen, mari kita termasuk string.h.
>> Mari kita selanjutnya menyatakan utama seperti int void main dan mari kita lanjutkan untuk meminta
pengguna untuk string.
Printf, mari kita meminta mereka untuk beberapa masukan.
Sekarang mari kita mendeklarasikan string -
kita akan menyebutnya s -
dan simpan di dalamnya hasil dari panggilan fungsi perpustakaan CS50 GetString.
>> Mari kita lanjutkan sekarang untuk beralih di atas masing-masing dari karakter dalam s, memanfaatkan
setiap huruf kecil yang kita lihat.
Untuk int, saya mendapatkan 0.
Mari kita juga menyatakan n sebagai sama dengan panjang string s sehingga kita bisa
iterate dari i sampai n, maka panjang s, dan pada setiap
kenaikan iterasi i.
>> Dan kemudian dalam lingkaran ini, mari kita cek pertama adalah huruf saat ini -
surat-i th s, sehingga untuk berbicara -
huruf kecil.
Jika s braket i lebih besar dari atau sama huruf kecil, dan itu kurang
dari atau sama dengan z huruf kecil -
Sekarang jika kita ingin mengubah huruf kecil surat untuk huruf besar, mengingat yang pertama
dalam ASCII huruf kecil adalah 97 dan huruf A adalah 65.
Sementara itu, huruf kecil b adalah 98, dan huruf B adalah 66.
>> Jika kita terus melihat pola itu, kita akan melihat bahwa huruf kecil yang
surat selalu 32 nilai yang lebih tinggi daripada huruf besar.
Jadi jika kita ingin mengubah dari huruf kecil untuk huruf besar, seharusnya
cukup, benar-benar, untuk mengurangi 32 dari input pengguna.
Atau lebih umum, hanya kurangi bahwa perbedaan antara a dan huruf kecil
modal A.
>> Cara untuk mengekspresikan itu?
Nah, mari kita lakukan dalam kode.
Printf, kutipan, tanda kutip "% c" untuk mencetak karakter saat ini, diikuti oleh
mencetak apa pun di s braket i dikurangi hasil dari melakukan huruf kecil a
dikurangi huruf A titik koma.
Dalam kata lain, disisipkan ini ekspresi, sedikit minus besar A, adalah
akan kembali ke kami di akhir hari 32.
Tapi aku tidak harus ingat bahwa itu 32.
Saya dapat memungkinkan komputer untuk mencari tahu apa perbedaan antara huruf kecil
dan modal A adalah.
>> Sementara itu, setelah saya tahu perbedaan itu, Aku bisa kurangi dari s
bracket i, yang akan mengambil apa yang mungkin huruf kecil ke
nilai yang lebih rendah, yaitu nilai yang memetakan ke setara huruf besar.
Sekarang mari kita simpan, kompilasi, dan menjalankan program ini.
Membuat memanfaatkan dot slash dikapitalisasi.
Dan masukan saya akan halo.
Dan ada yang kita miliki, halo.
>> Sekarang prompt saya, diakui, adalah agak jelek, karena kita sudah
dihilangkan sedikit pencetakan.
Dan mari kita kembali dan menambahkan bahwa.
Di bagian paling bawah dari program ini, Saya sangat sederhana, dan sebagian besar untuk
tujuan estetika, akan menambahkan printf, kutipan, tanda kutip backslash n.
Mari kita resave file ini, ulang, jalankan kembali.
>> Membuat memanfaatkan, dot slash memanfaatkan.
Sekali lagi, untuk masukan saya akan memberikan "halo" dalam semua huruf kecil dan sekarang tekan Enter,
dan "halo," jauh lebih bersih dicetak.