C#写的一个简单小题,通过用哈希表传值,循环体执行实现信息的添加、删除、查询、修改,然后退出系统。具体运行结果和代码如下:
开始运行,选择需要进行操作对应的 数字
先进行往里面添加信息,学号、姓名,这里我们先添加两个信息,添加完接着进行下一步操作
这里演示一下查询信息,是以学号为关键值检索的,如下图,因为设置了循环体,没完成一步操作就返回初始界面再进行下一步操作
删除也是同样的道理
如果进行修改,此时输入刚才删除的学生学号,就检索不到信息,显示学号不存在!(同样道理,如果没有添加学生信息,当检索时,像查询、修改、删除都是不可能完成的!)
正常情况下是完全可以修改的(把刚才的李钟硕修改成了csdn)
值得注意的是,当不按要求输入或输入错误时,会显示输入有误,请重新输入
在此做一些解释:
1、里面的长横线都是本人为了好看自己随便加的,为了适配自己电脑的控制台,这些都是可以随便修改的
2、写学生管理系统不止用哈希表来写
using System;
using System. Collections;
namespace 学生管理系统
{
class Program
{
private static string name;//自动生成的静态对象
private static object xuehao;
static void Main(string[] args)
{
Console.WriteLine(" 学生管理系统");
Console.WriteLine("▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅");
Hashtable tb = new Hashtable();//哈希表就是根据关键值(key或value)直接进行数据访问
menu();//方法,减少代码数量
string s = Console.ReadLine();
while (s != "5")
{
s = loop(s, tb);
}
}
//菜单方法
static void menu()
{
Console.WriteLine("");
Console.WriteLine("");
Console.WriteLine("请选择您要进行的操作!");
Console.WriteLine("");
Console.WriteLine("");
Console.WriteLine("");
Console.WriteLine("");
Console.WriteLine(" 1 2 3 4 5 ");
Console.WriteLine(" 添加 查询 删除 修改 退出");
Console.WriteLine("");
Console.WriteLine("");
Console.WriteLine("▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅");
}
//设置几个循环体,执行完其中一个操作,自动返回
static string loop(string s, Hashtable tb)
{
string XH;//学号,字符串
string XM;//姓名,一样
switch (s)//switch 是多分支选择语句
{
case "1": //在这个语句里,当你选择了需要的操作,就会进行操作里的内容
Console.WriteLine("请输入需要添加的学生学号:");
XH = Console.ReadLine();
Console.WriteLine("请输入需要添加的学生姓名:");
XM = Console.ReadLine();
if (!tb.Contains(XH)) //Contains 包含 把信息存放到哈希表里,就相当于是一个盒子,可以进行存取
{
tb.Add(XH, XM); //向表里添加姓名学号语句
Console.WriteLine("→→→→→→→→→" +
"→→→→→→→→→→→→→→→→→→ 添加成功!←←←←←←←←←←←←←←←←←←←←←←←←←←←");
}
else
{
Console.WriteLine("学号已存在,请重新添加!");
}
Console.WriteLine("▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅");
menu();
return Console.ReadLine();
case "2":
Console.Write(" 请输入你要查询的信息 ");
Console.WriteLine("");
Console.WriteLine("");
Console.Write(" 学生学号为:{0}", xuehao);
XH = Console.ReadLine();
if (tb.Contains(XH))
{
name = (string)tb[XH];
Console.WriteLine(" 学生姓名为:{0}", name);
Console.WriteLine("");
Console.WriteLine("");
Console.WriteLine("→→→→→→→→→" +
"→→→→→→→→→→→→→→→→→→ 查询成功!←←←←←←←←←←←←←←←←←←←←←←←←←←←");
}
else
{
Console.WriteLine("学生学号不存在!请重新输入!");
}
Console.WriteLine("▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅");
menu();
return Console.ReadLine();
case "3":
Console.Write("");
Console.Write("请输入你要删除的学生学号:");
Console.Write("");
Console.Write("");
XH = Console.ReadLine();
if (tb.Contains(XH))
{
tb.Remove(XH);
Console.Write("");
Console.Write("");
Console.Write("→→→→→→→→→→→" +
"→→→→→→→→→→→已成功删除学号为【{0}】的同学信息!←←←←←←←←←←←←←←←←←←←←←", XH);
}
else
{
Console.WriteLine("学号不存在!无法删除!");
}
Console.Write("");
Console.Write("");
Console.WriteLine(" ▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅");
menu();
return Console.ReadLine();
case "4":
Console.Write("");
Console.Write("");
Console.Write("请输入要修改的学生学号:");
XH = Console.ReadLine();
if (tb.Contains(XH))
{
Console.Write("");
Console.Write("");
Console.Write("请输入修改后的学生姓名:");
Console.Write("");
Console.Write("");
Console.Write("");
Console.Write("");
Console.Write("");
Console.Write("");
name = Console.ReadLine();
tb[XH] = name;
}
else
{
Console.Write("");
Console.Write("");
Console.Write("");
Console.Write("");
Console.Write("");
Console.Write("");
Console.WriteLine("→→→→→→→→" +
"→→→→→→→→→→→→→→→→→→ 学号不存在!←←←←←←←←←←←←←←←←←←←←←←←←←←←");
Console.Write("");
Console.Write("");
}
Console.WriteLine("▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅");
menu();
return Console.ReadLine();
case "5":
return "5";
}
Console.WriteLine("输入有误,请重新输入");
return "5";
}
}
}
有更优的代码欢迎T我,I would be obliged!