水の問題の解決
cs50のYoutube動画「水の問題の解決」について要点と要約をまとめました
3つの要点
- 要点1
ユーザーにシャワーの時間を入力してもらい、使用された水のボトルの数を計算する必要があります。 - 要点2
CS50ライブラリのget_int関数を使用して、ユーザーの入力を検証します。do-whileループを使用して、ユーザーが正の整数を提供するまで繰り返し入力を促します。 - 要点3
シャワーの時間を入力値’n’に12を掛けることで、使用されるボトルの総数を求めることができます。
要約
ユーザー入力の促進と検証
この問題では、ユーザーにシャワーの時間を入力してもらい、使用された水のボトルの数を計算する必要があります。これを実現するために、まずユーザー入力を促し、検証する必要があります。CS50ライブラリのget_int関数を使用することで、ユーザーが整数を入力することを確認できます。この関数を使用することで、正の数、負の数、またはゼロの値を入力として受け入れることができますが、整数以外の入力は拒否されます。
入力の保存と確認
有効なユーザー入力を確認した後、入力値を変数に保存する必要があります。ただし、問題ではシャワーの時間は正の整数である必要があるため、入力値が実際に正の数であるかどうかを確認する必要があります。これを実現するために、do-whileループを使用して、ユーザーが正の整数を提供するまで繰り返し入力を促します。ループの外で変数’n’を宣言することで、プログラムの後でその値にアクセスできます。
ボトルの数の計算
有効な入力値が得られたら、シャワー中に使用されるボトルの数を計算することができます。問題の仕様によれば、シャワーの1分ごとに12本のボトルに相当します。入力値’n’に12を掛けることで、使用されるボトルの総数を求めることができます。
結果の出力
最後のステップは、計算結果をユーザーに出力することです。printf関数を使用して、指定された形式で結果を表示できます。%iなどのプレースホルダを使用することで、計算結果を出力文字列に挿入することができます。これにより、結果が正しく表示されます。これで、ユーザーの入力を促し、検証し、ボトルの数を計算し、結果を出力する水の問題を成功裏に解決しました。
▼今回の動画
編集後記
▼ライターの学び
ユーザー入力の検証や計算結果の出力など、プログラムの各ステップを順番に実行することで、問題を解決する方法を学びました。また、ユーザーの入力を検証するためにループを使用することで、正しい入力が得られるまで繰り返し入力を促すことができることに気付きました。
▼今日からやってみよう
今日から、ユーザーからの入力を検証する際にループを使用してみましょう。正しい入力が得られるまで繰り返し入力を促すことで、ユーザーが意図した値を入力するまで待つことができます。これにより、プログラムの信頼性と使いやすさを向上させることができます。