1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> DAVID J. MALAN: Katakan saya ingin untuk melaksanakan program yang meminta 3 00:00:03,190 --> 00:00:06,650 pengguna untuk rentetan dan kemudiannya untuk memanfaatkan input mereka, 4 00:00:06,650 --> 00:00:09,790 menukar apa-apa huruf kecil bahawa mereka menaip ke huruf besar. 5 00:00:09,790 --> 00:00:11,770 Nah, mari kita pergi ke hadapan dan melaksanakan program itu. 6 00:00:11,770 --> 00:00:18,760 >> Mari pertama termasuk cs50.h diikuti oleh termasuk stdio.h. 7 00:00:18,760 --> 00:00:23,990 Dan supaya kita boleh menggunakan strlen, mari kita termasuk string.h. 8 00:00:23,990 --> 00:00:29,860 >> Mari kita seterusnya mengisytiharkan utama tidak sah utama sebagai int dan mari kita kini meneruskan untuk meminta 9 00:00:29,860 --> 00:00:31,600 pengguna untuk rentetan. 10 00:00:31,600 --> 00:00:34,840 Printf, mari kita meminta mereka untuk input beberapa. 11 00:00:34,840 --> 00:00:36,460 Sekarang mari kita mengisytiharkan rentetan - 12 00:00:36,460 --> 00:00:37,630 kami akan memanggilnya s - 13 00:00:37,630 --> 00:00:44,010 dan menyimpan di dalamnya hasil daripada memanggil fungsi GetString perpustakaan cs50. 14 00:00:44,010 --> 00:00:48,850 >> Sekarang mari kita teruskan untuk melelar atas setiap watak-watak dalam s, mengambil kesempatan 15 00:00:48,850 --> 00:00:50,650 apa-apa huruf kecil yang kita lihat. 16 00:00:50,650 --> 00:00:53,630 Untuk int, i mendapat 0. 17 00:00:53,630 --> 00:00:58,780 Mari kita juga mengaku n sebagai sama dengan panjang tali s supaya kita dapat 18 00:00:58,780 --> 00:01:03,590 melelar dari i sehingga n, panjang s, dan pada setiap 19 00:01:03,590 --> 00:01:05,760 kenaikan lelaran i. 20 00:01:05,760 --> 00:01:09,970 >> Dan kemudian di dalam gelung ini, mari kita Cek pertama adalah surat semasa - 21 00:01:09,970 --> 00:01:12,270 surat i-ke-s, jadi untuk bercakap - 22 00:01:12,270 --> 00:01:14,170 huruf kecil. 23 00:01:14,170 --> 00:01:23,090 Jika s kurungan i adalah lebih besar daripada atau sama kepada huruf kecil, dan ia kurang 24 00:01:23,090 --> 00:01:26,900 daripada atau sama dengan z huruf kecil - 25 00:01:26,900 --> 00:01:30,860 Sekarang jika kita mahu menukar huruf kecil a surat kepada huruf besar, ingat pertama yang 26 00:01:30,860 --> 00:01:35,810 dalam ASCII yang kecil adalah 97 dan huruf besar adalah 65. 27 00:01:35,810 --> 00:01:41,020 Sementara itu, huruf kecil b ialah 98, dan huruf besar B adalah 66. 28 00:01:41,020 --> 00:01:44,180 >> Jika kita terus melihat corak yang, kita akan melihat bahawa huruf kecil yang 29 00:01:44,180 --> 00:01:49,240 surat sentiasa 32 nilai-nilai yang lebih tinggi daripada huruf besar. 30 00:01:49,240 --> 00:01:53,490 Jadi, jika kita mahu menukar daripada huruf kecil kepada huruf besar, ia perlu 31 00:01:53,490 --> 00:01:57,210 memadai, benar-benar, tolak 32 daripada input pengguna. 32 00:01:57,210 --> 00:02:01,330 Atau secara umum, hanya tolak yang Perbezaan antara huruf kecil dan satu 33 00:02:01,330 --> 00:02:02,310 modal A. 34 00:02:02,310 --> 00:02:03,410 >> Bagaimana untuk menyatakan bahawa? 35 00:02:03,410 --> 00:02:04,640 Nah, mari kita melakukannya dalam kod. 36 00:02:04,640 --> 00:02:09,960 Printf, quote, unquote "% c" untuk mencetak watak semasa, diikuti oleh 37 00:02:09,960 --> 00:02:18,500 percetakan apa sahaja dalam s kurungan i tolak hasil daripada melakukan huruf kecil a 38 00:02:18,500 --> 00:02:22,660 tolak huruf besar A koma bertitik. 39 00:02:22,660 --> 00:02:27,010 Dalam erti kata lain, kurungan ini bersuara, sedikit tolak besar A, adalah 40 00:02:27,010 --> 00:02:29,360 akan kembali kepada kami di akhir hari 32. 41 00:02:29,360 --> 00:02:31,230 Tetapi saya tidak perlu ingat bahawa itu 32. 42 00:02:31,230 --> 00:02:34,150 Saya boleh membenarkan komputer untuk memikirkan apa perbezaan antara huruf kecil 43 00:02:34,150 --> 00:02:35,990 dan modal adalah. 44 00:02:35,990 --> 00:02:39,610 >> Sementara itu, apabila saya tahu perbezaan itu, Saya boleh tolak dari s 45 00:02:39,610 --> 00:02:43,710 kurungan i, yang akan mengambil apa yang mungkin huruf kecil kepada 46 00:02:43,710 --> 00:02:48,100 nilai yang lebih rendah, iaitu nilai yang memetakan ke yang setara huruf besar. 47 00:02:48,100 --> 00:02:51,240 Sekarang mari kita menyimpan, menyusun, dan menjalankan program ini. 48 00:02:51,240 --> 00:02:57,760 Buat memanfaatkan dot slash dipermodalkan. 49 00:02:57,760 --> 00:03:01,290 Dan input saya akan khabar. 50 00:03:01,290 --> 00:03:02,920 Dan kita ada, hello. 51 00:03:02,920 --> 00:03:05,570 >> Sekarang saya segera, diakui, adalah sedikit hodoh, kerana kita telah 52 00:03:05,570 --> 00:03:07,810 ditinggalkan satu bit percetakan. 53 00:03:07,810 --> 00:03:09,370 Dan mari kita kembali dan menambah bahawa. 54 00:03:09,370 --> 00:03:12,890 Di bahagian paling bawah program ini, Saya sangat mudah, dan sebahagian besarnya untuk 55 00:03:12,890 --> 00:03:18,440 tujuan estetik, akan menambah printf, quote, unquote garis sendeng terbalik n. 56 00:03:18,440 --> 00:03:22,330 Mari kita menyimpan semula fail ini, susun semula, jalankan lagi. 57 00:03:22,330 --> 00:03:28,090 >> Buat kesempatan, slash dot mengambil kesempatan. 58 00:03:28,090 --> 00:03:32,540 Sekali lagi, untuk input saya akan menyediakan "hello" dalam kes yang lebih rendah dan semua kini tekan Enter, 59 00:03:32,540 --> 00:03:34,550 dan "hello," lebih bersih dicetak. 60 00:03:34,550 --> 00:03:36,432