基礎から学ぶC#入門 90日コース | C#基本文法 - Day 10:第1章総合演習

C# 90日で身につけるC#
スポンサーリンク
スポンサーリンク

Day 10 のゴールと全体イメージ

Day 10 は、第1章の総合演習として、ここまで学んできた 基本文法をひとつのプログラムにまとめて使う日です。 題材は「簡易プロフィール管理プログラム」です。

このプログラムでは、次の機能を実装していきます。

  • 名前入力(文字列)
  • 年齢入力(数値)
  • 職業入力(文字列)
  • 趣味入力(文字列)
  • データ表示(文字列補間・整形)
  • 年齢によるメッセージ変更(条件分岐 if

コンソールアプリとして、ユーザーに質問しながらプロフィールを作り、最後にまとめて表示する流れを作っていきます。

プログラムの仕様を日本語で整理する

まずは「何をするプログラムか」を言葉で決める

コードを書く前に、日本語で仕様を整理しておきます。

  1. ユーザーに「名前」を入力してもらう。
  2. ユーザーに「年齢」を入力してもらう。
  3. ユーザーに「職業」を入力してもらう。
  4. ユーザーに「趣味」を入力してもらう。
  5. 入力された情報を、見やすい形でまとめて表示する。
  6. 年齢に応じて、メッセージを変える。
    • 0 歳未満 → エラーメッセージ
    • 0〜12 歳 → 「子どもですね!」
    • 13〜19 歳 → 「ティーンですね!」
    • 20〜64 歳 → 「大人ですね!」
    • 65 歳以上 → 「シニアですね!」

この仕様を、そのまま C# のコードに落とし込んでいきます。

ステップ1:プロフィール項目を変数で用意する

どんなデータを扱うかを決める

今回扱うデータは次の4つです。

  • 名前:string
  • 年齢:int
  • 職業:string
  • 趣味:string

これをコード上では、次のような変数として扱います。

string name;   // 名前
int age;       // 年齢
string job;    // 職業
string hobby;  // 趣味
C#

ポイント:

  • 「文字列」は string、「整数」は int を使います。
  • まずは「どんな情報を持つか」を変数としてイメージすることが大切です。

ステップ2:Console.ReadLine() でプロフィールを入力してもらう

名前・職業・趣味は文字列としてそのまま受け取る

コンソールからの入力は、すべて Console.ReadLine() で受け取ります。 名前・職業・趣味は文字列のままでよいので、そのまま string に代入します。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 名前の入力
        Console.WriteLine("名前を入力してください:");
        string name = Console.ReadLine();

        // 職業の入力
        Console.WriteLine("職業を入力してください:");
        string job = Console.ReadLine();

        // 趣味の入力
        Console.WriteLine("趣味を入力してください:");
        string hobby = Console.ReadLine();

        Console.ReadLine(); // ここではまだ表示せずに終了
    }
}
C#

年齢は数値として扱いたいので変換する

年齢は「数値」として扱いたいので、文字列から int に変換します。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 年齢の入力
        Console.WriteLine("年齢を入力してください:");
        string ageText = Console.ReadLine(); // まずは文字列として受け取る

        // 文字列を int に変換します(簡略化のため Parse を使用)
        int age = int.Parse(ageText);

        Console.ReadLine();
    }
}
C#

重要ポイント:

  • Console.ReadLine() は必ず文字列(string)を返します。
  • 数値として扱いたい場合は、int.Parseint.TryParse で変換します。

ステップ3:入力されたデータをまとめて表示する

文字列補間で「プロフィール表示」を作る

入力されたデータを、見やすい形でまとめて表示してみます。

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("名前を入力してください:");
        string name = Console.ReadLine();

        Console.WriteLine("年齢を入力してください:");
        string ageText = Console.ReadLine();
        int age = int.Parse(ageText);

        Console.WriteLine("職業を入力してください:");
        string job = Console.ReadLine();

        Console.WriteLine("趣味を入力してください:");
        string hobby = Console.ReadLine();

        // プロフィール表示
        Console.WriteLine();
        Console.WriteLine("=== プロフィール ===");
        Console.WriteLine($"名前:{name}");
        Console.WriteLine($"年齢:{age} 歳");
        Console.WriteLine($"職業:{job}");
        Console.WriteLine($"趣味:{hobby}");

        Console.ReadLine();
    }
}
C#

ポイント:

  • $"名前:{name}" のように、文字列補間を使うとコードが読みやすくなります。
  • 「見出し」を付けることで、コンソール画面でも情報が整理されて見えます。

ステップ4:年齢によるメッセージ変更(if / else if / else)

年齢に応じてメッセージを変えるロジックを考える

仕様で決めた年齢によるメッセージは次のとおりでした。

  • 0 歳未満 → エラーメッセージ
  • 0〜12 歳 → 「子どもですね!」
  • 13〜19 歳 → 「ティーンですね!」
  • 20〜64 歳 → 「大人ですね!」
  • 65 歳以上 → 「シニアですね!」

これを if / else if / else で書いていきます。

// 年齢によるメッセージ
string ageMessage;

if (age < 0)
{
    ageMessage = "年齢は 0 以上を入力してください。";
}
else if (age <= 12)
{
    ageMessage = "子どもですね!";
}
else if (age <= 19)
{
    ageMessage = "ティーンですね!";
}
else if (age <= 64)
{
    ageMessage = "大人ですね!";
}
else
{
    ageMessage = "シニアですね!";
}
C#

重要ポイント:

  • 条件は「範囲が重ならないように」設計します。
  • 上から順番に評価され、最初に true になったブロックだけが実行されます。
  • メッセージを変数 ageMessage に入れておくと、後でまとめて表示しやすくなります。

ステップ5:総合版コード(第1章総合演習)

ここまでの要素をすべて組み合わせる

Day 10 の総合演習として、「簡易プロフィール管理プログラム」の完成版例を示します。 コメントを多めに入れて、初心者の方でも読みやすい形にしています。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 名前の入力
        Console.WriteLine("名前を入力してください:");
        string name = Console.ReadLine(); // ユーザーの名前(文字列)

        // 年齢の入力
        Console.WriteLine("年齢を入力してください:");
        string ageText = Console.ReadLine(); // まずは文字列として受け取る

        // 文字列を int に変換します
        // ※本来は TryParse でエラーチェックするのが安全ですが、
        //   ここでは第1章の総合演習として簡略化しています。
        int age = int.Parse(ageText);

        // 職業の入力
        Console.WriteLine("職業を入力してください:");
        string job = Console.ReadLine();

        // 趣味の入力
        Console.WriteLine("趣味を入力してください:");
        string hobby = Console.ReadLine();

        // 年齢によるメッセージを決めます
        string ageMessage;

        if (age < 0)
        {
            ageMessage = "年齢は 0 以上を入力してください。";
        }
        else if (age <= 12)
        {
            ageMessage = "子どもですね!";
        }
        else if (age <= 19)
        {
            ageMessage = "ティーンですね!";
        }
        else if (age <= 64)
        {
            ageMessage = "大人ですね!";
        }
        else
        {
            ageMessage = "シニアですね!";
        }

        // プロフィールを表示します
        Console.WriteLine();
        Console.WriteLine("=== 簡易プロフィール管理プログラム ===");
        Console.WriteLine($"名前:{name}");
        Console.WriteLine($"年齢:{age} 歳");
        Console.WriteLine($"職業:{job}");
        Console.WriteLine($"趣味:{hobby}");
        Console.WriteLine();
        Console.WriteLine($"年齢メッセージ:{ageMessage}");

        // 画面がすぐ閉じないように待機します
        Console.WriteLine();
        Console.WriteLine("Enter キーを押すと終了します。");
        Console.ReadLine();
    }
}
C#

このコードの中には、第1章で学んできた要素が詰まっています。

  • 変数(string, int
  • コンソール入力(Console.ReadLine()
  • 型変換(int.Parse
  • 文字列補間($"..."
  • 条件分岐(if / else if / else

「簡易プロフィール管理」という具体的な題材に乗せることで、 バラバラだった知識が「ひとつの流れ」としてつながっていきます。

もう一歩:年齢メッセージを switch 式で書いてみる

Day 9 で学んだ switch 式を使うと、年齢メッセージを別の書き方で表現することもできます。 少し応用ですが、イメージをつかむにはちょうどよい題材です。

// switch 式を使った年齢メッセージ(C# の新しい書き方)
string ageMessage = age switch
{
    < 0      => "年齢は 0 以上を入力してください。",
    <= 12   => "子どもですね!",
    <= 19   => "ティーンですね!",
    <= 64   => "大人ですね!",
    _       => "シニアですね!"
};
C#

ポイント:

  • age switch { ... } の中で、「パターン」に応じてメッセージを返しています。
  • if / else if と同じロジックを、別のスタイルで書けることが分かります。

Day 10 のまとめ

Day 10 は、第1章の総合演習として、

  • 名前・年齢・職業・趣味の入力
  • コンソールからの文字列入力と数値変換
  • 変数によるデータ管理
  • 文字列補間による見やすい表示
  • 年齢によるメッセージ変更(条件分岐)

をひとつの「簡易プロフィール管理プログラム」にまとめました。

ここまでで、

  • 「ユーザーから入力を受け取る」
  • 「データを変数に保持する」
  • 「条件に応じてメッセージを変える」
  • 「結果を整えて表示する」

という、コンソールアプリの基本的な流れを一通り体験できています。

ぜひ、

  • メッセージや判定条件を自分なりにアレンジしてみる
  • 項目を増やして「自己紹介カード」風にしてみる
  • 年齢メッセージを switch 式に書き換えてみる

といった工夫をしながら、「コードで自分のアイデアを形にする感覚」を育てていってください。

タイトルとURLをコピーしました