-
[07강] 프로젝트 실습 - 스마트 밥솥프로그래밍/C# 2022. 5. 29. 22:17
목차
프로젝트 목표와 개요
필수 클래스와 메서드
기획서 작성
프로그램 화면
메뉴와 전체 구조
전체 구조
코드 보기
정리프로젝트 목표와 개요
프로젝트 목표
- C# 기본 문법 활용
- 프로그래밍에 대한 이해. 논리적 사고
- 필요한 부분을 MSDN에서 검색. 스스로 찾아 학습하는 능력
프로젝트 개요
- 전기 밥솥에서 스마트 밥솥으로 업그레이드
- 쌀, 물, 씻기 등을 자동화
- 가전 제품 동작을 프로그래밍으로 구현
- 역동적인 프로그래밍 구현 -> 시각 + 청각
필수 클래스와 메서드
콘솔창 관련 클래스와 메서트
- 화면 출력 클래스 : Console
- 화면 출력 메서드 : Console.Beep(), Console.Clear(), Console.SetCursorPosition(), Console,SetWindowSize(), Thread.Sleep()
- 콘솔 색상 관련 속성 : Console.BackgroundColor, Console.ForegroundColor
- 임의의 위치로 문자열을 출력해주는 프로그램
예시 코드
static void Main(string[] args) { Console.SetWindowSize(100, 40); Random rand = new Random(); ConsoleColor[] colors = { ConsoleColor.Blue, ConsoleColor.Cyan, ConsoleColor.Red, ConsoleColor.Yellow, ConsoleColor.Green, ConsoleColor.Magenta, ConsoleColor.Gray }; while (true) { Console.Clear(); for (int i = 0; i < 30; i++) { Console.ForegroundColor = colors[rand.Next(7)]; Console.SetCursorPosition(rand.Next(100), rand.Next(40)); Console.Write("Hello World!"); } Thread.Sleep(200); } }기획서 작성
기획서
- 생각을 정리하고 문서화
- 세부적인 기획서는 코드를 간결하게 함
- 업그레이드 되는 프로그램
- 기획서 항목 : 개요, 기능, 개선 사항
프로그램 화면
프로그램 화면
- 화면 디자인이 바뀌면 코드도 바뀜
- 화면 디자인은 사용자 인터페이스임
- 간결하지만 시각적으로 충분한 화면 구성
메뉴와 전체 구조
메뉴 형태
- 배경색과 전경색 활용 : Console.BackgroundColor, Console.ForegroundColor
- 키 입력에 따라 메뉴바 이동
전체 구조
메뉴에 따른 전체 처리 구조
- 메뉴 처리 -> 선택
while(true) { menuIndex = Menu(); // 메뉴 출력 switch(menuIndex) { case 0: // 전원처리 break; case 1: // 뚜껑 처리 break; .. } }코드 보기
밥솥 데이터 구조
- 밥솥 상태 표현 -> 열거형
enum CookerProcess { None, Reiceing, Watering, Washing, Droping, Cooking, Completion, Keeping };
- 구조체
struct RiceCookerInfo
{
public vool CoverOpenClose; // 뚜껑 열기닫기
public bool Power; // 전원 On Off
public CookerProcess State; // 밥솥 진행 상태
public int Rice; // 쌀의 양 g기준, 출력 떄 환산
public int Water; // 물의 양 미리리터 기준, 출력 때 환산
public int Number; // 인원 수
}
- 사운드 출력
SoundPlayer
- using System.Media
- wav 파일 출력
- 코드
SoundPlayer Sound = new SoundPlayer();
Sound.SoundLocation = "xxx.wav";
Sound.Load();
Sound.Play(); // 또는 Sound.PlaySync();
취사 코드
- 취사 루프

- 쌀 넣기 전에 조사하는 코드
전원, 뚜껑, 인원 수, 쌀, 물
정리
- 프로젝트에서 제외된 항목
예약 취사
- 기초 문법만으로 C# 프로그래밍 경험
- 다양한 소재의 프로젝트
전기 장판, 전기 청소기, 스마트 침대, 일반적인 관리 프로그램
- MSDN 사용과 예제 코드
- C# 프로그래밍?
기본 문법 + 기본 클래스 라이브러리 사용
'프로그래밍 > C#' 카테고리의 다른 글
[09강] 속성과 인덱서 (0) 2022.06.13 [08강] 클래스 (0) 2022.05.31 [06강] 파일 입출력 (0) 2022.05.02 [05강] 배열 (0) 2022.04.24 [04강] C# 기본 문법 (0) 2022.04.12