当前位置: 首页 > news >正文

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("无关操作符");}}}}

相关文章:

C#制作学生管理系统

定义学生类 定义一个简单的类来表示学生&#xff0c;包括学号、姓名、性别、年龄、电话、地址。再给其添加一个方法利于后续添加方法查看学生信息。 //定义学生类 public class student {public int ID { get; set; }//开放读写权限public string Name { get; set; }public i…...

python Pandas合并(单元格、sheet、excel )

安装 Pandas 和 openpyxl 首先&#xff0c;确保已经安装了 Pandas 和 openpyxl。可以通过 pip 安装&#xff1a; pip install pandas openpyxl 创建 DataFrame import pandas as pd # 创建 DataFrame df1 pd.DataFrame({ 姓名: [张三, 李四, 王五], 年龄: [25, 30, 35]…...

OJ在线编程常见输入输出练习【JavaScript】

&#xff08;注&#xff1a;本文是对【JavaScript Node 】 ACM模式&#xff0c;常见输入输出练习相关内容的介绍&#xff01;&#xff01;&#xff01;&#xff09; 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 一、ACM模式下的编辑页面 二、ACM模式下&a…...

新能源汽车空调系统:绿色出行的舒适保障

在新能源汽车迅速发展的今天&#xff0c;空调系统作为提升驾乘舒适度的重要组成部分&#xff0c;发挥着不可或缺的作用。新能源汽车空调系统主要由压缩机、冷凝器、节流装置和蒸发器四大件组成&#xff0c;它们协同工作&#xff0c;为车内提供适宜的温度和湿度环境。 一、压缩…...

Date工具类详细汇总-Date日期相关方法

# 1024程序员节 | 征文 # 目录 简介 Date工具类单元测试 Date工具类 简介 本文章是个人总结实际工作中常用到的Date工具类&#xff0c;主要包含Java-jdk8以下版本的Date相关使用方法&#xff0c;可以方便的在工作中灵活的应用&#xff0c;在个人工作期间频繁使用这些时间的格…...

TMUX1308PWR规格书 数据手册 具有注入电流控制功能的 5V 双向 8:1单通道和 4:1 双通道多路复用器芯片

TMUX1308 和 TMUX1309 为通用互补金属氧化物半导体 (CMOS) 多路复用器 (MUX)。TMUX1308 是 8:1单通道&#xff08;单端&#xff09;多路复用器&#xff0c;而 TMUX1309 是 4:1 双通道&#xff08;差分&#xff09;多路复用器。这些器件可在源极 (Sx) 和漏极 (Dx) 引脚上支持从 …...

证件照怎么换底色?简单又快速!不看后悔

一、引言 证件照在我们的生活中有着广泛的应用&#xff0c;无论是求职、考试还是办理各种证件&#xff0c;都需要用到不同底色的证件照。传统的换底色方法往往比较复杂&#xff0c;需要一定的专业技能和软件操作经验。但是现在&#xff0c;有了更简单快捷的方法&#xff0c;让你…...

Rust 基础语法与常用特性

Rust 跨界&#xff1a;全面掌握跨平台应用开发 第一章&#xff1a;快速上手 Rust 1.2 基础语法与常用特性 1.2.1 数据类型与控制流 数据类型 Rust 提供了丰富的内置数据类型&#xff0c;主要分为标量类型和复合类型。 标量类型 标量类型表示单一的值&#xff0c;Rust 中…...

一、开发环境的搭建

环境搭建步骤&#xff1a; 下载软件安装软件运行软件 其他&#xff1a; Visual studio 安装包文件&#xff1a;https://www.alipan.com/s/nd5RgzD4e3b 下载软件 在浏览器中搜索Visual studio&#xff0c;选择如图的选项 点击该区域&#xff0c;进入该页面&#xff0c;【或…...

Docker:存储原理

Docker&#xff1a;存储原理 镜像联合文件系统overlay镜像存储结构容器存储结构 存储卷绑定挂载存储卷结构 镜像 联合文件系统 联合文件系统Union File System是一种分层&#xff0c;轻量且高效的文件系统。其将整个文件系统分为多个层&#xff0c;层与层之间进行覆盖&#x…...

ts:数组的常用方法(push、pop、shift、unshift、splice、slice)

前端css中filter的使用 一、主要内容说明二、例子&#xff08;一&#xff09;、push方法&#xff08;尾添加&#xff09;1.源码1 &#xff08;push方法&#xff09;2.源码1运行效果 &#xff08;二&#xff09;、pop方法&#xff08;尾删除&#xff09;1.源码2&#xff08;pop方…...

物联网网关确保设备安全

物联网&#xff08;IoT&#xff09;网关在确保设备安全方面扮演着至关重要的角色。 作为连接物联网设备和云端或企业系统的中介&#xff0c;物联网网关可以实施多种安全措施来保护设备和数据。 是物联网网关确保设备安全的关键方法&#xff1a; 1. 设备认证和授权 认证&…...

Vue学习笔记(五)

Class绑定 数据绑定的一个常见需求场景式操纵元素的CSS class列表&#xff0c;因为class是attribute,我们可以和其他attribute一样使用v-bind将它们和动态的字符串绑定。但是&#xff0c;在处理比较复杂的绑定时&#xff0c;通过拼接生成字符串是麻烦且易出错的。因此&#xf…...

Nestjs返回格式小结

在 NestJS 中&#xff0c;除了 text/event-stream&#xff08;用于 Server-Sent Events&#xff09;之外&#xff0c;还有多种格式的返回方式&#xff0c;具体取决于你的应用需求。以下是一些常见的返回格式及其示例&#xff1a; 1. JSON 格式 Get(json) getJsonResponse(Res…...

【力扣刷题实战】相同的树

大家好&#xff0c;我是小卡皮巴拉 文章目录 目录 力扣题目&#xff1a; 相同的树 题目描述 示例 1&#xff1a; 示例 2&#xff1a; 示例 3&#xff1a; 解题思路 题目理解 算法选择 具体思路 解题要点 完整代码&#xff08;C语言&#xff09; 兄弟们共勉 &#…...

Golang | Leetcode Golang题解之第515题在每个树行中找最大值

题目&#xff1a; 题解&#xff1a; func largestValues(root *TreeNode) (ans []int) {if root nil {return}q : []*TreeNode{root}for len(q) > 0 {maxVal : math.MinInt32tmp : qq nilfor _, node : range tmp {maxVal max(maxVal, node.Val)if node.Left ! nil {q …...

Zookeeper 对于 Kafka 的作用是什么?

大家好&#xff0c;我是锋哥。今天分享关于【Zookeeper 对于 Kafka 的作用是什么&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; Zookeeper 对于 Kafka 的作用是什么&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 ZooKeeper 在 Kafka…...

Thread类及线程的核心操作

一. Thread类的常见构造方法 1. Thread() Thread类无参的构造方法, 用于创建Thread类的实例对象. 2. Thread(String name) 带一个参数的Thread类构造方法, 创建一个线程对象, 并给其命名. [注]: 如果不专门给线程命名, 那么线程默认的名字就是Thread-0, Thread-1, Thread-…...

算法|牛客网华为机试11-20C++

牛客网华为机试 上篇&#xff1a;算法|牛客网华为机试1-10C 文章目录 HJ11 数字颠倒HJ12 字符串反转HJ13 句子逆序HJ14 字符串排序HJ15 求int型正整数在内存中存储时1的个数HJ16 购物单HJ17 坐标移动HJ18 识别有效的IP地址和掩码并进行分类统计HJ19 简单错误记录HJ20 密码验证…...

OpenAI低调发布多智能体工具Swarm:让多个智能体协同工作!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;专注于分享AI全维度知识&#xff0c;包括但不限于AI科普&#xff0c;AI工…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...