1. 오늘 한 내용
① 출고 시스템 고도화
- 단품 / 커스텀 / 프리셋 세트 출고 구조 정리
- 입고 메뉴와 UI 흐름을 대칭 구조로 통일
- 사용자 입장에서 메뉴 흐름 일관성 확보
② 커스텀 세트 삭제 기능 구현
- 연결 리스트 노드 삭제 로직 완성
- 삭제 후 custom_sets.txt 파일 동기화
- 메모리 해제 및 파일 갱신까지 일관 처리
③ 자동 매출 장부 시스템 구축
- 출고 발생 시 순이익 계산
- sales.txt에 실시간 기록
- 단품/세트 출고 모두 장부 기록되도록 통합
순이익 계산식:
NetProfit = (SellPrice - CostPrice) × Quantity
④ 매출 내역 조회 기능 추가
- 터미널에서 전체 거래 내역 확인 가능
- 파일 읽기 기반 조회 로직 구현
- 누적 매출 흐름 확인 가능
2. 직면했던 에러 및 해결 과정
① curr undeclared
- 원인
반복문에서 시작 노드 초기화 없이 사용 - 해결
CustomSet* curr = customHead; 선언 후 사용
② 함수 인자 개수 불일치
- 원인
processSetRelease 정의와 호출 시 매개변수 개수 다름 - 해결
수량(qty) 매개변수 추가
헤더 파일과 함수 정의 동기화
③ 재고가 차감되지 않음 (1)
- 원인
for문의 인덱스 변수 초기화 누락 - 해결
for (int i = 0; i < size; i++)
0 초기화 확인
④ 재고가 차감되지 않음 (2)
- 원인
수량 입력 전에 함수 호출 - 해결
입력 → 함수 호출 순서로 실행 흐름 교정
⑤ 괄호 오타로 컴파일 실패
- 원인
} 대신 { 입력 - 해결
블록 구조 재검토
괄호 짝 전체 점검
⑥ 장부 기록 누락
- 원인
세트 출고에만 logSale() 적용
단품 출고에는 누락 - 해결
단품 출고 로직 하단에 logSale() 추가
3. 오늘 배운 핵심 개념
① 파일 모드의 차이
- "w"
기존 내용 삭제 후 새로 작성
→ 커스텀 세트 갱신 시 사용 - "a"
기존 내용 유지 후 뒤에 추가
→ 매출 장부 누적 기록 시 사용
② 연결 리스트 삭제의 핵심
- prev와 curr 동시 추적
- 노드 연결 재구성 후 메모리 해제
- 삭제 후 파일 동기화까지 고려해야 완전한 삭제
③ 함수 스코프와 지역 변수
- 같은 이름의 변수라도
- 함수가 다르면 서로 간섭하지 않음
- 지역 변수의 독립성 이해
④ 실행 순서의 중요성
입력 → 검증 → 처리
이 순서가 무너지면 로직이 정상 동작하지 않음
4. 현재 프로그램 진행도
| F01 입고 | F01-1. 신규단품입고 | ✅ |
| F01-2. 기존단품입고 | ✅ | |
| F01-3. 신규 커스텀 세트 입고 | ✅ | |
| F01-4. 기존 커스텀 세트 입고 | ✅ | |
| F01-5. 프리셋 세트 입고 | ✅ | |
| F02 수정 | 수량,원가,출고가 수정 | ✅ |
| F03 삭제 | F03-1. 단품 삭제 | ✅ |
| F03-2. 커스텀 세트 삭제 | ✅ | |
| F04 출고 | F04-1. 단품 출고 | ✅ |
| F04-2. 커스텀 세트 출고 | ✅ | |
| F04-3. 프리셋 세트 출고 | ✅ | |
| F05 조회 | 전체 재고 조회 | ✅ |
| F06 장부 | 출고 품목 및 매출 조회 | ✅ |
(기능 기준으로는 핵심 시스템 100% 구현 상태)
5. 다음 목표
- 예외 처리 강화
- 잘못된 입력 방어 로직
- 존재하지 않는 ID 처리
- 코드 리팩토링
- 반복 코드 함수화
- inventory.c 구조 정리
- 매출 통계 기능 추가
- 총매출 계산
- 베스트 아이템 순위 출력
- 프로젝트 발표 준비
- 프로젝트 ppt 최종준비
- 포트폴리오 작성
'포트폴리오 > [IoT 기반 피지컬 AI 교육일지]' 카테고리의 다른 글
| [ 16일차 기록 ] 조립 PC 재고 관리 프로그램 개발기 #7 (최종 산출물 작성: 보고서 및 포트폴리오) (0) | 2026.03.03 |
|---|---|
| [ 15일차 기록 ] 조립 PC 재고 관리 프로그램 개발기 #6 (리팩토링 및 안정화) (0) | 2026.03.03 |
| [ 13일차 기록 ] 조립 PC 재고 관리 프로그램 개발기 #4 (기능 확장) (0) | 2026.02.25 |
| [ 12일차 기록 ] 조립 PC 재고 관리 프로그램 개발기 #3 (대규모 데이터셋 구축 및 세트 출고 시스템 완성) (0) | 2026.02.23 |
| [ 11일차 기록 ] 조립 PC 재고 관리 프로그램 개발기 #2 (정렬 로직 개선 & 출고 기능 안정화) (1) | 2026.02.20 |