0

私は Visual Studio Express 2013 で単純な給与見積もり計算機を作成しており、ほとんどのコードを入力しました。しかし、私が克服しようとしている大きなハードルの 1 つは、ユーザーが [プログラム] で処理する何かを入力するまで、エントリ ポイントがループすることです。さて、私が間違っていなければ、これは 2 対 1 の操作でなければなりません。

  • 数字のみが受け入れられるようにするための鍵の検証
  • ループ自体

私は特定のものを実装しようとしてきましたが、ある程度は機能しますが、最終的には失敗し、プログラムが別のものに変換したり、何かから別のものに変換したりできなくなります。

ループする必要があるコードは 7 つのセクションです。完全なセクションの例は次のとおりです。

Console.Clear()
Console.WriteLine("")
Console.WriteLine("Minute Entry for MONDAY.")
Console.WriteLine("")
Console.WriteLine("════════════════════════════════════════════════════════════════════════════════")
Console.WriteLine("Enter number then press ENTER to continue...")
Console.WriteLine("")
MonMin = Console.ReadLine()
4

1 に答える 1

0

7 つのセクションが必要な場合は、7 回ループする for ループが必要であることは明らかです。

For i As Integer = 0 To 6

Next

このループの最初に、紹介テキストを印刷します。配列を使用iして日にマップできます (例: Console.WriteLine("Minute Entry for " & days(i))).

すでに述べたようにReadLine、検証を行う別のループ内にカプセル化する必要があります。

Dim validEntry = False
While Not validEntry
    MonMin = Console.ReadLine()
    'Do the validation
End While

検証では、数値入力をチェックする必要があります。例えば

If IsNumeric(MonMin) Then validEntry = True

エラー メッセージを出力したい場合は、ループが初めて実行された場合に保存する 2 番目の変数を使用できます。

Dim firstTime = True
While Not validEntry
    If Not firstTime Then Console.WriteLine("The entered value is not valid")
    firstTime = False
    'Go on ...
End While

MonMin配列が検証されたら、配列に保存することができます。

于 2013-11-04T09:28:46.827 に答える