源自:https://www.bilibili.com/video/BV1YmzQYgEHD/?p=55
UP主讲得也非常不错!!!
依据题目要求自己写的结果。
//用户进入系统后,输入1更改信息,输入2可查看所有员工信息输入3退出系统
//公司一共3个工位,有编号分别是0 - 9,用户可以选择查看对应编号工位的员工信息、修改员工信息或退出程序
//用户可以输入员工的姓名、年龄和薪水来更新对应工位员工信息。
//用户可以选择要查看的工位编号,并显示相应员工的信息。
//用户可以选择要修改的员工编号,并输入新的年龄和薪水来修改员工信息。
//整个系统会一直循环运行,直到用户没有想要做的事情后,选择退出程序,程序才会结束运行。
我的答案(略显复杂,无他,我比较笨),仅供参考
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace myanswer
{
internal class Program
{
static void Main(string[] args)
{
ExampleStaff();
Console.ReadKey();
}
public static void ExampleStaff()
{
//用户进入系统后,输入1更改信息,输入2可查看所有员工信息输入3退出系统
//公司一共3个工位,有编号分别是0 - 9,用户可以选择查看对应编号工位的员工信息、修改员工信息或退出程序
//用户可以输入员工的姓名、年龄和薪水来更新对应工位员工信息。
//用户可以选择要查看的工位编号,并显示相应员工的信息。
//用户可以选择要修改的员工编号,并输入新的年龄和薪水来修改员工信息。
//整个系统会一直循环运行,直到用户没有想要做的事情后,选择退出程序,程序才会结束运行。
STAFF[] staffs = new STAFF[30];
int count = 0;
for (int i = 0; i < 3; i++)
{
for(int j = 0;j < 10; j++)
{
staffs[count]=new STAFF();//实例化
staffs[count].POSITIONNUMBER = i;
staffs[count].STAFFNUMBER = j;
staffs[count].NAME = count.ToString();
staffs[count].AGE = 25;
staffs[count].WAGES = 5000;
count++;
}
}
while (true)
{
Console.WriteLine("欢迎进入员工信息系统!输入1更改/查看单个员工信息,输入2可查看所有员工信息,输入3退出系统");
Console.Write("您的输入:");
try
{
int input = int.Parse(Console.ReadLine());
if (input<1 || input>3)
{
continue;
}
if (input==1)
{
try//可能没有必要
{
Console.Write("请输入员工工位号:");
int pos = int.Parse(Console.ReadLine());
Console.Write("请输入员工编号:");
int num = int.Parse(Console.ReadLine());
changeInfor(pos, num,staffs);
}
catch
{
Console.WriteLine("不正确的输入,请检查后重新输入!");
continue;
}
}else if (input==2)
{
foreach (var item in staffs)
{
item.showInfor();
}
}else if (input == 3)
{
Console.WriteLine("您已退出系统!");
break;
}
}
catch
{
Console.WriteLine("不正确的输入,请检查后重新输入!");
continue;
}
}
}
public static void changeInfor(int num1, int num2, STAFF[] a)
{
foreach (var item in a)
{
if (item.POSITIONNUMBER == num1 && item.STAFFNUMBER == num2)
{
item.showInfor();
Console.Write("输入要更改的信息,不修改请输入“no”\n姓名:");
string name= Console.ReadLine();
if (name=="no")
{
break;
}
item.NAME=name;
try
{
Console.Write("年龄:");
item.AGE= int.Parse(Console.ReadLine());
Console.Write("工资:");
item.WAGES = float.Parse(Console.ReadLine());
Console.WriteLine("已更改!");
item.showInfor();
break;
}
catch
{
Console.WriteLine("不正确的输入,请检查后重新输入!");
break;
}
}
}
}
public class STAFF
{
//不带public无法访问
public int POSITIONNUMBER;
public int STAFFNUMBER;
public string NAME;
public int AGE;
public float WAGES;
public void showInfor()
{
Console.WriteLine("工位{0},编号{1},姓名{2},年龄{3},薪水{4}",POSITIONNUMBER, STAFFNUMBER, NAME, AGE, WAGES);
}
}
}
}