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 |