>> [음악 연주]
>> 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입니다.
그리고이 동전이었다.
>> [음악 연주]