私は、最大5人の患者の名前、年齢、性別を問い合わせる簡単なコードを作成しています。各患者の後に、別の患者を入力するかメインメニューに戻るように頼むべきである。配列に5を入力すると、配列が一杯であることをユーザーに確認するメッセージが表示されます。配列がいっぱいであることを表示するには
私の問題は、コードが名前、年齢、性別を5回先行して質問し、配列がいっぱいであることを示すものではありません。それを反映するようにコードを変更しても、入力を保存するにはどうすればよいですか? (以下のコード)。
class MainClass
{
enum Gender { female, male }
struct Record
{
public string _Name;
public int _Age;
public Gender _Gender;
}
public static void Main(string[] args)
{
//title
Console.Write("\t\t\t\t\tPatient Records\n");
string selection = "";
Record[] patients = new Record[5];
GetRecords(patients);
Console.Write("a. Add\n d.Display\ns. Stats\nq. Quit");
Console.Write("Your selection: ");
selection = Console.ReadLine();
switch (selection)
{
case "a":
GetRecords(patients);
break;
case "d":
break;
case "s":
Stats(patients);
break;
case "q":
//CUtility.Pause();
break;
}
}
static void GetRecords(Record[] patient_rec)
{
for (int i = 0; i < patient_rec.Length; i++)
{
Console.Write("Enter your age: ");
int.TryParse(Console.ReadLine(), out patient_rec[i]._Age);
Console.Write("Enter your name: ");
patient_rec[i]._Name = Console.ReadLine();
Console.Write("Enter your gender (female or male): ");
Gender.TryParse(Console.ReadLine(), out patient_rec[i]._Gender);
}
}
static void Stats(Record[]patient_rec)
{
}
}
私はあなたがそれはあなたを尋ね、なぜあなたは知っていない状態ので、これを閉じるために投票しています5あなたは 'GetRecords(Record [] patient_rec')メソッドを呼び出して、forループをRecord []の長さにします。何を期待していますか?デバッガの使い方、ブレークポイントの設定、コードを介してステップ.. – MethodMan
また、 'GetRecords()を再度呼び出すchステートメント..これは深刻な再考/デバッグが必要です。 – MethodMan
@MethodMan 5つの場所を持つ配列を作成する必要があります。そのため、一部を変更することはできません。 forループを別の場所に移動して、毎回更新できるようにすることは可能ですか? –