C#实现简单学生成绩管理系统
作者:师晓峰 发布时间:2023-03-14 01:50:22
标签:C#,成绩,管理系统
本文实例为大家分享了C#实现学生成绩管理系统的具体代码,供大家参考,具体内容如下
C#作业 用循环结构/数组实现
进入启动页面
管理员身份登入
用户名:师晓峰
密码:88481234
学生成绩输入
默认输入三位同学
学生成绩输出
学生成绩查询
默认按照学号查询
学生成绩修改
学生的学号是固定不变的,通过学号定位学生。
修改功能展示
退出系统
using System;
using System.Net.Http.Headers;
namespace Dome13
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("********欢迎进入启动界面*********");
Console.WriteLine("******系统名称:晓氏工作室*******");
Console.WriteLine("******开发人姓名:师晓峰*********");
Console.WriteLine("******开发时间:2020-10-17*******");
if (true)
{
Console.WriteLine("********欢迎进入用户登录页面*********");
Console.WriteLine("请输入用户名:");
string userName = Console.ReadLine();
Console.WriteLine("请输入密码:");
string passWord = Console.ReadLine();
string uN = "师晓峰";
string pW = "88481234";
int count = 2;
while (true)
{
if (userName == uN && passWord == pW)
{
Console.WriteLine("********恭喜您登录成功*********");
Console.WriteLine("******欢迎进入功能菜单栏*******");
// 1.学生成绩输入 2.学生成绩输出 3.学生成绩查询 4.学生成绩修改 0.退出系统
Console.WriteLine("******1.学生成绩输入*******");
Console.WriteLine("******2.学生成绩输出*******");
Console.WriteLine("******3.学生成绩查询*******");
Console.WriteLine("******4.学生成绩修改*******");
Console.WriteLine("******0.退出系统***********");
break;
}
else
{
if (count > 0)
{
Console.WriteLine("您输入的用户名或密码错误,请重新输入");
Console.WriteLine("您还有{0}次机会哦!!!", count--);
Console.WriteLine("请输入用户名:");
userName = Console.ReadLine();
Console.WriteLine("请输入密码:");
passWord = Console.ReadLine();
}
}
}
const int N_S = 3;
string[,] student = new string[N_S ,7];
int n = int.Parse(Console.ReadLine());
while (true)
{
switch (n)
{
case 1:
Console.WriteLine(" 1.学生成绩输入");
InputStudent(student, N_S);
break;
case 2:
Console.WriteLine(" 2.学生成绩输出");
OutStudent(student, N_S);
break;
case 3:
Console.WriteLine(" 3.学生成绩查询");
Console.WriteLine("请输入学号:");
string id = Console.ReadLine();
InquierStudent(student ,id);
break;
case 4:
Console.WriteLine(" 4.学生成绩修改");
Console.WriteLine("学号固定不变,按照学号查找");
Console.WriteLine("请输入学号:");
string id1 = Console.ReadLine();
AmendStudent(student,id1);
break;
case 0:
Console.WriteLine(" 0.退出系统");
break;
default:
Console.WriteLine("您输入的数字有误,请重新输入(0~4)");
break;
}
Console.WriteLine();
Console.WriteLine("******欢迎进入功能菜单栏*******");
Console.WriteLine("******1.学生成绩输入*******");
Console.WriteLine("******2.学生成绩输出*******");
Console.WriteLine("******3.学生成绩查询*******");
Console.WriteLine("******4.学生成绩修改*******");
Console.WriteLine("******0.退出系统***********");
Console.WriteLine("请选择功能:");
n =int.Parse ( Console.ReadLine());
}
}
static void InputStudent(String[,]student ,int num)
{
int temp;
string strStudent;
string[] strInof;
Console.WriteLine("请输入学生信息(以·分隔开):学号·姓名·语文·数学·英语");
for (int i=0;i<num;i++)
{
Console.WriteLine("请输入第{0}个学生的信息。",i+1);
strStudent = Console.ReadLine();
strInof = strStudent.Split('·');
for (int j=0;j<strInof.Length;j++)
{
student[i,j] = strInof[j];
}
Console.WriteLine();
//计算总分
temp = Convert.ToInt32(student[i,2]) + Convert.ToInt32(student[i,3]) + Convert.ToInt32(student[i,4]);
student[i,5] = Convert.ToString(temp);
//计算平均分
student[i,6] = string .Format ("{0:F2}",temp /3.0);
}
}
static void OutStudent(string[,] student ,int num)
{
Console.WriteLine();
Console.WriteLine("**********************该学生的信息***************************");
Console.WriteLine("|------------------------------------------------------------|");
Console.WriteLine("| 学号 | 姓名 | 语文 | 数学 | 英语 | 总分 | 平均分 |");
Console.WriteLine("|------------------------------------------------------------|");
for (int i=0;i<num;i++)
{
Console.WriteLine("| {0,10} | {1,3} | {2,4} | {3,4} | {4,4} | {5,5}| {6,6:F2} |",student[i,0],student [i,1],student [i,2],student [i,3],student [i,4],student [i,5],student [i,6]);
Console.WriteLine("|------------------------------------------------------------|");
}
}
static void InquierStudent(String[,]student,string id){
int i = 0;
for (;i<student .Length; i++)
{
if (student[i,0]==id)
{
Console.WriteLine("**********************该学生的信息***********************");
Console.WriteLine("|--------------------------------------------------------|");
Console.WriteLine("| 学号 | 姓名 | 语文 | 数学 | 英语 | 总分 | 平均分 |");
Console.WriteLine("|--------------------------------------------------------|");
Console.WriteLine("| {0,10} | {1,3} |{2,4}| {3,4} | {4,4} | {5,5}| {6,6:F2} |", student[i,0], student[i,1], student[i,2], student[i, 3], student[i,4], student[i, 5], student[i,6]);
Console.WriteLine("|--------------------------------------------------------|");
break;
}
}
if(i>=student.Length)
{
Console.WriteLine("查询失败,您输入的学号有误!!!!");
}
}
static void AmendStudent(String[,] student, string id1)
{
int i = 0;
for (; i < student.Length; i++)
{
if (student[i, 0] == id1)
{
Console.WriteLine("**************************该学生的信息**********************");
Console.WriteLine("|----------------------------------------------------------|");
Console.WriteLine("| 学号 | 姓名 | 语文 | 数学 | 英语 | 总分 | 平均分 |");
Console.WriteLine("|----------------------------------------------------------|");
Console.WriteLine("|{0,10} | {1,3} | {2,4} | {3,4} | {4,4} | {5,5} | {6,6:F2}|", student[i,0], student[i,1], student[i,2], student[i,3], student[i,4], student[i,5], student[i,6]);
Console.WriteLine("|----------------------------------------------------------|");
Console.WriteLine();
int temp = 0;
Console.WriteLine("-------------------------");
Console.WriteLine("******1.修改姓名*********");
Console.WriteLine("******2.修改语文成绩*****");
Console.WriteLine("******3.修改数学成绩*****");
Console.WriteLine("******4.修改英语成绩*****");
Console.WriteLine("******0.退出修改*********");
Console.WriteLine("-------------------------");
Console.WriteLine("请输入要修改的选项(对应的序号)");
int j = int.Parse(Console.ReadLine());
while (j != 0)
{
switch (j)
{
case 1:
Console.WriteLine("请输入修改后的姓名:");
student[i, 1] = Console.ReadLine();
break;
case 2:
Console.WriteLine("请输入修改后的语文:");
student[i, 2] = Console.ReadLine();
break;
case 3:
Console.WriteLine("请输入修改后的数学:");
student[i, 3] = Console.ReadLine();
break;
case 4:
Console.WriteLine("请输入修改后的英语:");
student[i, 4] = Console.ReadLine();
break;
case 0:
Console.WriteLine("******0.退出修改*********");
break;
default:
Console.WriteLine("您输入的序号错误,请重新输入");
break;
}
Console.WriteLine("请输入要修改的选项(对应的序号1`4)");
j = int.Parse(Console.ReadLine());
}
temp = Convert.ToInt32(student [i,2]) + Convert.ToInt32(student[i,3]) + Convert.ToInt32(student[i,4]);
student[i, 5] = Convert.ToString(temp);
//计算平均分
student[i, 6] = string.Format("{0:F2}", temp / 3.0);
Console.WriteLine("**********************修改侯该学生的信息***********************");
Console.WriteLine("|-------------------------------------------------------------|");
Console.WriteLine("| 学号 | 姓名 | 语文 | 数学 | 英语 | 总分 | 平均分 |");
Console.WriteLine("|-------------------------------------------------------------|");
Console.WriteLine("|{0,10} | {1,3} | {2,4} | {3,4} | {4,4} | {5,5} | {6,6:F2} |", student[i,0], student[i,1], student[i,2], student[i,3], student[i,4], student[i,5], student[i,6]);
Console.WriteLine("|-------------------------------------------------------------|");
Console.WriteLine();
break;
}
if (i>=student .Length )
{
Console.WriteLine("查找失败,您输入的学号有误!!!");
}
Console.ReadKey();
}
}
}
}
}
来源:https://blog.csdn.net/weixin_46585492/article/details/109139062


猜你喜欢
- 如何查看 Java 的字节码文件?在 Java 中,字节码文件.class实际上是二进制文件,并不能直接查看。要想查看,我们只能通过反编译对
- Cocos2d-x从2.x版本到上周刚刚才发布的Cocos2d-x 3.0 Final版,其引擎驱动核心依旧是一个单线程的“死循环”,一旦某
- 今天介绍一下,我在项目开发过程中,实现状态栏和虚拟按键背景颜色变化的方法,实现方式是,通过隐藏系统的状态栏和虚拟按键的背景,实现图片和背景显
- 话说为了防止 * ,业内有不成文规定,手机公司在做camera时,点击拍照和录像键的时候,必须要有提示音。因此,google也就非常人性化的将
- 一、IO流的分类字符流ReaderInputStreamReader(节点流)BufferedReader(处理流)WriterOutput
- 1:查看是否有存储卡插入String status=Environment.getExternalStorageState();if(sta
- 本文实例讲述了C#数据结构之队列(Quene)。分享给大家供大家参考,具体如下:队列(Quene)的特征就是“先进先出”,队列把所有操作限制
- 目录一.什么是负载均衡二.负载均衡的简单分类三.为什么需要做负载均衡四.springCloud如何开启负载均衡五.IRule1.Random
- 公司项目中经常设计到串口通信,TCP通信,而且大多都是实时的大数据的传输,然后大家都知道协议通讯肯定涉及到什么,封包、拆包、粘包、校验……什
- 本文实例讲述了C#在RichTextBox中显示不同颜色文字的方法。分享给大家供大家参考。具体实现方法如下:#region 日志记录、支持其
- 本文实例讲述了C#导出数据到Excel文件的方法。分享给大家供大家参考。具体实现方法如下:/// <summary>/// 导出
- 本文实例讲述了C#将布尔类型转换成字节数组的方法。分享给大家供大家参考。具体如下:byte[] b = null;b = BitConver
- 本文实例为大家分享了android自定义WaveView水波纹控件的使用方法,供大家参考,具体内容如下Github Repository a
- 同样该功能需要加载命名空间using System.Runtime.InteropServices;private const uint W
- 前言 Gallery的Item使用的是一个ImageView+TextView,并且为其设置了selector,当使用setSe
- Netty设置为Https访问SSLContextFactorypublic class SSLContextFactory {
- 本文实例讲述了Aspectj框架。分享给大家供大家参考,具体如下:一 环境变量配置CLASSPATH配置为:.;d:\aspectj1.8\
- 突然需要改一堆文件的后缀名,所以想编程解决,话不多说直接上代码javaimport java.io.File;import java.uti
- 上传临时文件被删除引起报错的解决1.前言在项目中使用到了SpringBoot的上传实现了一个excel导入功能,上线后稳得一批,但突然有一天
- 1.可能是缓存导致的。解决方法:清除缓存!2.全局编译可能项目依赖别的模块,别的模块修改未进行编译,这时须先对依赖模块进行编译补充知识:ID