ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CS50 코칭스터디] CS50 코칭스터디2기_2주차
    CS50 코칭스터디2기 2021. 1. 24. 14:51

    2주차_C언어팀미션

     

     

    문제 1

    여러분은 기존 오프라인에서 리테일 사업으로 유명한 신선식품 업체에 입사한 개발자 입니다.

    최근 디지털 트랜스포메이션 이슈에 따라 기존 오프라인으로 운영하던 리테일 사업을 온라인으로 전환하게 되었습니다.

    여러분에게는 기존 오프라인에서 일어나던 일들을 온라인 쇼핑몰로 전환하는 임무를 진행하게 됩니다.

    성공적으로 첫 임무를 완수하여 팀장님의 신임을 얻고 성취감도 느껴보세요!

      

    이제 입사한지 얼마 되지 않았기 때문에 간단한 재고 관리 프로그램 개발의 일부를 맡게 되었습니다.

    주문이 들어왔을 때 재고량을 적절하게 관리하지 못 하면 재고가 없는 물품의 주문이 추가로 일어날 수 있습니다. 그러면 고객의 불만이 발생할 수 있기 때문에 재고량을 관리가 필요합니다. 또 이렇게 관리한 데이터를 바탕으로 미래의 재고량 수급에 참고 할 수 있을 것입니다.

     

    주문이 들어왔을 때 특정 물품의 재고량을 하나 줄이고 매출액을 더하는 일을 하게 됩니다.

     

    기존에 수박의 재고량은 5개였습니다.

    이번에 들어온 주문은 수박 3건이며, 해당 물품의 가격은 10000원 입니다.

    재고량을 차감해주고 매출액을 구하는 프로그램을 만들어 주세요.

     

    또 매출액에서 부가세를 구해주세요. 부가세는 물품가격의 10% 입니다.

    매출액은 물품의 가격과 부가세를 합산한 가격으로 구합니다.

     

    재고량과 매출액을 구하고 다음의 문구를 출력하도록 프로그램을 구현합니다.

    (수업 내용을 바탕으로 C언어로 구현하며, 변수명은 자유롭게 지정합니다.)

     

    주문건수 : 0 건

    기존 재고량 : 0개

    남은 재고량 : 0개

    매출액(부가세포함) : 000원

     

    #include <stdio.h>
    #include <cs50.h>
    
    int main(void)
    {
        printf("재고관리 시스템입니다\n");
        string product = get_string("물품의 이름이 무엇인가요: ");      //물품 이름 입력
        int price = get_int("\n물품의 가격을 입력해주세요. \n','없이 원을 뺀 숫자만 입력해주세요 ex)5000 : ");     //물품 가격 입력
        int stock = get_int("\n재고량을 입력하세요.\n숫자만 입력해주세요: ");       //재고량 입력
        int order = get_int("\n주문건수를 입력해주세요.\n숫자만 입력해주세요: ");   //주문건수 입력
        int rest = stock;      //남은 재고량
        float total = 0;       //매출액
        if (order>stock)        //주문건수가 재고량보다 많은 경우
        {
            printf("현재 재고량보다 물품 %i개 부족합니다. 재주문 혹은 주문 취소 절차가 필요합니다.\n", order-stock);    //부족한 갯수 출력
        }
        else                    //'재고량 >= 주문건수'인 경우
        {
            for(int i=0;i<order;i++){     //주문이 들어왔을 때 물품의 재고량을 하나 줄이고 매출액 더하기
                rest--;
                total = total + price + price*0.1;
            }
            printf("\n");
            printf("상품명: %s\n", product);                //상품명 출력
            printf("주문건수: %i건\n", order);              //주문건수 출력
            printf("기존 재고량: %i개\n", stock);            //기존 재고량 출력
            printf("남은 재고량: %i개\n", rest);            //남은 재고량 출력
            printf("매출액(부가세포함): %.f원\n", total);   //매출액 출력
        }
    }

     

    문제 2

     

    여러분은 인터넷 은행의 인턴으로 취업을 했습니다.

    1년 동안 저축을 했을 때 이율을 원금의 1.2%로 주는 예금이 있다고 합니다.

    고객이 목표금액을 입력하면 1년 만기시 받는 원금과 이자의 합계를 출력해 주는 코드를 작성해 달라는 팀장님의 지시를 받았습니다.

    예금액에 따라 만기시 받게 되는 금액을 구하는 코드를 작성해 주세요.

     

    #include <stdio.h>
    #include <cs50.h>
    
    float savings(int deposit);     //1년 만기시 받는 원금과 이자의 합계를 구하는 함수 원형 선언
    
    int main()
    {
      float money;              
      int deposit = get_int("목표금액을 입력하세요 : ");       //목표 금액 입력
      money = savings(deposit);                //함수 사용
      printf("1년 만기시 받게 될 고객님의 총 금액은 %.1f원입니다.\n", money);     //만기 시 받게 될 금액 출력 
    }
    
    float savings(int deposit)         //1년 만기시 받는 원금과 이자의 합계를 구하는 함수
    {
        float total = deposit * 1.012;
        return total;
    }
    

     

    문제 3

     

    모바일 프로그래밍을 배우고 프로그래머로 취업을 하려고 하고있습니다.

    신장개업을 하는 식당의 어플리케이션을 개발해 달라는 업무가 들어왔습니다.

     

    이 식당은 손님들의 편의를 위해 모바일앱을 통한 쿠폰이나 서비스를 제공하고자 합니다.

    프로모션을 위해 오늘의 메뉴를 할인해서 판매하고 있습니다.

     

    의뢰자는 음식점의 앱에 들어와서 요일을 입력하면 해당 요일의 메뉴를 출력해 달라고 요청을 했습니다.

    요일을 입력했을 때 해당 요일의 메뉴를 출력해 주는 프로그램을 개발 해서 고객의 요구사항을 잘 구현해 주세요!

     

    각 요일별 메뉴는 다음과 같습니다.

     

    월요일 : 청국장

    화요일 : 비빔밥

    수요일 : 된장찌개

    목요일 : 칼국수

    금요일 : 냉면

    토요일 : 소불고기

    일요일 : 오삼불고기

     

    #include <cs50.h>
    #include <stdio.h>
    #include <string.h>           // strcmp, 문자열 관련 함수 파일
    
    int main (void) 
    {
        char MON[] ="월요일";
        char TUE[] ="화요일";
        char WED[] ="수요일";
        char THU[] ="목요일";
        char FRI[] ="금요일";
        char SAT[] ="토요일";
        char SUN[] ="일요일";
        
        printf("음식점에 오신 것을 환영합니다.\n");
        string day = get_string("요일을 입력하세요 : ");     //요일 입력받기
        if (strcmp(day, MON)==0) {                  //월요일이 입력된 경우
            string menu = "청국장";
            printf("%s : %s\n",day, menu);
        }
        else if (strcmp(day, TUE)==0) {             //화요일이 입력된 경우
            string menu = "비빔밥";                 
            printf("%s : %s\n", day, menu);
        }
        else if (strcmp(day, WED)==0) {             //수요일이 입력된 경우
            string menu = "된장찌개";
            printf("%s : %s\n", day, menu);
        }
        else if (strcmp(day, THU)==0) {             //목요일이 입력된 경우
            string menu = "칼국수";
            printf("%s : %s\n", day, menu);
        }
        else if (strcmp(day, FRI)==0) {             //금요일이 입력된 경우
            string menu = "냉면";
            printf("%s : %s\n", day, menu);
        }
        else if (strcmp(day, SAT)==0) {             //토요일이 입력된 경우
            string menu = "소불고기";
            printf("%s : %s\n", day, menu);
        }
        else if (strcmp(day, SUN)==0) {             //일요일이 입력된 경우
            string menu = "오삼불고기";
            printf("%s : %s\n", day, menu);
        }
    }

     

    파이썬으로 처음 코딩을 배웠는데 C언어는 구체적인 구현을 요구해서 조금 더 까다로운것 같습니다..!

    그냥 주 언어는 파이썬으로 ㅋㅋ.. 하지만 C언어가 컴퓨터의 물리적인 부분과 많이 맞닿아 있어서 꼭 배워야하는거는 맞는것 같습니다. 

     

Designed by Tistory.