版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026北京大学人事部招聘1名劳动合同制人员备考题库及答案详解(典优)
- 2026中国安能一局辽宁公司校园招聘30人备考题库附答案详解(研优卷)
- 2026贵州黔东南州施秉仁康医院招聘备考题库含答案详解(培优a卷)
- 2026广西南宁市第六职业技术学校招聘1人备考题库含答案详解(完整版)
- 2026重庆外商服务有限公司招聘30人备考题库及完整答案详解一套
- 2026浙江温州市洞头人才发展有限公司招聘3人备考题库(食堂人员)含答案详解(培优b卷)
- 2026广发银行北京分行春季校园招聘备考题库含答案详解(综合题)
- 2026江西吉安高新区创业投资集团有限公司第一批社会招聘1人备考题库附答案详解(典型题)
- 2026江苏徐州市中医院招聘非在编人员106人备考题库及答案详解(必刷)
- 2026中煤鄂尔多斯能源化工有限公司面向中国中煤内部及社会招聘7人备考题库含答案详解(基础题)
- 内蒙古银都矿业有限责任公司2022年二季度无组织废气监测报告
- 全国内地西藏班2025届九年级下学期中考二模英语试卷(含答案)
- 湖北省竞技体育:现状剖析与发展路径探索
- 3.3 街心广场 课件 北师大版数学四年级下册
- 数据采集与处理 课件 任务3 认知数据采集的方法
- 【高考真题】2024年高考语文全国卷文言文阅读真题汇编及官方答案
- 创新创业大赛项目商业计划书
- 学生西餐课程设计
- 内镜下食管狭窄扩张术的护理配合-张欢
- 2024年公安机关理论考试题库500道附参考答案(考试直接用)
- (高清版)JTGT M72-01-2017 公路隧道养护工程预算定额
评论
0/150
提交评论