C#制作学生管理系统

ops/2024/10/23 10:38:26/

定义学生类

定义一个简单的类来表示学生,包括学号、姓名、性别、年龄、电话、地址。再给其添加一个方法利于后续添加方法查看学生信息。

//定义学生类
public class student
{public int ID { get; set; }//开放读写权限public string Name { get; set; }public int Age { get; set; }public string Sex { get; set; }public int Phone { get; set; }public string Address { get; set; }public student(int id, string name, int age, string sex, int phone, string address){ID = id;Name = name;Age = age;Sex = sex;Phone = phone;Address = address;}
}

管理学生信息

然后,创建一个管理类来存储学生信息,并提供添加、查看、删除和修改学生信息的方法。

//管理学生类
public class StudentManager
{private List<student> students = new List<student>();
}
添加学生

创建一个添加学生信息的类,控制台输入学号、姓名、性别、年龄、电话、地址,程序将其添加到students中。

//添加学生类
public void AddStudent(int id, string name, int age, string sex, int phone, string address//参数)
{students.Add(new student(id, name, age, sex, phone, address));Console.WriteLine("学生添加成功!");
}
查看学生信息
查看所有学生信息

控制台输出所有已添加的学生的学号、姓名、性别、年龄、电话、地址。

//查看所有学生信息类
public void ViewAllStudent()
{if (students.Count == 0){Console.WriteLine("无成员!");return;}foreach (var vocab in students){Console.WriteLine($"学号: {vocab.ID}\n" +$"姓名: {vocab.Name}\n" +$"年龄: {vocab.Age}\n" +$"姓别: {vocab.Sex}\n" +$"电话: {vocab.Phone}\n" +$"地址: {vocab.Address}\n");}
}
查看特定学号学生信息

用户在控制台输入想要查看的学生的学号,控制台输出特定学号的学生的学号、姓名、性别、年龄、电话、地址。

//查看特定学号学生信息类
public void ViewSingleStudentId(int id)
{int i=1;if (students.Count == 0){Console.WriteLine("无成员!");return;}else{foreach (var vocab in students){if (id==vocab.ID){Console.WriteLine($"学号: {vocab.ID}\n" +$"姓名: {vocab.Name}\n" +$"年龄: {vocab.Age}\n" +$"姓别: {vocab.Sex}\n" +$"电话: {vocab.Phone}\n" +$"地址: {vocab.Address}\n");i= 2;}}if (i==1){Console.WriteLine("未找到该成员!");}}
}
查看特定名字学生信息

用户在控制台输入想要查看的学生的姓名,控制台输出特定名字的学生的学号、姓名、性别、年龄、电话、地址。

//查看特定名字学生信息类
public void ViewSingleStudentName(string name)
{int i = 1;if (students.Count == 0){Console.WriteLine("无成员!");return;}else{foreach (var vocab in students){if (name == vocab.Name){Console.WriteLine($"学号: {vocab.ID}\n" +$"姓名: {vocab.Name}\n" +$"年龄: {vocab.Age}\n" +$"姓别: {vocab.Sex}\n" +$"电话: {vocab.Phone}\n" +$"地址: {vocab.Address}\n");i= 2;}}if (i == 1){Console.WriteLine("未找到该成员!");}}
}
查看特定手机号学生信息

用户在控制台输入想要查看的学生的手机号,控制台输出特定手机号的学生的学号、姓名、性别、年龄、电话、地址。

查看特定手机号学生信息类
public void ViewSingleStudentPhone(int phone)
{int i = 1;if (students.Count == 0){Console.WriteLine("无成员!");return;}else{foreach (var vocab in students){if (phone == vocab.Phone){Console.WriteLine($"学号: {vocab.ID}\n" +$"姓名: {vocab.Name}\n" +$"年龄: {vocab.Age}\n" +$"姓别: {vocab.Sex}\n" +$"电话: {vocab.Phone}\n" +$"地址: {vocab.Address}\n");i= 2;}}if (i==1){Console.WriteLine("未找到该成员!");}}
}
删除学生信息

用户在控制台输入要删除的学生的学号,程序从students中删除该学生。

//删除学生信息类
public void DeleteStudent(int id)
{var vocab = students.FirstOrDefault(v => v.ID == id);if (vocab != null){students.Remove(vocab);Console.WriteLine("人员删除成功!");}else{Console.WriteLine("未找到该人员!");}
}
修改学生信息
修改学号

用户在控制台输入想要修改学号信息的学生的学号,程序查询该学生,用户在控制台输入修改后的学号,用用户在控制台输入的学号替换旧学号。

 //修改学号类
public void ChangeInformationId( int Id,int id){var vocab = students.FirstOrDefault(v => v.ID == Id);if (vocab != null){vocab.ID = id;}else{Console.WriteLine("未找到该人员!");}}
修改姓名

用户在控制台输入想要修改姓名信息的学生的学号,程序查询该学生,用户在控制台输入修改后的姓名,用用户在控制台输入的姓名替换旧姓名。

//修改姓名类
public void ChangeInformationName(int Id, string name)
{var vocab = students.FirstOrDefault(v => v.ID == Id);if (vocab != null){vocab.Name = name;}else{Console.WriteLine("未找到该人员!");}
}
修改姓别

用户在控制台输入想要修改性别信息的学生的学号,程序查询该学生,用户在控制台输入修改后的性别,用用户在控制台输入的性别替换旧性别。

 //修改性别类
public void ChangeInformationSex(int Id, string sex){var vocab = students.FirstOrDefault(v => v.ID == Id);if (vocab != null){vocab.Sex  = sex;}else{Console.WriteLine("未找到该人员!");}}
修改年龄

用户在控制台输入想要修改年龄信息的学生的学号,程序查询该学生,用户在控制台输入修改后的年龄,用用户在控制台输入的年龄替换旧年龄。

//修改年龄类
public void ChangeInformationAge(int Id, int age)
{var vocab = students.FirstOrDefault(v => v.ID == Id);if (vocab != null){vocab.Age = age;}else{Console.WriteLine("未找到该人员!");}
}
修改地址

用户在控制台输入想要修改地址信息的学生的学号,程序查询该学生,用户在控制台输入修改后的地址,用用户在控制台输入的地址替换旧地址。

//修改地址类
public void ChangeInformationAddress(int Id, string address)
{var vocab = students.FirstOrDefault(v => v.ID == Id);if (vocab != null){vocab.Address = address;}else{Console.WriteLine("未找到该人员!");}
}
修改电话

用户在控制台输入想要修改电话信息的学生的学号,程序查询该学生,用户在控制台输入修改后的电话,用用户在控制台输入的电话替换旧电话。

//修改电话类
public void ChangeInformationPhone(int Id, int phone)
{var vocab = students.FirstOrDefault(v => v.ID == Id);if (vocab != null){vocab.Phone = phone;}else{Console.WriteLine("未找到该人员!");}
}

主程序

        class Mainprogram{static void Main(string[] args){StudentManager manager = new StudentManager();//int[,] arr = new int[3, 5];//二维数组bool f = true;while (f){Console.WriteLine("*******************************");Console.WriteLine("请选择您想要进行的操作:\n1:新增学生\n2:查看学生\n3:删除学生\n4:修改学生资料\n0:退出操作");Console.WriteLine("*******************************");int operate = int.Parse(Console.ReadLine());if (operate == 1)//新增学生{Console.Write("请输入学号: ");int id = int.Parse(Console.ReadLine());Console.Write("请输入姓名: ");string name = Console.ReadLine();Console.Write("请输入年龄: ");int age = int.Parse(Console.ReadLine());Console.Write("请输入性别: ");string sex = Console.ReadLine();Console.Write("请输入电话: ");int phone = int.Parse(Console.ReadLine());Console.Write("请输入地址: ");string address = Console.ReadLine();manager.AddStudent(id, name, age, sex, phone, address);}else if (operate == 2)//查看学生信息{bool op = true;while (op){Console.WriteLine("*******************************");Console.WriteLine("请选择您想要进行的操作:\n1:查看单个学生\n2:查看所有学生\n3:返回目录");Console.WriteLine("*******************************");int option = int.Parse(Console.ReadLine());if (option == 1){Console.WriteLine("*******************************");Console.WriteLine("请选择您想要进行的操作:\n1:学号查询\n2:姓名查询\n3:电话查询");Console.WriteLine("*******************************");int quest = int.Parse(Console.ReadLine());if (quest == 1){Console.Write("请输入您想要查看的学生的学号: ");int id = int.Parse(Console.ReadLine());manager.ViewSingleStudentId(id);}else if (quest == 2) {Console.Write("请输入您想要查看的学生的名字: ");string name = Console.ReadLine();manager.ViewSingleStudentName(name);}else if(quest == 3) {Console.Write("请输入您想要查看的学生的手机号: ");int phone = int.Parse(Console.ReadLine());manager.ViewSingleStudentPhone(phone);}else {Console.WriteLine("无关操作符");}}else if (option == 2){manager.ViewAllStudent();}else if (option == 3){op = false;}else{Console.WriteLine("无关操作符");}}}else if (operate == 3)//删除学生信息{Console.WriteLine("请输入您想要删除的学生的学号");int id = int.Parse(Console.ReadLine());manager.DeleteStudent(id);}else if (operate == 4) //修改学生信息{Console.WriteLine("请输入您想要修改信息的学生的学号");int Id = int.Parse(Console.ReadLine());Console.WriteLine("*******************************");Console.WriteLine("请选择您想要修改的内容:\n1:学号\n2:姓名\n3:性别\n4:年龄\n5:电话\n6:地址");Console.WriteLine("*******************************");int alter = int.Parse(Console.ReadLine());if (alter == 1){Console.WriteLine("请输入修改后的学号");int id=int.Parse(Console.ReadLine());manager.ChangeInformationId(Id, id);}else if (alter == 2) {Console.WriteLine("请输入修改后的姓名");string name = Console.ReadLine();manager.ChangeInformationName(Id, name);}else if (alter == 3){Console.WriteLine("请输入修改后的性别");string sex = Console.ReadLine();manager.ChangeInformationSex(Id, sex);}else if (alter == 4){Console.WriteLine("请输入修改后的年龄");int age = int.Parse(Console.ReadLine());manager.ChangeInformationAge(Id, age);}else if (alter == 5){Console.WriteLine("请输入修改后的电话");int phone = int.Parse(Console.ReadLine());manager.ChangeInformationPhone(Id, phone);}else if (alter == 6){Console.WriteLine("请输入修改后的地址");string address = Console.ReadLine();manager.ChangeInformationAddress(Id, address);}else{Console.WriteLine("无关操作符");}}else if (operate == 0)//退出程序{f = false;}else{Console.WriteLine("无关操作符");}}}}


http://www.ppmy.cn/ops/127799.html

相关文章

日常笔记记录

1、Http 1.1 概念 HTTP 是 HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09;的简写&#xff0c;它是 TCP/IP 协议集中的一个应用层协议&#xff0c;是客户端与服务端进行交互时必须遵循的规则。它用于定义 Web 浏览器与 Web 服务器之间交换数据的过程以及…

【Docker】Harbor 私有仓库和管理

目录 一、搭建本地私有仓库 二、harbor简介&#xff08;特性、构成、架构的数据流向&#xff09; 2.1 什么是Harbor 2.2 Harbor的特性 2.3 Harbor的构成 2.4 Harbor的工作原理&#xff08;运行流程&#xff09; 三、harbor部署以及配置文件 1. 部署 Docker-Compose 服…

JavaEE 多线程第三节 (lambda方法实现多线程/Thread属性和方法/前台线程后台线程)

欢迎阅读前序课程JavaEE 多线程第二节 (多线程的简单实现Thread/Runable)-CSDN博客 1. lambda方法实现多线程 public class Test {public static void main(String[] args) throws InterruptedException {Thread t new Thread(()->{while (true){System.out.println("…

深度学习(二)框架与工具:开启智能未来之门(2/10)

一、深度学习框架&#xff1a;引领智能变革的利器 深度学习框架在人工智能领域中扮演着至关重要的角色&#xff0c;堪称引领智能变革的利器。随着人工智能技术的飞速发展&#xff0c;深度学习框架不断崛起并迅速壮大。 主流的深度学习框架如 TensorFlow、PyTorch、Keras 等&a…

jupyter notebook 笔记

nbclassic 经典版 新版的 jupyter notebook 太丑了。 最难受的是字体太小了。 我还是喜欢老版本的 jupyter notebook. 安装经典版: pip install nbclassic 启动经典版: jupyter server 或是 jupyter nbclassic 参考来源: https://github.com/jupyter/nbclassic jupyter note…

Elasticsearch文本分析器

1. 前言 Elasticsearch数据搜索和关系型数据库的SQL查询最显著的区别就是&#xff1a;除了精准匹配和模糊查询&#xff0c;Elasticsearch还具备全文检索的能力&#xff0c;而全文检索的核心是文本分析。 文本分析会将长文本内容进行字符过滤和细粒度的分词&#xff0c;先将长…

威胁狩猎:基于ELK的日志监控

#0x0 概述 ELK Stack即以前的Elastic Stack&#xff0c;Elk Stack是Elastic公司专门为集中化日志管理设计的免费开源软件组合。它允许搜索、分析和可视化来自不同来源的日志。 如在ubuntu上安装配置ELK Stack&#xff0c;需要如下先决条件&#xff1a; Ubuntu 20.04最好使用…

51单片机的仓库管理系统【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温湿度传感器人体红外传感器掉电保存模块按键、LED、蜂鸣器等模块构成。适用于仓库环境监控等相似项目。 可实现功能: 1、LCD1602实时显示商品库存、仓库温湿度和安全情况 2、人体红外传感器&#xff08;按键模拟…