0

数字と行を取り込むC#のコンソールアプリケーションを作成する必要があります

任意の数のx

xxxx-xx-xxxxxx

または4つの数字、線、2つの数字、線、6つの数字。

推奨される方法は、ユーザー入力を求め、ユーザーが整数を記述していないかどうかを確認し、適切な場所に行を配置することです。

ユーザーが自分で行を書く必要がないような形式で配置したいと思います。

ユーザーが行を配置する必要がないように、行を自動的に挿入したいのですが、文字列の長さも常に同じです。(0-13または14文字)

これはかなり簡単な方法で行うことができますか?

編集:私はコードを書いてpastebinに追加しました(すべてをここに入れるのはかなり長いので)

このコードは文字列入力を受け取り、無効な文字が入力されていないことを確認します。つまり、機能しますが、プログラムで「-」を自動的に配置する必要があります。また、入力できる文字数を制限できると便利です(行を含めて14文字まで)。

私の主な問題は、バックスペースを使用しながら「-」を自動的に配置できるようにすることです。

コードが原始的である場合は申し訳ありませんが、それは学校のプロジェクトであり、私はまだ学習中です。これは彼らが「私に望んでいる」方法です。

4

1 に答える 1

0

このようなことを試すことができます (位置 4 と 7 にダッシュがある長さ 14 の文字列用にハードコードされています)。ユーザーからのすべての入力を傍受し、それが数字かどうかを確認します。数字の場合は、それを出力して入力に追加します。さらに、入力の長さが特定のポイントに達すると、ダッシュが出力されます。

     String input = "";
     while (input.Length < 14)
     {
        char c = Console.ReadKey(true).KeyChar;
        if (c >= 48 && c <= 57) // ASCII code for a digit (between 0 and 9)
        {
           input += c; // add digit to input
           Console.Write(c); // output it to the console
        }
        if (input.Length == 4 || input.Length == 7)
        {
           input += "-";
           Console.Write("-"); // add dash to the input and write it to console
        }
     }
于 2013-03-20T22:38:43.650 に答える