C#控制台学生成绩管理系统实训分析报告(共9页).doc

上传人:飞****2 文档编号:14013570 上传时间:2022-05-02 格式:DOC 页数:9 大小:89KB
返回 下载 相关 举报
C#控制台学生成绩管理系统实训分析报告(共9页).doc_第1页
第1页 / 共9页
C#控制台学生成绩管理系统实训分析报告(共9页).doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《C#控制台学生成绩管理系统实训分析报告(共9页).doc》由会员分享,可在线阅读,更多相关《C#控制台学生成绩管理系统实训分析报告(共9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上C#语言编程实训报告系部:电子信息系班级:计算机1201姓名:陈紫房指导教师:邱文严项目报告1 设计题目:学生成绩管理系统。2 设计目的:1. 巩固C#语言编程知识,提高面向对象编程能力,提高分析与解决实际问题的能力。2. 掌握循环、子程序等结构的程序设计方法。3. 掌握数组、结构体等数据结构的设计方法。4. 掌握排序检索等程序设计技术。3 项目实现的功能:1. 学生类的实现;2. 输入10个学生的学号、姓名、各门课程的成绩;3. 计算学生的总成绩和平均成绩;4. 按总成绩排序并显示;5. 检索功能,可以按姓名、学号进行检索。6. 能够插入、修改和删除学生信息7. 能

2、够正常退出程序。4 设计原理:1. 建立一个学生类,利用ArrayList动态数组存储学生的学号,姓名,数学成绩,英语成绩,C#成绩。2. 在学生类里面定义函数:operate()函数当做菜单,input()函数用来输入信息,insert()函数用来插入信息,index()函数用来检索并返回索引值,index_show()函数用来输出索引结果,index_remove()函数用来删除学索引处的生信息,move()函数用来排序,move_Sum()函数用来按总成绩排序,move_show()函数用来输出排序后的信息。3. operate()函数中用swish语句选择应用选项,用goto Retu

3、rn返回主菜单;input()函数中用Add添加信息;insert()函数中用insert插入信息;index()函数中用IndexOf来检索并返回索引值;index_show()函数中用for循环来输出索引结果;index_remove()函数中用RemoveAt来删除学索引处的生信息;move()函数中用嵌套式双重for循环来排序;4. 用Console.Clear();来清屏。5 程序流程图;Case1:编写学生信息Case5:安全退出Case2:查看学生信息Case3:删除学生信息主函数调用operate函数,开始主程序Operate函数调用各个小菜单开始Case4:生成学生成绩单1.

4、添加学生信息。2.插入学生信息。1.按录入顺序输出成绩单1.按学号查询3.修改学生信息。1.按学号删除2.按姓名查询4.按数学成绩输出成绩单2.按姓名删除2.按总成绩排序输出成绩单3.按英语成绩输出成绩单goto :Return返回主菜单5.按C#成绩输出成绩单结束6 使用及调试说明;1开始调试程序2输入学生信息3.查看输入结果4.排序5.查询个人信息6.删除学生信息7.插入及修改学生信息7 源程序代码;using System;using System.Collections;usingusing System.Text;namespace Student_score_management

5、public class Student /定义了一个学生类 ArrayList ID = new ArrayList(3); /把学生的学号,姓名,英语、数学、C#成绩分别放在动态数组中。 ArrayList Name = new ArrayList(3); ArrayList English_Score = new ArrayList(3); ArrayList Math_Score = new ArrayList(3); ArrayList VisualCshap_Score = new ArrayList(3); public void Menu() /主菜单 Console.Writ

6、eLine(主菜单:); Console.WriteLine(1.编写学生信息。); Console.WriteLine(2.查看学生信息。); Console.WriteLine(3.删除学生信息。); Console.WriteLine(4.生成学生成绩单。); Console.WriteLine(5.安全退出。); Console.WriteLine(_); Console.WriteLine(请选择(以回车键结束)。); public void Menu1() /小菜单1 Console.WriteLine(1.添加学生信息。); Console.WriteLine(2.插入学生信息。

7、); Console.WriteLine(3.修改学生信息。); Console.WriteLine(_); Console.WriteLine(请选择(以回车键结束)。); public void Menu2() /小菜单2 Console.WriteLine(1.按学号查询); Console.WriteLine(2.按姓名查询); Console.WriteLine(_); Console.WriteLine(请选择(以回车键结束)。); public void Menu3() /小菜单3 Console.WriteLine(1.按学号删除); Console.WriteLine(2.按

8、姓名删除); Console.WriteLine(_); Console.WriteLine(请选择(以回车键结束)。); public void Menu4() /小菜单4 Console.WriteLine(1.按录入顺序输出成绩单); Console.WriteLine(2.按总成绩排序输出成绩单); Console.WriteLine(3.按英语成绩输出成绩单); Console.WriteLine(4.按数学成绩输出成绩单); Console.WriteLine(5.按C#成绩输出成绩单); Console.WriteLine(_); Console.WriteLine(请选择(以回

9、车键结束)。); public void input() /添加学生信息的函数 Console.Write(学号:t); ID.Add(Console.ReadLine(); Console.Write(姓名:t); Name.Add(Console.ReadLine(); Console.Write(英语成绩:t); English_Score.Add(Console.ReadLine(); Console.Write(数学成绩:t); Math_Score.Add(Console.ReadLine(); Console.Write(visual C#成绩:t); VisualCshap_S

10、core.Add(Console.ReadLine(); public void insert(int i) /插入学生信息的函数,使用动态数组插入函数 Console.Write(学号:t); ID.Insert(i, Console.ReadLine(); Console.Write(姓名:t); Name.Insert(i, Console.ReadLine(); Console.Write(英语成绩:t); English_Score.Insert(i, Console.ReadLine(); Console.Write(数学成绩:t); Math_Score.Insert(i, Co

11、nsole.ReadLine(); Console.Write(visual C#成绩:t); VisualCshap_Score.Insert(i, Console.ReadLine(); public void index_show(int i) /输出索引结果的函数 double Sum; double Ave; Sum = (Convert.ToDouble(English_Scorei) + Convert.ToDouble(Math_Scorei) + Convert.ToDouble(VisualCshap_Scorei); Ave = (Convert.ToDouble(Sum

12、) / 3); Console.WriteLine(学号:t姓名:t英语:t数学:tC#分:t总分:t平均分:t); Console.WriteLine(0t1t2t3t4t5t6:#.00t, IDi, Namei, English_Scorei, Math_Scorei, VisualCshap_Scorei, Sum, Ave); public void move_show() /输出排序后信息的函数 for (int i = 0; i 0; i-) /冒泡排序法 for (int j = 0; j i; j+) if (Convert.ToDouble(tempj) 0; i-) fo

13、r (int j = 0; j i; j+) if (Convert.ToDouble(temp1j) + Convert.ToDouble(temp2j) + Convert.ToDouble(temp3j) Convert.ToDouble(temp1j + 1) + Convert.ToDouble(temp2j + 1) + Convert.ToDouble(temp3j + 1) object Temp; Temp = IDj; IDj = IDj + 1; IDj + 1 = Temp; Temp = Namej; Namej = Namej + 1; Namej + 1 = Te

14、mp; Temp = English_Scorej; English_Scorej = English_Scorej + 1; English_Scorej + 1 = Temp; Temp = Math_Scorej; Math_Scorej = Math_Scorej + 1; Math_Scorej + 1 = Temp; Temp = VisualCshap_Scorej; VisualCshap_Scorej = VisualCshap_Scorej + 1; VisualCshap_Scorej + 1 = Temp; public int index(ArrayList temp

15、) /检索方法,返回索引值 int T; return T = temp.IndexOf(Console.ReadLine(); public void operate() /主程序方法 Student student = new Student(); /学生类初始化对象 Return: Console.Clear(); / goto Return;用于返回主菜单的语句的标签所在 student.Menu(); byte Number; Number = Convert.ToByte(Console.ReadLine(); switch (Number) case 1: /实现编写学生信息的代

16、码 Console.Clear(); student.Menu1(); Number = Convert.ToByte(Console.ReadLine(); switch (Number) case 1: /实现添加学生信息的代码。 Console.Clear(); Console.WriteLine(请输入学生信息(以回车键结束)。); student.input(); Console.WriteLine(是否继续输入?是请输入y返回主菜单请输入n(以回车键结束!); char ch = char.Parse(Console.ReadLine(); while (ch = y) Conso

17、le.Clear(); student.input(); Console.WriteLine(是否继续输入?是请输入y返回主菜单请输入n(以回车键结束!); ch = char.Parse(Console.ReadLine(); break; case 2: /实现插入学生信息的代码。 Console.Clear(); Console.WriteLine(1.按学号插入学生信息。); Console.WriteLine(2.按索引插入学生信息。); Console.WriteLine(_); Console.WriteLine(请选择(以回车键结束)。); Number = Convert.T

18、oByte(Console.ReadLine(); switch (Number) case 1: Console.WriteLine(请输入要插入的学生的前一个人的学号); int j = student.index(student.ID); /没有找到时返回值是-1 if (j = -1) Console.WriteLine(查无此人!无法插入信息。); else Console.Clear(); Console.WriteLine(请输入要插入的学生信息。(以回车键结束。); student.insert(j + 1); Console.WriteLine(按回车键返回主菜单); Con

19、sole.ReadLine(); break; case 2: Console.Clear(); Console.WriteLine(请输入要插入信息的位置(索引从0开始,以回车键结束!); int i = int.Parse(Console.ReadLine(); Console.WriteLine(请输入要插入的学生信息。(以回车键结束); student.insert(i); Console.WriteLine(按回车键返回主菜单); Console.ReadLine(); break; break; case 3: /实现修改学生信息的代码 Console.Clear(); Conso

20、le.WriteLine(请输入要修改信息的学生学号); int n = index(student.ID); Console.WriteLine(请输入要修改的学生信息); student.index_remove(n); student.insert(n); Console.WriteLine(按回车键返回主菜单); Console.ReadLine(); break; default: Console.WriteLine(输入错误!请按回车键返回主菜单); Console.ReadLine(); break; goto Return; case 2: / 2.查看学生信息。 Consol

21、e.Clear(); student.Menu2(); Number = Convert.ToByte(Console.ReadLine(); switch (Number) case 1: Console.Clear(); /实现按学号查询的代码 Console.WriteLine(请输入学生学号(以回车键结束)。); int j = student.index(student.ID); /没有找到时返回值是-1 if (j = -1) Console.WriteLine(查无此人!); else student.index_show(j); Console.WriteLine(按回车键返回

22、主菜单); Console.ReadLine(); break; case 2: Console.Clear(); /实现按姓名查询的代码 Console.WriteLine(请输入学生姓名以回车键结束)。); j = student.index(student.Name); if (j = -1) Console.WriteLine(查无此人!); else student.index_show(j); Console.WriteLine(按回车键返回主菜单); Console.ReadLine(); break; goto Return; case 3: /3.删除学生信息。 Console.Clear(); Console.WriteLine(3.删除学生信息。);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁