C#制作学生管理系统

定义学生类

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

//定义学生类
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.rhkb.cn/news/461903.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业网络监控中的IP保护与软件授权革新

未来的智能工厂离不开稳定而高效的通信网络&#xff0c;这些网络在支撑生产流程的同时&#xff0c;也面临着复杂的管理与安全挑战。PROCENTEC推出了一系列硬件和软件产品&#xff0c;如Atlas、Mercury和Osiris&#xff0c;以提供全面的网络监控和故障排除能力。然而&#xff0c…

springboot 整合 抖音 移动应用 授权

后端开发&#xff0c;因为没有JavaSDK&#xff0c;maven依赖&#xff0c;用到的是API接口去调用 抖音API开发文档 开发前先申请好移动应用&#xff0c;抖音控制台-移动应用 之后还需要开通所有能开通的能力 拿到应用的 clientKey 和 clientSecret&#xff0c;就可以进入开发了 …

后台管理系统的通用权限解决方案(七)SpringBoot整合SpringEvent实现操作日志记录(基于注解和切面实现)

1 Spring Event框架 除了记录程序运行日志&#xff0c;在实际项目中一般还会记录操作日志&#xff0c;包括操作类型、操作时间、操作员、管理员IP、操作原因等等&#xff08;一般叫审计&#xff09;。 操作日志一般保存在数据库&#xff0c;方便管理员查询。通常的做法在每个…

视频设备一体化监控运维方案

随着平安城市、雪亮工程等项目建设的号召&#xff0c;视频监控系统的建设如火如荼地开展。无论在公共场所、企业单位、住宅小区、矿山工地还是交通枢纽&#xff0c;视频监控系统已成为保障安全、维护秩序和提升管理效率的重要工具。但由于对视频监控系统中的前端设备&#xff0…

二十八、Python基础语法(面向对象-下)

一、self 从函数的语法上来看, self 是形参 , 是一个普通的参数,那么在调用的时候,就需要传递实参值。从调用上看, 我们没有给 self 这个形参传递实参值, 但是 Python 解释器会自动的将调用这个方法的对象&#xff0c;作为实参值传递给 self。 class Dog:def eat(self):print…

【Leecode】Leecode刷题之路第37天之解数独

题目出处 37-解数独-题目出处 题目描述 个人解法 思路&#xff1a; todo代码示例&#xff1a;&#xff08;Java&#xff09; todo复杂度分析 todo官方解法 37-解数独-官方解法 方法1&#xff1a;回溯 思路&#xff1a; 代码示例&#xff1a;&#xff08;Java&#xff09; p…

【golang/navmesh】使用recast navigation进行寻路

目录 说在前面安装使用可视化 说在前面 go version&#xff1a;1.20.2 linux/amd64操作系统&#xff1a;wsl2detour-go版本&#xff1a;v0.2.0github&#xff1a;这里&#xff0c;求star! 安装 使用go mod安装即可go get github.com/o0olele/detour-go使用 使用场景模型构建n…

qt QFormLayout详解

QFormLayout 是 Qt 框架中用于创建表单布局的一个类&#xff0c;适合于将标签和输入控件整齐地排列在一起。它可以帮助开发者轻松构建用户输入界面&#xff0c;尤其是在处理表单时。 QFormLayout以两列的形式展示其子项&#xff0c;常用于创建“标签-字段”对的布局。其中&…

电脑小白必看|电脑安装常用软件简单小技巧

前言 最近同事换了新电脑&#xff0c;问我怎么下载常用软件&#xff1f; 我反问了一下&#xff1a;什么常用软件呢&#xff1f; 她说&#xff1a;微信、QQ、钉钉、酷狗、wps这种类型的软件。 哦豁&#xff0c;那其实很简单&#xff0c;但很多人还是没学会。小白之前分享过一…

RocketMQ 消息消费失败的处理机制

在分布式消息系统中&#xff0c;处理消费失败的消息是非常关键的一环。 RocketMQ 提供了一套完整的消息消费失败处理机制&#xff0c;下面我将简要介绍一下其处理逻辑。 截图代码版本&#xff1a;4.9.8 步骤1 当消息消费失败时&#xff0c;RocketMQ会发送一个code为36的请求到…

数据结构算法学习方法经验总结

DSA:Data Structures, Algorithms, and Problem-Solving Techniques 三大核心支柱 一次学习一个主题&#xff0c;按照如下顺序学习 如何开始学习新的主题 学习资源 https://www.youtube.com/playlist?listPLDN4rrl48XKpZkf03iYFl-O29szjTrs_O (Algorithms) https://ww…

Linux 操作系统的诞生与发展历程

目录 背景与起源 诞生过程 特点与影响 背景与起源 历史背景&#xff1a; 1980年代末至1990年代初&#xff0c;计算机操作系统市场主要由商业软件主导&#xff0c;如DOS、Windows以及Unix的各种版本。然而&#xff0c;这些系统往往价格昂贵&#xff0c;且源代码不开放&#…

第三届北京国际水利科技博览会将于25年3月在国家会议中心召开

由中国农业节水和农村供水技术协会、北京水利学会、振威国际会展集团等单位联合主办的第三届北京国际水利科技博览会暨供水技术与设备展&#xff08;北京水利展&#xff09;将于2025年3月31日至4月2日在北京•国家会议中心举办&#xff01; 博览会以“新制造、新服务、新业态”…

贪心算法习题其二【力扣】【算法学习day.19】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&am…

Linux中NFS配置

文章目录 一、NFS介绍1.1、NFS的工作流程1.2、NFS主要涉及的软件包1.3、NFS的主要配置文件 二、安装NFS2.1、更新yum2.2、安装NFS服务2.3、配置NFS服务器2.4、启动NFS服务2.5、配置防火墙&#xff08;如果启用了防火墙&#xff0c;需要允许NFS相关的端口通过&#xff09;2.6、生…

Docker | 将本地项目发布到阿里云的实现流程

发布到阿里云 本地镜像发布到阿里云流程具体流程1. docker commit 生成新镜像文件2. 查看镜像3. 阿里云开发者平台选择控制台&#xff0c;进入容器镜像服务&#xff0c;选择个人实例创建命名空间仓库名称进入管理界面获得脚本推送到阿里云 补充&#xff1a; docker tag 命令基本…

Qt指定程序编译生成文件的位置

shadow build: [基础]Qt Creator 的 Shadow build(影子构建)-CSDN博客 影子构建&#xff1a;将源码路径和构建路径分开&#xff08;生成的makefile文件和其他产物都不放到源码路径&#xff09;&#xff0c;以此来保证源码路径的清洁。 实验1&#xff1a; 我创建了两个项目:…

嵌入式常用功能之通讯协议1--串口

嵌入式常用功能之通讯协议1--串口&#xff08;本文&#xff09; 嵌入式常用功能之通讯协议1--IIC 嵌入式常用功能之通讯协议1--SPI&#xff08;待定&#xff09; ...... 一、串口协议简介 1&#xff0c;简介 UART(异步串行通信)&#xff1a;时钟基准不是同一个&#xff08…

「Mac畅玩鸿蒙与硬件10」鸿蒙开发环境配置篇10 - 项目实战:计数器应用

本篇将通过一个简单的计数器应用,带你体验鸿蒙开发环境的实际操作流程。本项目主要练习组件的使用、事件响应和状态管理,帮助开发者熟悉基本的应用构建流程。 关键词 计数器应用组件操作事件响应状态管理HarmonyOS 应用开发一、创建计数器项目 1.1 在 DevEco Studio 中新建项…

Python | Leetcode Python题解之第513题找树左下角的值

题目&#xff1a; 题解&#xff1a; class Solution:def findBottomLeftValue(self, root: Optional[TreeNode]) -> int:q deque([root])while q:node q.popleft()if node.right:q.append(node.right)if node.left:q.append(node.left)ans node.valreturn ans