前言 【文末代码链接】有不足的地方请多多包涵
C# 实现控制台应用程序【管理系统】模板
- 2020下学期C#大作业总结(2021大家多多加油)
- 实现的数据存储分类:1.数组实现【对象数组】、 2.ArrayList实现数据的存储【ArrayList存储对象 】
- 无论是ArrayList 还是 List 都是可以根据使用方法可以相互替换的
- 不建议直接用、虽然功能不少,但是有很多可以完善的。毕竟本人水平有限
需求:
1.数据的存储为:(1)对象数组、(2)ArrayList对象数组
- 如:图书管理系统
- 可以实现对图书数据的录入
- 对图书的查找【根据需求查找,比如按名称、按图书编号查找】
- 对图书的删除【同样根据需求、书名、图书编号等进行删除】
- 修改图书数据【根据需求、如按是否以借阅等方式进行查找再删除:这里的查找方式如果跟查找方式相同的话可以进行复用】
- 对数据的保存【存储到文件夹中】
- 退出系统
思路:
根据需求与个人的想法不同,都可以实现都可以不同的代码,比如添加用户管理页面、比如可以关联学生系统等
- 创建一个书对象
- 创建一个管理图书对象:实现对图书数据的管理,比如添加数据、删除数据、查找数据、等等用途的数据
- main函数实现循环对用户的交互操作、调用管理图书类:这些操作也可以实现在对象当中
- 我实现的是在main函数当中再去调用想用的函数处理对象【比较繁琐,可以根据自己的思路进行改变】
程序截图:
- 使用界面
- 添加图书页面
- 查找图书页面
- 保存图书新页面
- 退出图书页面
代码:
数组存储对象
- 创建图书类
///<summary>
///创建图书类
///<summary>
public class book
{
private String nNameBook;//书名
///<summary>
///NameBook的 get 与 set 方法
///<summary>
public String NameBook
{
get
{
//返回图书书名
return this.nNameBook;
}
set
{
//赋值图书书名
if(value != null)
{
this.nNameBook = value;
}
}
}
- 创建图书管理类
public class library
{
private book[] liBook = new book[100];
///<summary>
///构造方法
///<summary>
public library()
{
//初始化数组对象
for (int i = 0; i < 100; i++)
{
this.liBook[i] = new book();
}
this.liBook[i].NameBook = "C#";
}
///<summary>
///打印图书信息
///<summary>
public void PrintBook()
{
Console.WriteLine(this.liBook[i].NameBook);
}
}
ArrayList[存储对象]实现学生管理系统
- 学生类
///<summary>
///创建学生管理类
///<summary>
public class Student
{
private String nameid; //学号
///<summary>
///NameId 的 set 方法
///赋值学生学号
///<summary>
///<param name="_NameId">学生id</param>
///<returns>bool类型,判断是否添加信息成功<returns>
public bool SetNameId(String _NameId)
{
//学号长度为12为正确的学号
if (_NameId.Length == 12)
{
this.nameid = _NameId;
return true;
}
else
{
Console.WriteLine(" 请输入长度正确的学号");
return false;
}
}
///<summary>
///NameId 的 Get 方法
///<summary>
///<returns>返回学生学号<returns>
public String GetNameId()
{
return this.nameid;
}
}
- 班级类
///<summary>
///创建学生管理类
///<summary>
public class Cla
{
private ArrayList claStu = new ArrayList();///ArrayList学生对象
private int index;///记录学生查找下标
///<summary>
///构造方法
///<summary>
public Cla()
{
Student s = new Student();//student 对象
s.SetNameId("123456789012");
this.claStu.Add(s);//将元素方到ArrayList数组中
}
///<summary>
///打印学生信息
///<summary>
public void ValueClaS()
{
int x = this.claStu.Count;//直接取最末元素
if (x==0)
{
Console.WriteLine("无学生信息");
}
//循环取出内容
for (int i = 0; i < x; i++)
{
Student s = this.claStu[i] as Student;
Console.WriteLine(s.GetNameId());
}
}
源码
- 图书管理系统使用ArrayList比较合适,而学生管理系统使用数组比较合适
学生的人数是固定的【使用数组比较合适】,而图书的个数是不固定了【使用arrayList比较合适】 - 数组功能上的实现跟数据结构顺序表差不多
- ArrayLisr数组实现【1】无退出保存请求
链接:https://pan.baidu.com/s/1tRV3je50WB_VVAUHCsa6kg
提取码:syky
复制这段内容后打开百度网盘手机App,操作更方便哦 - 最后带有请求保存
链接:https://pan.baidu.com/s/1OQxhbsGZR5NR4diqFZMnOA
提取码:iroy
复制这段内容后打开百度网盘手机App,操作更方便哦 - 优快云下载链接【学生管理系统打包】https://download.youkuaiyun.com/download/qq_40127080/14017988
- 优快云下载链接【图书管理系统打包 数组对象实现】
https://download.youkuaiyun.com/download/qq_40127080/14020875
总结
- 对文件读取的时候 注意判断是否打开成功,否则会出现记事本文件一直打开
- 此方案的可扩展性很大 可以在添加对学生成绩的统计、对学生成绩的排名等等的数据加工
- 代码可以加深优化,简洁各种代码
- 可以更换成各种管理系统:如健身管理系统、图书管理系统等等
- 主要是了解各种基础知识的实现与操作
- 希望大家不要一味的直接用源码、而是读懂源码