Devin.KR

PC에서 시작하는 센서 기록기

터미널·변수·조건·반복을 익히고 가짜 센서 입력을 읽는 첫 C 프로그램을 만듭니다.

진도 0%

레슨

  1. 입력과 출력부터 실행하기

    정수 센서 입력을 읽어 범위를 벗어난 값에는 INVALID를 출력합니다.

  2. 변수와 반복으로 샘플 읽기

    입력한 샘플의 개수·최솟값·최댓값을 계산합니다.

  3. C로 옮기는 측정 함수

    조건문·반복문·함수로 센서 범위 검사를 구현합니다.

  4. 소스에서 실행 파일까지

    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·동일한 회귀 검사가 함께 있습니다.