Ruby로 BPM 계산하기

7104 단어 whileIfRubyBPM

문제.


다음 규격에 맞는 프로그램을 만드세요.또한 주의 사항을 읽은 후 설치에 들어가십시오.설치 시 아래에 기재된 초기 모양을 사용하십시오.
규격.
실행 후[1]: 등록, [2]: 데이터 확인, [3]: 종료 옵션을 표시하고 사용자에게 입력을 요청하며 입력에 따라 다음과 같이 처리한다.
[1]의 처리
이름, 나이, 키, 몸무게 입력
저장: 키와 몸무게에서 선택한 BMI의 이름, 나이, 키, 몸무게, BMI
[2]의 처리
투고한 정보에 따라 번호와 이름으로 일람(예[1]산전)을 표시하고 보고 싶은 개인 번호를 입력해야 한다.
입력한 개인 이름, 나이, 키, 몸무게, BMI 표시
[3]의 처리
응용 프로그램 종료
[3] 애플리케이션을 종료하기 전에 원고 또는 열람을 반복합니다.
주의
정확히 움직이는 곳까지 채점 대상이기 때문에 동작을 확인하면서 진행해야 한다.오류는 인터넷에서 찾아보거나 해결해야 한다.오류가 발생했을 때 이전의 설치를 하지 마십시오.
def register_data
  # 人の登録をするための関数を完成させなさい
  # 身長と体重では少数を扱えるようにto_iではなくto_fを使用すること
end

def calculate_bmi
  # BMIを求めるための関数を完成させなさい
end

def show_data_list
  puts '見たい人の番号を選択してください'
  # 保存された全て人の名前と番号を表示するための関数を完成させなさい
  # 表示形式が番号; 名前となるようにしなさい
end

def show_data
  # 一覧から選択された人の全ての情報を表示する関数を完成させなさい
end

data = []
while true
  puts '選択してください'
  puts '[0]登録する'
  puts '[1]データを確認する'
  puts '[2]終了する'
  input = gets.to_i

  if input == 0
    # 人の情報をするための関数を呼びなさい
  elsif input == 1
    # 保存されたデータを一覧で表示するための関数を呼びなさい
  elsif input == 2
    # アプリケーションを終了させなさい
  else
    puts '無効な値です'
  end
end

while 문


먼저 데이터라는 상자를 만들어 입력한 물건을 저장할 수 있도록 한다.
사용자가 명령을 입력할 수 있도록puts로 지시를 기록합니다.gets문의.to_i 방법은 문자열을 디지털 대상으로 수정합니다.읽을 때 0, 1, 2로 판단하기 때문이다.
== 이 두 등호는 좌우 등식이 같다는 것을 나타낸다.프로그래밍의 = 한 단어와 같다는 뜻은 오른쪽을 왼쪽으로 대입하는 것이다.
data = []
while true
  puts "選択してください"
  puts "[0]登録する"
  puts "[1]データを確認する"
  puts "[2]終了する"
  input = gets.to_i


  if input == 0
    register_data(data)
  elsif input == 1
    show_data_list(data)
  elsif input == 2
    exit
  else
    puts '無効な値です'
  end
end
이어서 input의 숫자에 따라 이동식을 표시합니다.0이면 register, 그 외에 1이면 Show데이터, 이외에 2인 경우 종료해야 하기 때문에 이 exit에서 종료합니다.이 외에 상관없는 문자를 입력하면puts에서 '무효한 값'으로while문의 시작으로 되돌아옵니다.
만약 문장에 기재된register데이터 및 show데이터의 ()는 []의 데이터에서 데이터를 추출하는 데 필요한 것입니다.

<참조: http://prog-8.com/slides?displayed-id=188&lesson=4>

데이터 입력


이것은 사용자가 처음에 [0]를 입력하여 데이터 입력을 선택할 때의 화면 제작이다.
def에서register데이터 함수를 정의합니다.사용자가 입력한name,age,tall,weight를hash로person에 넣습니다.데이터0 몸무게와 키에 주의해야 한다.to_f 방법을 사용하면 소수점을 처리할 수 있다.
※ while 문장의 () 내와 0이 다른 것은 반드시 어디에 있어야 하는지를 표시하기 위해서입니다.사용자가 입력한 물건과 상자가 분리되어 있기 때문에 답이 없는 input라는 문장을 남겼다.
def register_data(data0)
  puts "名前を入力して下さい"
  input_name = gets.chomp
  puts "年齢を入力して下さい"
  input_age = gets.chomp
  puts "身長を入力して下さい[m]"
  input_tall = gets.to_f
  puts "体重を入力して下さい"
  input_weight = gets.to_f
  person = { name: input_name, age: input_age, tall: input_tall, weight: input_weight, bmi: calculate_bmi(input_tall, input_weight), proper: calculate_proper(input_tall)}
    data0 << person
end

<참조: http://prog-8.com/slides?displayed-id=190&lesson=4>

BMI 정의


저번처럼 def calculatebmi(talll 0, weight0)를 정의합니다.BMI는 키와 몸무게, 몸무게로 구하기 때문에 이 공식은def에 적용된다.그럼요.데이터 다음에 이 공식을 정의하지 않으면 상자 안에 데이터가 없는 상태에서 오류가 발생할 수 있으니 주의하세요.
※ tall0과 weight0의 0은while문과def내에서 동일해야 하는 부분을 표시하기 위한 것입니다.
def calculate_bmi(tall0, weight0)
  bmi = weight0 / tall0 / tall0
end

이름 데이터 읽기


이것은 사용자가 처음에 [1]을 입력하여 데이터를 읽으려고 선택할 때의 화면 제작이다.
data.each_with_indexdo||에 저장된 데이터를 나열할 수 있습니다.||안에는hash, 이름을 입력한 개인과 넣는 순서대로 분배된 번호가 들어있습니다.사람이 볼 때 0부터 시작한다는 걸 알면 힘들기 때문에 index에 한 켤레를 더했다.입력할 때 1을 빼다.마지막으로 선택한 정보를 표시하기 위해 Show데이터를 호출하는 중입니다.() 내의 데이터 0은 이 글에서 모두 통일되어야 한다.
def show_data_list(data0)
  puts '見たい人の番号を選択してください'
  data0.each_with_index do |person0, index0|
    puts "#{index0 + 1}: #{person0[:name]}"
  end
  input = gets.to_i - 1
   #person = data0[input]を加えてperson = data0[input0]を消してもいい。その際はshow_data(person)に直すこと。
  show_data(data0, input)
end

데이터 출력


사용자가 입력한 데이터를 호출하고 계산된 BMI를 호출합니다.모든 input의 번호는 개인에 들어가는name,age,talll 등의 가치를 나타낸다.또한 상자에 명명된 데이터와 input도 별명일 수 있지만if문과person문의 데이터0은 input0과 같아야 한다.
\t tag 버튼처럼 공백을 열어 표시할 수 있습니다.
주의점은 '더블 인덱스' 로 문자열을 표시할 수 있지만, 여기에는 # {} 루비 표현식을 포위해야 합니다.또한 BMI의 값은 소수점으로 자릿수가 너무 많기 때문에 {key[:value].round}를 반올림할 수 있습니다.
def show_data(data0, input0)
  person = data0[input0]
  puts "名前: \t #{person[:name]} \t 様"
  puts "年齢: \t #{person[:age]} \t 歳"
  puts "身長: \t #{person[:tall]} \t m"
  puts "体重: \t #{person[:weight]} \t kg"
  puts "BMI: \t #{person[:bmi].round} \t (22が標準値)"
  puts "適正体重: #{person[:proper]} \t "
end

대답하다.

def register_data(data0)
  puts "名前を入力して下さい"
  input_name = gets.chomp
  puts "年齢を入力して下さい"
  input_age = gets.chomp
  puts "身長を入力して下さい[m]"
  input_tall = gets.to_f
  puts "体重を入力して下さい"
  input_weight = gets.to_f
  person = { name: input_name, age: input_age, tall: input_tall, weight: input_weight, bmi: calculate_bmi(input_tall, input_weight), proper: calculate_proper(input_tall)}
    data0 << person
end

def calculate_bmi(tall0, weight0)
  bmi = weight0 / tall0 / tall0
end

def calculate_proper(tall0)
  proper = tall0 * tall0 * 22
end

def show_data_list(data0)
  puts '見たい人の番号を選択してください'
  data0.each_with_index do |person0, index0|
    puts "#{index0 + 1}: #{person0[:name]}"
  end
  input = gets.to_i - 1
  show_data(data0, input)
end

def show_data(data0, input0)
  person = data0[input0]
  puts "名前: \t #{person[:name]} \t 様"
  puts "年齢: \t #{person[:age]} \t 歳"
  puts "身長: \t #{person[:tall]} \t m"
  puts "体重: \t #{person[:weight]} \t kg"
  puts "BMI: \t #{person[:bmi].round} \t (22が標準値)"
  puts "適正体重: #{person[:proper]} \t "
end

data = []
while true
  puts '選択してください'
  puts '[0]登録する'
  puts '[1]データを確認する'
  puts '[2]終了する'
  input = gets.to_i

  if input == 0
    register_data(data)
  elsif input == 1
    show_data_list(data)
  elsif input == 2
    exit
  else
    puts '無効な値です'
  end
end

보태다


좋은 웹페이지 즐겨찾기