收藏 分销(赏)

C编程学生成绩管理系统.doc

上传人:快乐****生活 文档编号:3107826 上传时间:2024-06-18 格式:DOC 页数:11 大小:336.50KB
下载 相关 举报
C编程学生成绩管理系统.doc_第1页
第1页 / 共11页
C编程学生成绩管理系统.doc_第2页
第2页 / 共11页
C编程学生成绩管理系统.doc_第3页
第3页 / 共11页
C编程学生成绩管理系统.doc_第4页
第4页 / 共11页
C编程学生成绩管理系统.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、C#语言编程实训报告系部:*班级:*学号:*姓名:*指导教师:*评语:一、 设计题目:学生成绩管理系统二、 设计目的:通过编写学生成绩管理系统:掌握循环结构、数组结构、结构体的设计和应用;熟练方法的调用、选择结构的具体应用、排序检索功能的设计;最终提高面向对象编程、分析与解决实际问题的能力。三、 项目实现的功能:(1)实现学生信息的输入、输出、查询和删除;(2)计算学生的总成绩和平均成绩;(3)按总成绩排序并显示;(4)检索功能,按姓名、学号进行检索;(5)能够正常退出程序。四、 设计原理:根据学生成绩管理系统使用要求,程序要实现添加、删除、查询、正确退出功能,而这就用到了数组结构、循环结构、

2、结构类型、检索方法和退出程序的方法。因为功能要选择性实现,用到了选择结构的Switch语句,首先计算Switch后表达式的值,然后判断是否等于case常量表达式的值,以决定程序功能的执行。Student结构体的应用方便了学生不同信息的输入;在整个程序中用循环结构和数组结构实现信息的输入、输出、计算和检索;数组实现储存,但是删除信息时要注意数组长度和元素的改变;整个程序中结构、信息的删除和方法的调用是重点。选择数字3选择数字4选择数字5选择数字6While(ture);选择数字2调用searchno()查询信息;break;调用searchname()查询信息;break;调用score()查询

3、成绩信息;break;Environment.Exit(0)退出;break;调用Delete()删除信息;break;调用Add()添加信息;break;选择数字1从Main()方法中调用Check()方法开始程序的运行执行do循环体中的语句,进行选择数字的输入通过Switch语句计算输入的选择数字五、 程序流程图: 开始 是 否 是 否 是 否 是 否 是 否 是 真 结束六、 使用及调试说明:运行程序出现控制台界面后,按照界面显示的功能选项,根据需求进行选择,每次选择后按Enter键:1、选择1进入添加信息界面,按提示输入各项信息;2、选择2进入删除信息界面,按提示输入要删除的学生信息;

4、3、选择3进入查询界面,按学号进行查询;4、选择4进入查询界面,按姓名进行查询;5、选择5显示排序后的成绩单;6、选择6退出程序;七、 源程序代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 学生信息管理 public struct Student /定义名为student的结构 public int no; /学号 public double chnese, math;/各科成绩public double english, csharp;public d

5、ouble ave, all; /平均成绩、总成绩 public string name; /学生姓名 public void ShowStuInfo() /该方法用于显示学生信息 /输出学生信息 Console.WriteLine(n学生信息:); Console.Write(学号:0,no,);Console.Write(t姓名:0,name);Console.Write(t语文:0,chnese);Console.Write(t数学:3,math);Console.Write(t英语:4,english);Console.Write(tC#:5,csharp);Console.Write

6、(t平均:6,ave);Console.Write(t总成绩:7,all);Console.WriteLine(); class Smanage /学生管理类 int x = 0;/声明数组stud Student stud = new Student10; public void Add() /用Add()方法添加学生信息 /学生信息的输入并以student的结构中定义的数组储存 Console.WriteLine(请输入要添加的学生信息:); Console.WriteLine(n请输入学号:); studx.no =int.Parse(Console.ReadLine(); Consol

7、e.WriteLine(n请输入姓名:); studx.name = Console.ReadLine(); Console.WriteLine(n语文成绩:); studx.chnese=double.Parse(Console.ReadLine(); Console.WriteLine(n数学成绩:); studx.math=double.Parse(Console.ReadLine( ); Console.WriteLine(n英语成绩:); studx.english=double.Parse(Console.ReadLine(); Console.WriteLine(n C #成绩:

8、);studx.csharp=double.Parse(Console.ReadLine();/定义数组对输入成绩储存 doubleinfom=new doublestudx.chnese, studx.math,studx.english, studx.csharp ; /以循环计算总成绩、平均成绩 for (int i = 0; i infom.Length; i+) studx.all += infomi; studx.ave = studx.all / 4; studx.ShowStuInfo();/显示计算后学生信息 x= x+1; public void Delete() /删除信

9、息 int n = -1; int no = int.Parse(Console.ReadLine();/用循环对获取的no进行判断 for (int i = 0; i x; i+) if (no = studi.no) n = i; for (int c = n + 1; c x; c+) /交换数组索引值对指定元素进行删除 studc - 1 = studc; x=x- 1; break; Console.WriteLine(学号为0的学生已删除!, no); if (n = -1) Console.WriteLine(输入信息有误,请重新输入!); public void Searchn

10、o() /信息查询(按学号) int n = -1; int no = int.Parse(Console.ReadLine();/用循环对获取的no进行判断 for (int i = 0; i x; i+) /对输入的no判断 if (no = studi.no) n = i; /判断后输出显示 studi.ShowStuInfo(); break; if (n = -1) Console.WriteLine(输入信息有误,请重新输入!); public void Searchname() /信息查询(按姓名) int n = -1; string name = Console.ReadLi

11、ne();/用循环对获取的字符串进行判断 for (int i = 0; i = 0; i-) for (int j = 0; j = i; j+) if (studj.all studj + 1.all) /用冒泡排序法对学生成绩排序 studx = studj; studj = studj + 1; studj + 1 = studx; break; int mc = new intx; /用循环输出排序后成绩 for (int i = 0; i 6 | number 1) /对输入的number判断 Console.WriteLine(输入有误请重新输入); switch (number

12、) case 1: Add(); /调用Add()方法添加学生信息 break; case 2: Console.WriteLine(请输入要删除学生的学号:); Delete(); /调用Delete()方法删除学生信息 break; case 3: Console.WriteLine(请输入学号:); Searchno(); /调用该方法按学号查询学生信息 break; case 4: Console.WriteLine(请输入姓名:); Searchname(); /调用该方法按姓名查询学生信息 break; case 5: Console.WriteLine(成绩单:); Consol

13、e.WriteLine(名次t学号t姓名t语文t数学t英语t C #t平均t总成绩); score(); /调用该方法显示排序后的成绩单break; case 6: Environment.Exit(0); /调用该方法退出程序break; Console.WriteLine(n是否继续!); while (true); / class Test public static void Main(string args) /在主程序中对Check()方法调用 Smanage myuser = new Smanage(); myuser.Check(); 八、 设计总结:这是进入大学的第一次编程实

14、训,两周的时间编出一个学生成绩管理的控制台应用程序,因为以前上机练习的时间很少,再加上对学习到的知识点没有系统的认识,所以刚开始编写起来比较困难,感觉每一天都是很茫然的过,不过这只是开始,谁都会有这种心理。编程靠的就是毅力,不能因为困难就放弃。接下来的时间里,通过同学之间的讨论对这次编程所需要的程序结构逐渐明白了,结构虽然有了,但是细节更重要,在编程是因为一个字母的不同都会影响到整个程序的运行,因此每一次编写程序都要有细心和耐心。编出的程序一定要有自己的想法,这样才能达到锻炼自己的目的,并且能让自己在熟练掌握所学的知识的同时收获成功的喜悦。这一次两周的编程实训过程中,让我收获了不少:编程过程中

15、最为重要的是我对细心谨慎也理解深,每次调试程序出现错误时会感到很苦恼,可能是一个符号一个字母或者,程序就会出错,而这样的错误又很小还不容易找到,这时我们就要有耐心和细心的去找,因为程序都是我们辛苦编出来的,不能轻易的就放弃。在这为期两周的实训中掌握并理解了方法的调用和循环结构的实际应用,这次对Switch选择结构的应用有了很好的把握,对循环结构套用也有很深刻地理解;在Student结构中用数组进行学生信息的储存比起简单的使用数组方便多了,和同学讨论过程中有人提到用到动态数组,集合来储存,这是不错的想法,编程需要的就是这种活力。这次编程实训可以看做是我们学习过程中的一次小的总结,它让我们对编程有了一个系统的认识,但仅仅停留在认识的层面是远远不够的,编程需要的是敢想,勤奋和坚持的毅力,这样我们在学习C#的过程中才会有更高层次的发展,让我们朝着这个方向一起努力。九、 参考文献:C#程序设计教程(第二版)C#行家设计手册Head First C#

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服