public static bool IsNumericDigit(char c) {
return '0' <= c && c <= '9';
public static bool HasNumericDigits(string s) {
if (IsNumericDigit(c)) return true;
public static void Main()
string[] Last = new string[Capacity];
string[] First = new string[Capacity];
string[] Middle = new string[Capacity];
string[] Phone = new string[Capacity];
double[] GPA = new double[Capacity];
string lastname, firstname, middlename, phonenumber, input;
Console.WriteLine("Last name = ");
lastname = Console.ReadLine();
ValidName = !Validate.HasNumericDigits(lastname);
if (lastname == "") continue;
Console.WriteLine("First name = ");
firstname = Console.ReadLine();
ValidName = !Validate.HasNumericDigits(firstname);
Console.WriteLine("Middle name = ");
middlename = Console.ReadLine();
ValidName = !Validate.HasNumericDigits(middlename);
Console.WriteLine("Phone number = ");
phonenumber = Console.ReadLine();
ValidPhone = !Validate.IsValidPhoneNumber(phonenumber);
Console.WriteLine("GPA = ");
input = Console.ReadLine();
ValidGPA = Double.TryParse(input, out studentGPA);
Middle[size] = middlename;
} while (lastname != "" && size < Capacity);
int[] field = new int[] { 20, 15, 15, 4 };
string Header = "Last Name".PadRight(field[0]) +
"First Name".PadRight(field[1]) + "Middle Name".PadRight(field[2]) +
"GPA".PadRight(field[3]);
string Separator = " ".PadLeft(field[0], '=') +
" ".PadLeft(field[1], '=') +
"".PadLeft(field[2], '=') + " ".PadLeft(field[3], '=');
Console.WriteLine(Header);
Console.WriteLine(Separator);
for (int i = 0; i < size; i++)
Console.WriteLine(Last[i].PadRight(field[0]) +
First[i].PadRight(field[1]) + Middle[i].PadRight(field[2]) +
GPA[i].ToString().PadLeft(field[3]));
Console.WriteLine(Separator);
Console.WriteLine("{0} student(s) with average age of {1}", size, aveGPA);