C# | 1 日 90 分 × 7 日アプリ学習:初級編

Web APP C#
スポンサーリンク

1日目のゴール

「初級編」1日目のテーマは
“C# で「入力 → 処理 → 出力」という一連の流れを、自分で組み立てられるようになること” です。

超初級編では、主に「こちらから決めた値」をコードの中に書いていました。
初級編では一歩進んで、「ユーザーが入力した値」を受け取り、それを使って処理する小さなアプリを作っていきます。

今日のキーワードはこの2つです。

Console.ReadLine
文字列を数値に変換する(int.Parse / double.Parse)

この2つを軸に、「対話できるコンソールアプリ」の感覚をつかみます。


コンソールアプリの“基本形”をもう一度確認する

C# プログラムの骨組み

まずは、コンソールアプリの基本形をもう一度押さえます。

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("C# 初級編スタート!");
    }
}
C#

ここで重要なのは、次の3つです。

using System;
Console などの基本クラスを使うための「道具箱宣言」

class Program { … }
C# のコードは必ずクラスの中に書く、というルール

static void Main(string[] args)
アプリの入口。ここから処理が始まる

超初級編で一度通っているので、ここは「形として覚える」で大丈夫です。
今日の本題は、この Main の中に「入力 → 処理 → 出力」の流れを作ることです。


Console.ReadLine で「入力」を受け取る

ReadLine は「1行分の文字を読み取る」

今までは、Console.WriteLine で「出力」だけしていました。
ここに「入力」を足すのが Console.ReadLine です。

using System;

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

        Console.WriteLine("こんにちは、" + name + " さん!");
    }
}
C#

ここで起きていることを、丁寧に追ってみます。

Console.WriteLine
「名前を入力してください」と画面に表示する

Console.ReadLine
ユーザーがキーボードで入力して Enter を押すまで待つ
入力された内容を「文字列」として返す

string name = Console.ReadLine();
返ってきた文字列を、name という変数に入れている

そのあとで、name を使ってあいさつ文を作っている

ポイントは、「ReadLine は必ず string(文字列)を返す」ということです。
数字を入力しても、いったんは「文字列」として受け取ります。


文字列を数値に変換する:int.Parse / double.Parse

「入力は文字列」「計算は数値」というギャップを埋める

例えば、「年齢を入力して、来年の年齢を表示する」アプリを作りたいとします。
そのとき、こう書きたくなります。

Console.WriteLine("あなたの年齢を入力してください:");
string ageText = Console.ReadLine();

// ここでいきなりこう書くと…
int nextAge = ageText + 1;  // エラー
C#

ageText は string(文字列)なので、そのままでは足し算できません。
そこで使うのが int.Parse です。

Console.WriteLine("あなたの年齢を入力してください:");
string ageText = Console.ReadLine();

int age = int.Parse(ageText);
int nextAge = age + 1;

Console.WriteLine("来年は " + nextAge + " 歳ですね。");
C#

int.Parse(ageText) は、
「文字列 ageText を整数(int)として解釈しようとする」処理です。

同じように、小数を扱いたいときは double.Parse を使います。

Console.WriteLine("身長を入力してください(cm):");
string heightText = Console.ReadLine();

double height = double.Parse(heightText);

Console.WriteLine("あなたの身長は " + height + " cm ですね。");
C#

ここでの超重要ポイントはこれです。

入力は必ず文字列として入ってくる
計算したいなら、適切な型(int / double)に変換する必要がある

この「文字列 → 数値」の変換が、初級編の最初の壁ですが、
一度慣れてしまえば、あとはパターンです。


例題1:簡単な「合計金額計算アプリ」

個数と単価を入力して合計を出す

では、入力と変換と計算をまとめた、少しだけ実用的な例を作ってみます。

仕様はこうです。

商品名を入力する
単価(1個あたりの値段)を入力する
個数を入力する
合計金額を計算して表示する

コードはこうなります。

using System;

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

        Console.WriteLine("単価を入力してください(円):");
        string priceText = Console.ReadLine();
        int price = int.Parse(priceText);

        Console.WriteLine("個数を入力してください:");
        string quantityText = Console.ReadLine();
        int quantity = int.Parse(quantityText);

        int total = price * quantity;

        Console.WriteLine("----------");
        Console.WriteLine("商品名: " + itemName);
        Console.WriteLine("単価: " + price + " 円");
        Console.WriteLine("個数: " + quantity + " 個");
        Console.WriteLine("合計金額: " + total + " 円");
    }
}
C#

ここで深掘りしたいのは、「型の流れ」です。

itemName は string のままでいい(文字として扱う)
priceText → int.Parse → price(数値として計算に使う)
quantityText → int.Parse → quantity(同じく数値)
total は int × int の結果なので int

「どの値を文字列のまま扱い、どの値を数値に変換するか」を意識できると、
コードの意味が一気にクリアになります。


例題2:BMI 風の「体格チェック」ミニアプリ

入力 → 計算 → 条件分岐までつなげてみる

次は、少しだけロジックを足してみます。

身長(cm)と体重(kg)を入力する
身長を m に直す
BMI っぽい値を計算する
値に応じてコメントを変える

コード例です。

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("身長を入力してください(cm):");
        string heightText = Console.ReadLine();
        double heightCm = double.Parse(heightText);

        Console.WriteLine("体重を入力してください(kg):");
        string weightText = Console.ReadLine();
        double weight = double.Parse(weightText);

        double heightM = heightCm / 100.0;
        double bmi = weight / (heightM * heightM);

        Console.WriteLine("あなたの BMI 風の値は " + bmi + " です。");

        if (bmi < 18.5)
        {
            Console.WriteLine("少しやせ気味かもしれません。");
        }
        else if (bmi < 25.0)
        {
            Console.WriteLine("標準的な範囲です。");
        }
        else
        {
            Console.WriteLine("少し高めかもしれません。生活習慣を見直してみましょう。");
        }
    }
}
C#

ここには、これまでの要素が全部入っています。

Console.ReadLine で入力
double.Parse で小数に変換
四則演算で計算
if 〜 else if 〜 else で条件分岐
Console.WriteLine で結果表示

「入力があるだけで、急にアプリっぽくなる」感覚が、ここでつかめるはずです。


例題3:簡単な「学習時間フィードバック」アプリ

今日の勉強時間からコメントを出す

最後に、初級編らしい「自分の学習と直結する」ミニアプリを作ってみます。

今日の勉強時間(分)を入力する
30 分以上なら「よく頑張った」
10 分以上 30 分未満なら「悪くない」
10 分未満なら「明日はもう少しだけやろう」

コードはこうです。

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("今日の勉強時間を入力してください(分):");
        string minutesText = Console.ReadLine();
        int minutes = int.Parse(minutesText);

        Console.WriteLine("今日の勉強時間は " + minutes + " 分ですね。");

        if (minutes >= 30)
        {
            Console.WriteLine("よく頑張りました!");
        }
        else if (minutes >= 10)
        {
            Console.WriteLine("悪くないです。この調子で少しずつ増やしていきましょう。");
        }
        else if (minutes > 0)
        {
            Console.WriteLine("少しでも手をつけたのは素晴らしいです。明日はもう 5 分だけ増やしてみませんか?");
        }
        else
        {
            Console.WriteLine("まずは 5 分だけでもやってみる日を作ってみましょう。");
        }
    }
}
C#

ここで意識してほしいのは、「入力された値に対してロジックが動いている」ということです。
超初級編では、minutes の値をコードの中で決めていました。
初級編では、それをユーザーに委ねています。


1日目で絶対に押さえておきたいポイント

「入力は string、計算は数値」という二段構え

今日の一番大事なポイントを、言葉でまとめるとこうなります。

Console.ReadLine は「必ず string を返す」
数値として計算したいなら、int.Parse / double.Parse で変換する
変換したあとは、普通の int / double と同じように扱える

この流れが自然に書けるようになると、
「ユーザーと対話するコンソールアプリ」が一気に作りやすくなります。


もし余裕があればやってみてほしいこと

自分用の「1日の振り返りアプリ」を作る

例えば、こんな仕様を自分で考えてみてください。

今日の勉強時間(分)
今日の睡眠時間(時間)
今日の気分(1〜5 の数字)

これらを入力して、
「今日はかなりいい日だった」
「ちょっと無理しすぎかも」
などのコメントを if 文で出す。

やることは全部、今日やったことの組み合わせです。

Console.ReadLine
int.Parse / double.Parse
計算
if 文
Console.WriteLine


1日目のまとめ

初級編 1日目で、あなたは新しく「入力」という軸を手に入れました。

Console.WriteLine だけの世界から、
Console.ReadLine を通じて「ユーザーと会話する」世界へ。

入力(string)
→ 必要に応じて数値に変換(int / double)
→ 計算・判定
→ 結果を表示

この一連の流れが、「アプリの最小単位」です。

2日目以降は、この流れの中に
「エラーにならないように気をつける」
「メソッドに分けて整理する」
「複数のデータを扱う」
といった要素を少しずつ足していきます。

まずは今日、
「自分の入力に反応してくれる C# プログラム」を
1つでも動かせていたら、それで十分すぎるくらい良いスタートです。

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