1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> 데이비드 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 우리는이야 전화 할게 - 13 00:00:37,630 --> 00:00:44,010 그 안에 호출의 결과를 저장 CS50 라이브러리 기능하는 GetString. 14 00:00:44,010 --> 00:00:48,850 >> 의 지금은 각각의 반복으로 진행하자 의, 대문자의 문자 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을 선언하자 의의 문자열 길이 우리가 할 수 있도록 18 00:00:58,780 --> 00:01:03,590 N 때까지의 최대 반복, 의 길이, 그리고 각 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 의의 i 번째 문자, 말하자면 - 22 00:01:12,270 --> 00:01:14,170 소문자. 23 00:01:14,170 --> 00:01:23,090 발 브래킷 난보다 크거나 같으면 소문자, 그것은 이하의 수 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에서 소문자는 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 또는 더 일반적으로, 그냥 빼기 그 소문자와의 차이 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 의 부류 나 마이너스에있어 어떤 인쇄 소문자를 수행 한 결과 38 00:02:18,500 --> 00:02:22,660 마이너스 세미콜론을 대문자. 39 00:02:22,660 --> 00:02:27,010 즉,이 괄호 표현, 작은​​ 마이너스 큰이며, 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 자본이다. 44 00:02:35,990 --> 00:02:39,610 >> 한편, 한 번 나는, 그 차이를 알 수 나는들에서 뺄 수 있습니다 45 00:02:39,610 --> 00:02:43,710 무엇을 가지고 갈 것이다 브래킷 나는, 어떤 에 아마 소문자 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 인쇄 한 비트를 생략. 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를 추가하는 것, 인용을 끝 맺다 백 슬래시 명. 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 또, 입력 I는 "안녕하세요"를 제공합니다 모두 소문자로 현재, 입력을 명중 59 00:03:32,540 --> 00:03:34,550 와 "안녕하세요,"훨씬 더 깔끔하게 인쇄. 60 00:03:34,550 --> 00:03:36,432