ZAMYLA CHAN : 축하합니다 귀하의 마무리에 C 프로그램의 첫 번째 커플입니다. 알아요 당신의 첫번째 입성에 C 구문은 어려운하실 수 있습니다. 하지만 난의 끝에, 당신을 확신 물론, 당신은 볼 수있을 것이다 첫 번째 과제 커플 분을 수행합니다. 이제 더 익숙해 걸 구문,의 카이사르를 얻을 수 있습니다. 시저에서 사용자를 제출합니다 명령 줄에 정수 키 인수는 다음 일반을 입력하십시오 프롬프트에서 텍스트 메시지. 프로그램은 encipher의 것 텍스트 인쇄 자신의 암호문 메시지가 표시됩니다. 시저에 대한 enciphering과 아주 간단합니다. 자신에 각 문자를 이동 키에 의한 일반 텍스트. 결과적으로, 그것은 또한의 꽤 불안. 그러나 구현하는 카이사르 소개합니다 우리 ASCIIMath 및 어레이 데이터 구조. 우리는 복잡한거야 나중에 암호. 2 카이사르 키에있는 문자 일반 텍스트로 표시 될 것이다 암호문의 문자 C 때문에 C A. B 후 두 글자가 될 것입니다 향해 E.에 의해 D와 C로 표시 알파벳의 끝, W는 Z.하지만 Y가 Y와 X로 표시 그래서 그 뒤에 두 글자가없는 암호는 알파벳의 주위에 래핑합니다. 일반 텍스트 Y 따라서로 표시됩니다 그것은 수도 B.하여 암호문에서, 그리고 Z 같은 카이사르 사이퍼를 볼 수 있도록 연속 알파벳 휠. 자신의 텍스트, 사용자 encipher의하려면 두 개의 인수를 입력합니다 - 명령 줄에 . / 시저는 키 따랐다. 언제나처럼, 우리는 사용자를 신뢰할 수 없습니다 완전하게 입력을 입력합니다 우리의 프로그램에 대한 감각. 그래서 우리는 자신을 확인해야합니다 명령 줄 입력. int 대신 주요 무효를 사용하여, 우리는거야 주요 int, INT ARGC, 문자열 변수는 argv를 사용하여. 정수 변수 ARGC 나타냅니다 에 전달 된 인수의 수 명령 행. 그리고 ARGV는 배열, 또는 그것의 생각 인수 목록이 전달 된 그래서 황제를 위해, 우리는 어떻게 확인합니까 사용자의 입력? 글쎄, 그들은 단지 입력해야합니다 두 개의 명령 줄 인수 - . / 시저 및 키. ARGC 2가 아닌 경우 그래서, 즉, 그들 중 키와 그냥 잊고 입력. / 시저하거나, 여러 키를 입력했습니다. 이 경우, 당신은거야 지시 사항을 인쇄하려면 하고 프로그램을 종료합니다. 그들은 다시 시도해야합니다 명령 줄에서. 그러나 ARGC 2 경우에도, 당신은거야 검사 할 필요가 있는지 여부 그들은 당신에게 유효한 키를 제공합니다. 카이사르를 들어, 정수가 필요합니다. 그러나 변수는 argv는 문자열의 배열입니다. 당신은 어떻게 그 키에 액세스합니까? 배열에서 빠른 봐 - 여러 누르고 데이터 구조 동일한 데이터 유형의 값. 항목 즉, 제로 인덱스 것을 첫 번째 요소는 인덱스 0입니다 그리고 마지막 요소는 인덱스 크기에있다 크기의 수에서 1을 뺀, 배열의 요소. 나는 새로운 문자열 배열 사서함을 선언하는 경우 길이가 3, 시각, 그것은 다음과 같습니다. 문자열에 대한 세 가지 용기 나란히. 모든 요소에 액세스하려면, 당신의 이름을 입력 배열의 다음 표시 대괄호의 인덱스. 여기에서, 각에 값을 할당 해요 나는 어떤 함께 할 때와 마찬가지로 요소 다른 문자열 변수입니다. 따라서 우리의 명령 줄 인수를 액세스하려면, 우리가해야 할 모든 접근입니다 ARGV 배열의 오른쪽 요소입니다. 사용자는. / 발사 팀을 입력 한 경우 단자에 로켓 ARGV 0 것 합니다. / 발사. ARGV는 팀, 그리고 것 arg2에 로켓 될 것이다. 우리는 우리의 키에 액세스 할 수 있습니다 이제는 우리는 여전히 확인해야합니다 정확하다고 확인하십시오. 우리는 정수로 변환해야합니다. 그러나 우리는처럼 캐스팅 할 수 없습니다 우리는 이전에 수행 한. 다행히,에 Y 기능을 담당 우리이의에도 0을 반환 문자열을 변환 할 수없는 경우 정수로. 그것은 말을하지만, 당신에게 최대의 사용자는 왜하지 않습니다 프로그램이 계속 진행하자. 에서 Y에 결과를 저장 정수, 거기 당신은 키가 있습니다. 다음 부분은 간단합니다. 자신의 일반 텍스트 사용자에게 메시지를 표시 이는 데이터 형식 문자열이 될 것입니다. 다행히 우리를 위해, 모든 사용자가 입력 문자열은 유효합니다. 우리는 필요한 모든 입력이 이제는 사용자로부터, 그것은 우리에게 시간의 자신의 메시지를 encipher의. 카이사르의 개념은 간단하다 이해하기 충분. 하지만 어떻게 컴퓨터를 알고 않는 문자는 다른 후 오는가? ASCII 테이블이 들어 오면 여기에 모든 문자는 정수가 숫자는 그것과 관련된. 자본이 65. 캐피탈 B는 66이다. 97이다 소문자. 소문자 B는 98이다. 그러나 문자는 제한되지 않는다 그냥 알파벳 숫자. 예를 들어, @ 기호 ASCII 번호 64입니다. 전체 문자열을 처리하기 전에, 의 척하자 우리는 단지 이동해야합니다 한 문자. 음, 우리는 실제 이동하려면 일반 텍스트 문자,하지 문자 나 숫자. 우리가 원하는거야 그래서 우선 검사 문자에 있는지 여부입니다 알파벳. 함수 isalpha에 대한이 작업을 수행 우리와 부울을 반환 - 문자 경우는 true, 문자 그렇지 않으면 경우 false입니다. 두 가지 다른 유용한 기능은 다음과 같습니다 대문자 이건와 islower와 단정 이름. 그들은 true를 반환하는 경우 지정된 문자 , 대문자 또는 소문자 각각. 그들은 부울이기 때문에, 그들이있어 조건으로 사용하는 데 유용합니다. isalpha에가 true를 반환하면, 당신이 필요합니다 키를 사용하여 해당 문자를 이동합니다. 그러니 ASCIIMath을 열어 보자 일부 ASCII 수학을. 사용법은 사용법과 매우 유사합니다 시저에 대한과에서 키 걸립니다 명령 행. 나는 ASCIIMath 5를 실행하는 경우, 추가 보인다 5, 저에게 문자 F를 제공하고 ASCII 값을 표시. 그럼이 프로그램을 살펴 보자. 당신은 여기 왜 궁금 수 있습니다 그것의 때 문자, 정수 명확하게, 잘, 문자. 그것은 밝혀 그 문자와 정수 교환 할 수있다. 하나의 문자를 넣어 따옴표, 정수 저장할 수 있습니다 자본의 ASCII 값 A.하지만,주의해야합니다. 당신은 하나의 옷이 필요합니다. 단일 인용 부호없이, 컴파일러는 변수에 보이는 것 , 그리고 캐릭터 이름. 그럼 내가 저장, 문자와 키를 추가 INT 변수 결과 합계입니다. 결과 데이터 유형의 경우에도 정수, 내 printf의 문을 사용하여 문자 % C 자리. 그래서 프로그램이 문자를 출력 정수 결과와 관련된. 그리고 우리는 정수를 인쇄 이후 형태뿐만 아니라 % d을 (를) 사용하여, 우리는 볼 수뿐만 아니라. 그래서 지금 당신이 볼 수있는 우리 문자를 치료하고 정수, 그 반대의 경우도 마찬가지입니다. ASCIIMath 몇 가지 테스트 해 봅시다 키로서 사용 25 번 이상. 우리는 문자 z를 얻을. 지금 우리는 26를 사용해보십시오. 우리는 편지를 얻을 싶어하지만, 대신에 우리는 왼쪽 대괄호를 얻을. 그래서 분명히, 그냥 추가 편지의 핵심은하지 않습니다. 우리는 포장하는 공식을 알아 내야 알파벳의 주위에 드 셨나요 처음에 예 않았다. 카이사르에 대한 공식 변화는 다음과 같다. C는 P 플러스 K 모듈 26과 같습니다. 모듈이 유용 기억 우리에게 나머지를주는 작업 다른에 하나의 번호를 나누는. 의는 일반에이 공식을 적용 할 수 2 키 텍스트 문자입니다. Y의 ASCII 값은 89이다 우리에게 91 모듈 26을 제공합니다 이는 13과 같다 - 확실히 ASCII 값 의, 그 67이다. 지금 저를 유머와에서 벗어나 알파벳 색인에 ASCII 값 는 0이고 Z는 25입니다 Y는 24 것을 의미. 24 플러스 2, 나머지 6, 우리에게 26을 제공합니다 이다 나머지 26, 0, 의 알파벳 인덱스입니다. 그래서 공식에 적용 할 것 알파벳 문자의 인덱스 하지의 ASCII 값입니다. 하지만 당신은 ASCII 값으로 시작합니다. 그리고 암호문 문자를 인쇄하려면, 당신은뿐만 아니라 자사의 ASCII 값을해야합니다. 그것은 알아 내기 위해, 그 후에 당신에게 최대의 앞뒤로 전환하는 방법에 대해 설명합니다. 일단 당신이 올바른 수식을 계산 하나의 문자를 모두 당신이 할 필요가 모든에 동일한 공식을 적용합니다 일반 텍스트 문자 - 그 문자는 영문자이며, 경우에만 물론입니다. 그리고 당신은 보존해야 할 기억 경우 상단 또는 하단, 그 곳의 대문자 이건과 isLower 기능 언급 한 이전의 편리 올 것이다. 당신은 두 가지 공식이있을 수 있습니다 - 대문자 하나 와 소문자 하나. 그래서 대문자 이건은 isLower 당신을 도움이 될 것입니다 적용 할 식을 결정합니다. 어떻게 당신이 모든에 수식을 적용 하는가 문자열에서 단일 문자? 음, 문자열은 단지입니다 문자 배열입니다. 그래서 당신은 각 문자에 액세스 할 수 있습니다 의 모든 문자를 통해 그룹화 루프에서 문자열입니다. 루프에 대한 귀하의 상태에 관해서는, 문자열에 대한 함수 strlen 함수, 길이는 유용 올 것이다. 그것은 입력으로 문자열을 소요하고 해당 문자열의 길이를 반환합니다. 올바른 라이브러리를 포함해야합니다 문자열 길이 함수를 사용합니다. 그리고 거기 당신은 당신의 암호문이있다. 내 이름은 Zamyla입니다. 와 [목청 CODE].