110,535
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace csharp011
{
public enum gender { man, woman };
public enum marital_status { y, n };
/// <summary>
/// 访问修饰符 struct 结构名
/// {
/// 结构体;
/// }
/// </summary>
//e.g:
public struct personal
{
public string name;
public gender sex;
public int age;
public marital_status ms;
public string tel;
public string address;
};
class Program
{
static void Main(string[] args)
{
bool flag1 = false,flag2 = false;
personal pers;
Console.Write("请输入个人信息:\n姓名(值为string类型):\t");
pers.name = Console.ReadLine();
Console.Write("性别(值为enum gender类型):\t");
do
{
try
{
pers.sex = (gender)(Enum.Parse(typeof(gender), Console.ReadLine()));
flag1 = true;
}
catch (System.Exception ex)
{
Console.WriteLine("{0},请重新输入!", ex.Message);
flag1 = false;
}
} while (!flag1);
Console.Write("年龄(值为int类型):\t");
pers.age = Int32.Parse(Console.ReadLine());
//pers.ms = (marital_status)(Enum.Parse(typeof(marital_status), Console.ReadLine()));
Console.Write("婚姻状况(值为enum marital_status类型):\t");
do
{
try
{
pers.ms = (marital_status)(Enum.Parse(typeof(marital_status), Console.ReadLine()));
flag2 = true;
}
catch (System.Exception ex)
{
Console.WriteLine("{0},请重新输入!", ex.Message);
flag2 = false;
}
} while (!flag2);
Console.Write("电话号码(值为string类型):\t");
pers.tel = Console.ReadLine();
Console.Write("家庭住址(值为string类型):\t");
pers.address = Console.ReadLine();
Console.WriteLine("输出个人信息:");
Console.WriteLine("姓名:\t"+pers.name);
//Console.WriteLine("性别:\t"+pers.sex);
//输出由键盘接收的枚举出错,说是未赋值的字段,请问要怎么处理??
Console.WriteLine("年龄:\t"+pers.age);
//Console.WriteLine("婚姻状况:{0}\t", pers.ms);
Console.WriteLine("电话号码:\t"+pers.tel);
Console.WriteLine("家庭地址:\t"+pers.address);
Console.WriteLine("\n按任意键退出程序...");
Console.ReadKey();
}
}
}