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
0
投稿
猜你喜欢
- IO操作字节流java.io.InputStream 输入流,主要是用来读取文件内容的。java.io.OutputStream 输出流,主
- 前言;Apache common-pool对象池介绍:对象生命周期、Config详解、代码说明对象生命周期Config详解maxActive
- 1、什么是阻塞队列?队列是一种数据结构,它有两个基本操作:在队列尾部加入一个元素,从队列头部移除一个元素。阻塞队里与普通的队列的区别在于,普
- 业务场景我们知道在使用PageHelper分页插件时,会对执行PageHelper.startPage(pageNum, pageSize)
- 简介我们在开发web应用的时候,有时候为了适应浏览器大小的调整,需要动态对页面的组件进行位置的调整。这时候就会用到flow layout,也
- 本文实例为大家分享了java实现五子棋程序的具体代码,供大家参考,具体内容如下知识点1、Swing 编程2、ImageIO 类的使用3、图片
- 一、数组的基本用法1.什么是数组数组:存储一组相同数据类型的数据的集合。2.定义数组 int[] :int类型数组 do
- 本文介绍了Java实现动态获取图片验证码的示例代码,分享给大家,具体如下:import javax.imageio.ImageIO;impo
- 前言.如何设置设置使用的地方1.设置类注释模板代码/*** @author: lujie* @create: $date$* @descri
- 在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java
- 1、Service层:业务层–>控制业务业务模块的逻辑功能设计,和DAO层一样都是先设计接口,再创建要实现的类,然
- 多线程@Async的使用体验场景导入:可以将大批量的数据insert操作采用多线程的方式并行执行第三方服务的接口调用:由于存在个别第三方服务
- 1 修饰属性或者变量无论属性是基本类型还是引用类型,作用都是变量里面存放的“值”不可变经常和static关键字一起使用,作为常量1 基本类型
- 一、首先在Spring Boot项目中,手动添加异常方法进行测试@Transactional(rollbackFor=Exception.c
- 1、声明一个测试对象import java.time.LocalDate;import java.util.List;import lomb
- 前言通过前面的博客我们已经大致了解了关于Java的基本知识,而下面的几篇博客我们着重开始对于数据结构的知识进行学习,这篇博客我们就了解关于顺
- Mybatis的Dao层实现传统开发方式1、编写UserDao接口public interface UserMapper {public L
- 本文实例讲述了Java Swing中JTable渲染器与编辑器用法。分享给大家供大家参考,具体如下:JTable的内容、外观、事件响应在很大
- 1.取整运算符取整从字面意思理解就是被除数到底包含几个除数,也就是能被整除多少次,那么它有哪些需要注意的地方呢?先看下面的两端代码: &nb
- Bean是Spring框架中最核心的两个概念之一(另一个是面向切面编程AOP)。1 定义Spring 官方文档对 bean 的解释是:In