C#控制台学生成绩管理系统实训分析报告(含源代码)

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

4 设计原理: 1. 建立一个学生类,利用ArrayList动态数组存储学生的学号,姓名,数学成绩,英语成绩,C#成绩。

2. 在学生类里面定义函数:operate()函数当做菜单,input()函数用来输入信息,insert()

函数用来插入信息,index()函数用来检索并返回索引值,index_show()函数用来输出索引结果,index_remove()函数用来删除学索引处的生信息,move()函数用来排序,move_Sum()函数用来按总成绩排序,move_show()函数用来输出排序后的信息。

3. operate()函数中用swish语句选择应用选项,用goto Return返回主菜单;input()

函数中用Add添加信息;insert()函数中用insert插入信息;index()函数中用IndexOf来检索并返回索引值;index_show()函数中用for循环来输出索引结果;index_remove()函数中用RemoveAt来删除学索引处的生信息;move()函数中用嵌套式双重for循环来排序;

4. 用Console.Clear();来清屏。

页眉内容

5 程序流程图;

6 使用及调试说明; 1.开始调试程序 2.输入学生信息 3.查看输入结果 4.排序 operate函数, 主函数调用 开5.查询个人信息始主程序 6.删除学生信息 7.插入及修改学生信息 开始 Operate函数调 用using各 System; 个小菜单 using System.Collections; using using System.Text; 1.添加学生信息。 namespace Student_score_management { public class Student //定义了一个学生类 Case1:编 { new ArrayList(3); //把学生的学号,姓名,英语、数学、C#成绩写ArrayList学生信 ID = 2.插入学生信息。 分别放在动态数组中。 ArrayList Name = new ArrayList(3); ArrayList English_Score = new ArrayList(3); ArrayList Math_Score = new ArrayList(3); ArrayList VisualCshap_Score = ArrayList(3); 3.new修改学生信息。 public void Menu() //主菜单 { Console.WriteLine(\主菜单:\); Case2:查 Console.WriteLine(\编写学生信息。\); 1.按学号查询 看学生Console信.WriteLine(\查看学生信息。\); Console.WriteLine(\删除学生信息。\); Console.WriteLine(\生成学生成绩单。\); Console.WriteLine(\安全退出。\); Console.WriteLine(\); 2.按姓名查询 Console.WriteLine(\请选择(以回车键结束)。\); } public void Menu1() //小菜单1 Case3:删 { 1.按学号删除 Console.WriteLine(\添加学生信息。\); 除学生信 Console.WriteLine(\插入学生信息。\); Console.WriteLine(\修改学生信息。\); Console.WriteLine(\); 2.按姓名删除 \); Console.WriteLine(\请选择(以回车键结束)。 } public void Menu2() //小菜单2 { Console.WriteLine(\按学号查询1.按录入顺序输出成绩\); 单 Case4:生 Console.WriteLine(\按姓名查询\); Console.WriteLine(\); 成学生成 Console.WriteLine(\请选择(以回车键结束)。\); } 2.按总成绩排序输出成绩单 public void Menu3() //小菜单3 { Console.WriteLine(\按学号删除\); Console.WriteLine(\按姓名删除\); 3.按英语成绩输出成绩单 Console.WriteLine(\); Case5:安 Console.WriteLine(\请选择(以回车键结束)。\); } 全public退出 Menu4() //小菜单4 void { 4.按数学成绩输出成绩单 Console.WriteLine(\按录入顺序输出成绩单\); Console.WriteLine(\按总成绩排序输出成绩单\); Console.WriteLine(\按英语成绩输出成绩单\); Console.WriteLine(\按数学成绩输出成绩单\); Console.WriteLine(\按C#成绩输出成绩单\5.按C#成绩输出成绩单 ); 页眉内容 7 源程序代码; goto :Return 返回主菜单 结束

Console.WriteLine(\); Console.WriteLine(\请选择(以回车键结束)。\); }

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(\成绩:\\t\);

VisualCshap_Score.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, Console.ReadLine()); Console.Write(\成绩:\\t\); VisualCshap_Score.Insert(i, Console.ReadLine()); } public void index_show(int i) //输出索引结果的函数 { double Sum; double Ave; Sum = (Convert.ToDouble(English_Score[i]) + Convert.ToDouble(Math_Score[i]) + Convert.ToDouble(VisualCshap_Score[i])); Ave = (Convert.ToDouble(Sum) / 3); Console.WriteLine(\学号:\\t姓名:\\t英语:\\t数学:\\tC#分:\\t总分:\\t平均分:\\t\); Console.WriteLine(\, ID[i], Name[i], English_Score[i], Math_Score[i], VisualCshap_Score[i], Sum, Ave); } public void move_show() //输出排序后信息的函数 { for (int i = 0; i < ID.Count; i++) { double Sum; double Ave; Sum = (Convert.ToDouble(English_Score[i]) + Convert.ToDouble(Math_Score[i]) + Convert.ToDouble(VisualCshap_Score[i])); Ave = (Convert.ToDouble(Sum) / 3); Console.WriteLine(\学号:\\t姓名:\\t英语:\\t数学:\\tC#分:\\t总分:\\t平均分:\\t\); Console.WriteLine(\, ID[i], Name[i], English_Score[i], Math_Score[i], VisualCshap_Score[i], Sum, Ave); } } public void index_remove(int i) //删除学生信息的函数 { ID.RemoveAt(i); Name.RemoveAt(i); English_Score.RemoveAt(i); Math_Score.RemoveAt(i);

VisualCshap_Score.RemoveAt(i); }

public void move(ArrayList temp) //排序的函数 {

for (int i = ID.Count - 1; i > 0; i--) //冒泡排序法 {

for (int j = 0; j < i; j++) {

if (Convert.ToDouble(temp[j]) < Convert.ToDouble(temp[j + 1])) {

object Temp; Temp = ID[j];

ID[j] = ID[j + 1]; ID[j + 1] = Temp; Temp = Name[j];

Name[j] = Name[j + 1]; Name[j + 1] = Temp;

Temp = English_Score[j]; 页眉内容

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4