• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何显示阵列已满

c/c++ 来源:V.M 7次浏览

我正在研究一个简单的代码,要求提供最多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) 
    { 

    } 
} 


===========解决方案如下:

你的循环设置为仅转到数组的大小,因此在逻辑上你可以展示在循环后的消息(这将让循环完成时命中)。

如果你控制一个while循环的数组访问那么你的索引i只是比较的阵列(patient_rec.Length)的长度,如果等于或超过,则长度显示信息。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)