C#控制台学生成绩管理系统实训报告(含源代码)_第1页
C#控制台学生成绩管理系统实训报告(含源代码)_第2页
C#控制台学生成绩管理系统实训报告(含源代码)_第3页
C#控制台学生成绩管理系统实训报告(含源代码)_第4页
C#控制台学生成绩管理系统实训报告(含源代码)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c#语言编程实训报告系部:电子信息系班级:计算机1201姓名:陈紫房学号:0602120134指导教师:邱文严项目报告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;using system.collections.generic;using system.text;namespa

5、ce 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 v

6、oid 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.添加学生信息。);

7、 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.按

8、学号删除); 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(

9、_); 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(v

10、isual 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(数学成绩

11、: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_scorei) + convert.todouble(math_scorei) + convert.todouble(visualcshap_scorei);

12、 ave = (convert.todouble(sum) / 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 (conve

13、rt.todouble(tempj) 0; i-) for (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

14、 = namej + 1; namej + 1 = temp; 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; pub

15、lic 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

16、(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.read

17、line(); 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(请选择(以

18、回车键结束)。); 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); conso

19、le.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: /实现修改学生

20、信息的代码 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

21、; 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(

22、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; goto retur

23、n; case 3: /3.删除学生信息。 console.clear(); console.writeline(3.删除学生信息。); student.menu3(); 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(查

24、无此人!无法删除!); else student.index_remove(j); console.writeline(按回车键返回主菜单); console.readline(); break; case 2: /实现按姓名删除的代码 console.clear(); console.writeline(请输入学生姓名(以回车键结束)。); j = student.index(student.name); /没有找到时返回值是-1 if (j = -1) console.writeline(查无此人!无法删除!); else student.index_remove(j); console.

25、writeline(按回车键返回主菜单); console.readline(); break; goto return; case 4: /4.查看学生成绩单,学生成绩排序。 console.clear(); student.menu4(); number = convert.tobyte(console.readline(); switch (number) case 1: /实现按录入顺序输出成绩单的代码 console.clear(); student.move_show(); console.writeline(按回车健返回主菜单); console.readline(); brea

26、k; case 2: /实现按总成绩排序输出成绩单的代码 console.clear(); student.move_sum(student.english_score, student.math_score, student.visualcshap_score); student.move_show(); console.writeline(按回车键返回主菜单); console.readline(); break; case 3: /实现按英语成绩输出成绩单的代码 console.clear(); student.move(student.english_score); student.move_show(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论