1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> DAVID J.マラン:私はしたいとします プロンプトプログラムを実装する 3 00:00:03,190 --> 00:00:06,650 [文字列のユーザーと進み、 それらの入力を大文字にするには、 4 00:00:06,650 --> 00:00:09,790 任意の小文字に変換する 彼らは大文字に入力すること。 5 00:00:09,790 --> 00:00:11,770 さて、先に行ってみようと そのプログラムを実装します。 6 00:00:11,770 --> 00:00:18,760 >> まずはcs50.hが続い含まましょう でstdio.hに含まれます。 7 00:00:18,760 --> 00:00:23,990 そして私たちは、strlenを使用することができます それではstring.hのが含まれてみましょう。 8 00:00:23,990 --> 00:00:29,860 >> それでは次のメインとしてint型の主無効を宣言しましょう そして今度は、プロンプトに進みましょう 9 00:00:29,860 --> 00:00:31,600 文字列のためのユーザー。 10 00:00:31,600 --> 00:00:34,840 printfの、のは、それらを促してみましょう 一部の入力用。 11 00:00:34,840 --> 00:00:36,460 今度は、文字列を宣言してみましょう - 12 00:00:36,460 --> 00:00:37,630 我々は、S、それを呼ぶことにします - 13 00:00:37,630 --> 00:00:44,010 その中に呼び出しの結果を格納する CS50ライブラリ関数GetStringメソッド。 14 00:00:44,010 --> 00:00:48,850 >> それでは、それぞれを反復するために進んでみよう Sの文字の、大文字化 15 00:00:48,850 --> 00:00:50,650 私たちが見るあらゆる小文字。 16 00:00:50,650 --> 00:00:53,630 int型のために、私は0を得る。 17 00:00:53,630 --> 00:00:58,780 それではまたに等しいものとしてNを宣言しましょう Sの文字列の長さ、我々はできるように、 18 00:00:58,780 --> 00:01:03,590 Nまで、私から上がって反復し、 sの長さ、および各々の上 19 00:01:03,590 --> 00:01:05,760 反復増分I。 20 00:01:05,760 --> 00:01:09,970 >> して、このループの内側に、みましょう 最初のチェックは、現在の文字です - 21 00:01:09,970 --> 00:01:12,270 Sのi番目の文字、いわば - 22 00:01:12,270 --> 00:01:14,170 小文字。 23 00:01:14,170 --> 00:01:23,090 のブラケットiは、以上である場合 小文字、それは少ないですして 24 00:01:23,090 --> 00:01:26,900 以上または小文字のzに等しい - 25 00:01:26,900 --> 00:01:30,860 今、私たちは、小文字に変換したい場合は、 大文字への手紙は、あることを最初に思い出す 26 00:01:30,860 --> 00:01:35,810 ASCIIで小文字のaは97である と大文字のAは65です。 27 00:01:35,810 --> 00:01:41,020 一方、小文字のbが98であり、 大文字Bが66である。 28 00:01:41,020 --> 00:01:44,180 >> 我々はそのパターンを見続けると、 我々はその小文字が表示されます 29 00:01:44,180 --> 00:01:49,240 文字は32個の値が高い常に 大文字以外。 30 00:01:49,240 --> 00:01:53,490 だから我々は、小文字に変換したい場合は、 大文字に、それはすべき 31 00:01:53,490 --> 00:01:57,210 減算する、本当に十分である ユーザーの入力から32。 32 00:01:57,210 --> 00:02:01,330 またはより一般的には、ちょうどそれを差し引く 小文字のaとAとの間の差 33 00:02:01,330 --> 00:02:02,310 資本A. 34 00:02:02,310 --> 00:02:03,410 >> それを表現するには? 35 00:02:03,410 --> 00:02:04,640 さて、コードの中でやってみましょう。 36 00:02:04,640 --> 00:02:09,960 印刷するprintfの、引用、引用終わりは "%C" 続い現在の文字、 37 00:02:09,960 --> 00:02:18,500 SブラケットIのマイナスで何でも印刷 小文字のaを実行した結果 38 00:02:18,500 --> 00:02:22,660 マイナスセミコロンを大文字。 39 00:02:22,660 --> 00:02:27,010 すなわち、この括弧 表情、少しマイナス大きいAは、ある 40 00:02:27,010 --> 00:02:29,360 私たちに戻ろう 32日目の終わり。 41 00:02:29,360 --> 00:02:31,230 しかし、私は覚えておく必要はありません それは32だということ。 42 00:02:31,230 --> 00:02:34,150 私はコンピュータが把握できるようにすることができます どのような小文字の違い 43 00:02:34,150 --> 00:02:35,990 資本Aがある。 44 00:02:35,990 --> 00:02:39,610 >> 一方、私はその違いがわかったら、 私はSからそれを引くことができます 45 00:02:39,610 --> 00:02:43,710 何がかかりますブラケットI、 におそらく小文字 46 00:02:43,710 --> 00:02:48,100 低い値、マッピングする、つまり値 対応する大文字へ。 47 00:02:48,100 --> 00:02:51,240 コンパイル、今度は保存でき、 このプログラムを実行してください。 48 00:02:51,240 --> 00:02:57,760 ドットスラッシュを大文字に大文字にする。 49 00:02:57,760 --> 00:03:01,290 そして、私の入力は、こんにちはとなります。 50 00:03:01,290 --> 00:03:02,920 そしてそこに、我々はこんにちは、持っている。 51 00:03:02,920 --> 00:03:05,570 >> 今私のプロンプトは、確かに、ある 少し醜い、我々はしましたので、 52 00:03:05,570 --> 00:03:07,810 印刷の1ビットを省略。 53 00:03:07,810 --> 00:03:09,370 とのに戻ってそれを追加しましょう​​。 54 00:03:09,370 --> 00:03:12,890 このプログラムの一番下に、 私は非常に簡単だし、大部分のために 55 00:03:12,890 --> 00:03:18,440 printfのを追加しようとして審美的な目的、 引用、引用終わりバックスラッシュN。 56 00:03:18,440 --> 00:03:22,330 それでは、このファイルを保存し直してみましょう、 再コンパイル、再実行します。 57 00:03:22,330 --> 00:03:28,090 >> 大文字にする、ドットスラッシュは大文字にします。 58 00:03:28,090 --> 00:03:32,540 繰り返しますが、入力のために私が「こんにちは」を提供します すべて小文字で、現在はEnterキーを押し、 59 00:03:32,540 --> 00:03:34,550 と "こんにちは、"はるかにきれいに印刷された。 60 00:03:34,550 --> 00:03:36,432