2016년 10월 16일 일요일

코딩 트레이닝 3_2 피자파티

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
  </style>
    <script   src="../lib/jquery-3.1.1.min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js">
    </script>
    <script>
    
    $(document).ready(function(){
      var n, gPizza ;
      n = getInput();
      n = n.split",");
      var pizza;
      n =_.map(n, function(num){
       return  parseInt(num);
      })
      if(isNum(n[0],n[1],n[2])){
        //나머지가 받을 피자수를 반환한다.
        //처리
        pizza = do_calc(n[0],n[1],n[2]);
      }else{
        pizza = {
          member : 0,            // 사람수
          cnt : 0,               //피자의갯수
          cuts : 0,              //나눌조각
          receive: 0,        // 분배받을 피자
          left : 0             //분배후 나머지
        }
      }
      showOnScreen(pizza);
      /*
      입력 - 사람수, 피자 개수, 조각개수
            4      1        8           =         8  / 4    * 피자 갯수   =2
      피자의 조각갯수는 짝수여야한다.
      한사람이 받게되는 피자 조각 개수를 출력
      나머지 연산자 %    버림 연산자 Math.floor(n)
      */
      $('#btn1').click(() => {
        var pc, pizza_count;
        pc = parseInt($('#person_count').val());
        hc = parseInt($('#hope_count').val());
        pizza_count = Math.floor((pc * hc / 8+1);
        console.log(pizza_count);
        $('#pizza_count').val(pizza_count);
      })
    })
    function  do_calc(n0,n1,n2){
        var gPizza = n2 / n0 * n1
        var left = n2 % n0;
        var pizza ={
          member : n0,            // 사람수
          cnt : n1,               //피자의갯수
          cuts : n2,              //나눌조각
          receive: gPizza,        // 분배받을 피자
          left : left             //분배후 나머지
        }
        return pizza;
      }
    function getInput(){
      var numbers ;
      numbers = prompt("사람수, 피자수, 조각수")
      return numbers;
    }
    function showOnScreen(pizza){
      //           piece 단수  pieces 복수         pizzas 복수  pizza 단수
      str = "<h4>";
      str += "how many people? "+ pizza.member +"<br>" ;
      str += "how many pizzas do you have ? " + pizza.cnt  +"<br>";
      str += "<br>";
      str += "How many pieces are in a pizza ? " + pizza.cuts  +"<br>";
      str += pizza.member+ "  people with " + pizza.cnt + " <span>pizzas.</span> "+"<br>";
      if(pizza.receive >= 2){
        str += "Each person gets " + pizza.receive + " pieces of pizza. " +"<br>" ;
      }else{
        str += "Each person gets " + pizza.receive + " piece of pizza. " +"<br>" ;
      }
      if(pizza.left >=2){
        str += "there are " + pizza.left + " leftover pieces." +"<br>" ;
      }else{
        str += "there are " + pizza.left + " leftover piece." +"<br>" ;
      }
      str += "</h4>";
      $('#bar').prepend(str);
    }
    function isNum(n1,n2,n3){
      if(isNaN(n1) || isNaN(n2) || isNaN(n3)){
        $('#flash').append('<div>숫자가 아닙니다.</div>')
        return false;
      }else if(n1===''||n2===''||n3===''){
        $('#flash').append('<div>빈값이 있습니다.</div>')
        return false;
      }else{
        $('#flash').empty();
        return true;
      }
    }
      // 플래시 메시지
    </script>
  </head>
  <body>
    <div id="foo">
      <div class="" id="flash">
      </div>
    </div>
    <div class="" id="bar">
      <h3> 피자 구매량 파악 프로그램</h3>
      <label for="person_count">
        피자를 먹을사람의 수
      </label>
      <input type="text" id="person_count" value=""> <br>
      <label for="hope_count">
        1인당 원하는 피자조각의 수
      </label>
      <input type="text" id="hope_count" value=""> <br>
      <label for="pizza_count">
        구매해야하는 피자의 수
      </label>
      <input type="text" id="pizza_count" value=""> <input type="button" id="btn1" value="결과"><br>
    </div>
  </body>
</html>
cs


사람수, 피자수, 피자 조각수 를 입력하면
한사람이 분배받게될 피자의 수와 남는수를 구하는 예제이다.

두번째 입력텍스트로 받는 내용은
사람수, 분배희망수를 입력하면 구매해야할 피자의 수를 구하는 내용입니다.

부분적이지만 언더스코어 라이브러리까지 사용해 보았다. 


댓글 없음: