본문 바로가기
Linux

Linux(카페주문관리 프로그램)_2024-08-12

by 앵보몬 2024. 8. 12.
728x90
반응형

카페 주문 관리 프로그램

 

요구사항

1) 사용자 인터페이스

2) 설명 : 메뉴 기반의 텍스트 사용자 인터페이스 제공

3) 사례 : "1. 커피 추가 2. 커피 목록 조회 3. 커피 메뉴 판매 4. 커피 메뉴 삭제 5. 프로그램 종료"

4) 핵심 : 사용자가 쉽게 각 기능을 선택

 

예외 처리

1) 설명 : 파일 입출력 및 잘못된 입력에 대한 예외 처리

2) 사례 : 파일이 없을 경우, 잘못된 수량 입력

3) 핵심 : 안정적인 프로그램 동작 보장

 

!/bin/bash

coffee_list="coffee.txt"

function add_coffee() {
    read -p "추가할 음료를 입력하세요: " drink
    echo "$drink" >> "$coffee_list"
}

#coffee.txt 파일에서 입력된 커피 이름 검색
function sell_coffee {
        read -p "판매할 커피 이름:" coffee
        if grep -qxF "$coffee" "$coffee_list"; then
        echo "$coffee 1잔이 판매되었습니다."
else
        echo "해당 커피는 판매하지 않습니다."
fi
}

function delete_coffee() {
      cat "$coffee_list" | cat -n
      read -p "삭제할 메뉴를 번호로 입력하세요:" number
      sed "${number}d" "$coffee_list" > coffee1.txt
      mv coffee1.txt "$coffee_list"
}

while true; do
    echo "1. 커피 추가"
    echo "2. 커피 목록 조회"
    echo "3. 커피 메뉴 판매"
    echo "4. 커피 메뉴 삭제"
    echo "5. 프로그램 종료"
    read -p "메뉴 선택: " choice

    case $choice in
        1) add_coffee ;;
        2) cat -n "$coffee_list" ;;
        3) sell_coffee ;;
        4) delete_coffee ;;
        5) exit 0 ;;
        *) echo "잘못된 입력입니다." ;;
    esac
done

 

728x90
반응형

'Linux' 카테고리의 다른 글

Linux(APT)_2024-08-13  (0) 2024.08.13
Linux(사용자 계정 생성 및 삭제)_2024-08-13  (0) 2024.08.13
Linux(메모장 프로그램)_2024-08-12  (0) 2024.08.12
Linux(쉘 스크립트)_2024-08-12  (0) 2024.08.12
Linux(마운트)_2024-08-09  (0) 2024.08.09