PC에서 시작하는 센서 기록기
터미널·변수·조건·반복을 익히고 가짜 센서 입력을 읽는 첫 C 프로그램을 만듭니다.
진도 0%
레슨
- 입력과 출력부터 실행하기
정수 센서 입력을 읽어 범위를 벗어난 값에는 INVALID를 출력합니다.
- 변수와 반복으로 샘플 읽기
입력한 샘플의 개수·최솟값·최댓값을 계산합니다.
- C로 옮기는 측정 함수
조건문·반복문·함수로 센서 범위 검사를 구현합니다.
- 소스에서 실행 파일까지
gcc로 전처리·컴파일·링크를 나누고 누락된 함수 정의를 복구합니다.
PC에서 시작하는 센서 기록기 미션
첫 모듈이므로 이전 미션은 없습니다. PC의 공백 구분 정수 입력으로 센서 기록기의 첫 CLI를 만들고, 다음 모듈에서 시간·raw 구조체 버퍼를 추가할 수 있도록 소스와 회귀 검사를 남깁니다.
요구사항
- sensor.c의 sample_valid는 0~4095에 1, 나머지 int에 0을 반환하며 함수 안에서 출력하지 않습니다.
- main.c의 제공된 파서를 유지하고 OK raw / INVALID / SUMMARY count min max 계약을 지킵니다. 유효값이 없으면 SUMMARY 0 NONE NONE입니다.
- 토큰은 부호를 허용한 십진 정수, 63자 이하, 전체 100만 개 이하입니다. 형식 오류와 int 초과는 stderr ERROR token 및 종료 코드 2로 중단하며 최종 요약은 내지 않습니다.
- Makefile은 gcc -std=c11 -Wall -Wextra -Werror로 객체를 생성하고 main.o와 sensor.o를 함께 연결합니다.
- README.md에 자신의 OS·CPU·도구 버전, 빌드 단계 명령, 누락 링크의 실제 오류와 복구 후 결과, PC 검증 및 실물 미검증의 경계를 기록합니다.
완료 기준
- make clean 후 make test가 종료 코드 0으로 끝나며 함수 7개 및 CLI 10개 사례가 통과합니다.
- 정상값 0·4095는 수락, -1·4096은 거부하고 중복·순서 변화·빈 입력·형식 오류·int 초과를 시험합니다.
- main.o만 연결한 명령은 sample_valid 정의 누락 진단으로 실패하고 sensor.o를 함께 연결하면 실행 파일 생성 및 실행이 성공합니다.
- 최종 SUMMARY의 건수는 유효 샘플만 포함하고 중복도 세며, 미관측은 정상 0과 구분합니다.
make test미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 범위 검사·입력 파싱·출력 책임이 파일과 함수 설명에서 구별됩니다.
- 정의 누락의 실제 함수명과 연결에서 복구한 객체가 명확합니다.
- 작성자의 환경과 학습자 환경을 구분하고 PC 시험으로 증명하지 못한 실물 조건을 기록합니다.
- 다음 모듈에 넘길 main.c·sensor.c·sensor.h·Makefile·동일한 회귀 검사가 함께 있습니다.