[음악 연주] ZAMYLA CHAN : 당신이 오히려받을 것이다 1천만달러 지금 또는 수신 동전 달의 매일 위치 각 후속 하루, 당신은받을 당신이 동전의 양을 두 배로 전날 받았 는가? 동전, 우리는 거 야 증명 왜해야 확실히 동전을. - pennies.c - 당신의 작업은 작성하는 것입니다 첫 번째 방법을 사용자에게 요청하는 프로그램 거기에 많은 일 개월이며, 다음 사용자 얼마나 많은 동전 묻는다 첫 날에 받게됩니다. 이 프로그램은 다음을 계산한다 사용자가있을 것이라는 점을 양 의 끝에서 축적 된 달을 표시합니다. 우리는이 프로그램을 중단 할 수 있습니다 작업의 몇 가지에. 우리는 당신을위한 메시지를 표시해야합니다 여러 사용자 입력 - 일 개월 및 동전 첫날. 우리는 추적 할 필요가 얼마나 많은 돈을 사용자가 모든이 있고이를 업데이트 하루 양을 두 배로 그들이받는 동전. 그리고 마지막으로, 우리는 인쇄 그들의 달러 최종 합계. 태클 사용자 입력하자. 나는 apples.c을 열거야 호텔 쇼트 프로그램 입력 및 출력. 여기에 상단에, 나는 약간을 포함했습니다 - 내가 필요로하는 라이브러리 CS50의 라이브러리와 표준 I / O 라이브러리입니다. 나는를 사용하여 메시지를 인쇄 에서 printf 함수 표준 I / O 라이브러리입니다. 그러나 사용자의 메시지의 실제 이와 함께 다음 줄에서 발생 CS50 도서관에서 getInt는 기능. getInt는이 사용자로부터 입력을 얻 입력이 정수인지 확인합니다. 그래서 정수로 사용자의 입력을 저장 난에서 1을 뺀 후 나는 경우 새 값을 인쇄합니다. 를 사용하여 apples.c을 컴파일 한 후 명령은 "사과 할,"나는가 실행 파일 사과. I 입력 1이 (가) 있습니다 실행합니다. 이 프로그램은 나에게 이야기하는 나는 왼쪽으로 0 사과를해야합니다. 그리고 예상대로 작동합니다. 그럼 다시이 실행할 수 부정과 입력 1. 지금 사과 음수 금액을 가지고 정말 이해하지 않지만, 부정적인 때문에 프로그램은이를 허용 1, 잘, 그것은 정수입니다. 그리고 지금 프로그램이나 몬스터 프로그램은 부정을 먹는다 내부 애플은 지금은이 마이너스 2 사과입니다. 흠, 그래서 하나의 교훈 - 비록 getInt는 기능과 관련 GetFlow 같은 기능을하거나, 얻는에게 올바른 데이터 유형을 getString에, 당신 입력이 만드는 있는지 확인해야합니다 프로그램에 대한 감각. 동전에, 그냥 프롬프트하지 않습니다 정수의 경우 확인해야합니다 반드시 사용자가 입력하는 정수를이 그 상황에 주어진 의미합니다. 월은 28을 가질 수 있습니다 29, 30, 31 일. 우리는 지속적으로 요구하고 싶은 유효한 정수. 그들은 입력 우리의 정수 밖에있는 경우 허용 범위는, 우리는 그들을하라는 메시지를 표시합니다 또 다시, 할 때까지 우리에게 유효한 정수를 제공합니다. "될 때까지 반복"을 기억 스크래치에 차단? 당신은 유사한 구문을 만들 수 있습니다 C에 "동안"루프를 사용하여 또는 "할 - 동안"루프. while 루프 구조는 조건이 충족해야하는 실행하는 루프의 본문입니다. 이것은 거의 유사합니다 조건은 비슷하기 때문에 각도 스크래치 블록 그리고 괄호로 전환 "동안"루프. 그래서 조건이 있는지 확인합니다 정수 내에 적절한 경계. 당신은 정수를 사용 getInt는 메시지를 표시 할 수 있습니다 그리고 당신의 "동안"실행 루프 반복 프롬프트 및 인쇄 지침 동안 입력 유효하지 않습니다. 올바른 사용자 입력을 확인하는 또 다른 방법 , "할 - 동안"루프를 사용하는 것입니다 이는 while 루프와 매우 비슷합니다. "할 - 동안"루프는 코드를 실행 몸 것들하고 검사 안에 조건이 충족 여부. 이것은 사용자 입력을 얻는 데 유용합니다 당신은 당신이 필요로하는 것을 알고 있기 때문에 한 번 이상 그 메시지를 표시합니다. 조건이 충족되지 않을 경우, 프로그램 후 줄을 실행합니다 당신의 "할 - 동안"루프. 조건이 비록 충족하는 경우, 루프가 반복됩니다 사용자의 유효성을 검사 "할 - 동안"루프 입력은 다음과 같이 보일 것입니다. 나는 변수 N, getInt를 선언하고, n은 유효한 때까지 반복합니다. 이 과정은, 내가 설명, 사용했다 정수 데이터 유형, 어떤 당신은 달의 일에 사용됩니다. 그러나 우리는 알고 동전의 수 하기 위해, 그래서 빨리 쌓아합니다 큰 숫자를 저장할 데이터 타입 사용 LONGLONG,하지만 같은 기억 검증의 원칙이 적용됩니다. 멋진, 그래서 일단 우리는 두 개의 유효한이 사용자로부터 입력 - 월의 일 및 동전 첫날 - 우리는 다음에 이동할 수 있습니다 프로그램의 일부입니다. 첫 날, 사용자가 시작 그들은 지정된 그러나 많은 동전 과 동전의 양을 그들이 다음 날받을 수는 두 배가됩니다. 그래서 추적하는 것이 좋습니다 이 두 금액 - 사용자가 얼마나 얼마나 많은 돈을 많은 동전들은이 제공됩니다. 지금 28~31일 위해 뭔가를하고 반복적이기 때문에의를위한 ""를 사용하자 에서 일을 반복하는 루프 월, 총과 페니 업데이트 때마다 금액입니다. 루프 구문은 포함 "를" 다음 - 초기화, 조건, 및 업데이트. 당신의 "for"루프는 초기화 변수 때 첫 번째는 루프에 들어갑니다. 조건이 충족되는 경우, 신체 루프를 실행합니다. 그 후, 업데이트가 실행됩니다. 조건이 충족되는 경우, 루프는 실행하고 업데이트 및 것 만큼 당신의 상태로 반복 true로 평가합니다. 여기를 나누는 "for"루프이다 2 10 배의 총에 의해 정수 P. 내가 정수 P를 선언하는 방법 참고 내 "for"루프 이외의, 그래서 정수에 액세스 할 수 있습니다 "for"루프 밖에. 달이 경과 한 후, 시간 가 사용자에게 얼마나 많은 돈을 그들은 쪘 구만. 사양 당, 사용자에게 필요 얼마나 많은 달러가 아니라 얼마나 많은 동전, 그들은있다. 그러나 지금까지, 당신은 추적을 유지 한 총과 LongLongs을 사용하여 동전, 전체 숫자는 어떤 수 있습니다. $ 1 100 동전, 그래서이없는 한 동전의 개수는 100의 배수, 당신은해야합니다 소수 자릿수를 나타냅니다. 배 오토 타이프는 할 수 있습니다 이 작업을 수행합니다. 그래서 우리는 어떻게 표현에서 변환합니까 달러 동전? 의를 살펴 보자 pi.c. 이 프로그램은 LONGLONG big_pi 및 소요 100,000으로 분할하고, 인쇄 소수점 다섯 자리까지 결과. 우리는 네 개의 십진수를 표시하려는 경우 장소는, 우리는 그냥이를 대체 할 수 여기에 수. 그러니, 저장 PI를 컴파일하고 보자 다음 결과를 볼 수있는 우리 3.1415 것으로 예상 - 파이의 처음 다섯 자리. 그래도되지 않습니다. 왜? 음, big_pi는 LONGLONG이기 때문에 정수는, 어느입니다하지 않습니다 소수의 추적 보관하십시오. 내가 필요한 수정 확인이 부문에 있습니다. 내가 전에 여기 double로 캐스팅해야 복식 유지할 수 없기 때문에 분할 소수 자릿수 추적 할 수 있습니다. 그리고 새로운 라인을 추가 할거야 여기에 더 나은 서식. 그리고 여기에 우리가 그것을 가지고 - 3.1416. 당신은 3.1416를 인쇄 것을 알 수 있습니다 대신에 3.1415의 예상대로. 동안 그것 때문에 라운드 그건 분할 프로세스처럼 반대 값을 자르는. 이제 인쇄 할 수 있어야한다 완료 정확하게 최종 합계, 프로그램입니다. 축하합니다. 내 이름은 Zamyla입니다. 그리고이 동전이었다. [음악 연주]