C控制台学生成绩管理系统实训报告含源代码.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制台 学生 成绩管理系统 报告 源代码
- 资源描述:
-
C# 语言编程实训报告 系部:电子信息系 班级:计算机1201 姓名:陈紫房 学号:0602120134 指导教师:邱文严 项目报告 1 设计题目:学生成绩管理系统。 2 设计目的: 1. 巩固C#语言编程知识,提高面向对象编程能力,提高分析与解决实际问题的能力。 2. 掌握循环、子程序等结构的程序设计方法。 3. 掌握数组、结构体等数据结构的设计方法。 4. 掌握排序检索等程序设计技术。 3 项目实现的功能: 1. 学生类的实现; 2. 输入10个学生的学号、姓名、各门课程的成绩; 3. 计算学生的总成绩和平均成绩; 4. 按总成绩排序并显示; 5. 检索功能,可以按姓名、学号进行检索。 6. 能够插入、修改和删除学生信息 7. 能够正常退出程序。 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 程序流程图; Case1:编写学生信息 Case5:安全退出 Case2:查看学生信息 Case3:删除学生信息 主函数调用operate函数, 开始主程序 Operate函数调 用各个小菜单 开始 Case4:生成学生成绩单 1.添加学生信息。 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; using System.Collections.Generic; using System.Text; namespace Student_score_management { 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.WriteLine("主菜单:"); 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.插入学生信息。"); 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.按姓名删除"); 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("请选择(以回车键结束)。"); } 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_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("visual C#成绩:\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("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6:#.00}\t", 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("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6:#.00}\t", 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]; English_Score[j] = English_Score[j + 1]; English_Score[j + 1] = Temp; Temp = Math_Score[j]; Math_Score[j] = Math_Score[j + 1]; Math_Score[j + 1] = Temp; Temp = VisualCshap_Score[j]; VisualCshap_Score[j] = VisualCshap_Score[j + 1]; VisualCshap_Score[j + 1] = Temp; } } } } public void move_Sum(ArrayList temp1, ArrayList temp2, ArrayList temp3) //按总成绩排序的函数 { for (int i = ID.Count - 1; i > 0; i--) { for (int j = 0; j < i; j++) { if (Convert.ToDouble(temp1[j]) + Convert.ToDouble(temp2[j]) + Convert.ToDouble(temp3[j]) < Convert.ToDouble(temp1[j + 1]) + Convert.ToDouble(temp2[j + 1]) + Convert.ToDouble(temp3[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]; English_Score[j] = English_Score[j + 1]; English_Score[j + 1] = Temp; Temp = Math_Score[j]; Math_Score[j] = Math_Score[j + 1]; Math_Score[j + 1] = Temp; Temp = VisualCshap_Score[j]; VisualCshap_Score[j] = VisualCshap_Score[j + 1]; VisualCshap_Score[j + 1] = Temp; } } } } public int index(ArrayList temp) //检索方法,返回索引值 { 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: //实现编写学生信息的代码 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') { Console.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.ToByte(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("按回车键返回主菜单"); Console.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(); Console.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.查看学生信息。 Console.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("按回车键返回主菜单"); 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; }展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




C控制台学生成绩管理系统实训报告含源代码.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3012167.html