版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C#语言编程实训汇报
系部:*********
班级:*********
学号:****
姓名:*****
指导老师:****
评语:
一、设计题目:学生成绩管理系统
二、设计目标:
经过编写学生成绩管理系统:掌握循环结构、数组结构、结构体
设计和应用;熟练方法调用、选择结构具体应用、排序检索功效设计;
最终提升面向对象编程、分析和处理实际问题能力。
三、项目实现功效:
(1)实现学生信息输入、输出、查询和删除;
(2)计算学生总成绩和平均成绩;
(3)按总成绩排序并显示;
(4)检索功效,按姓名、学号进行检索;
(5)能够正常退出程序。
四、设计原理:
依据学生成绩管理系统使用要求,程序要实现添加、删除、查询、
正确退出功效,而这就用到了数组结构、循环结构、结构类型、检索
方法和退出程序方法。
因为功效要选择性实现,用到了选择结构Switch语句,首先计
算Switch后表示式值,然后判定是否等于case常量表示式值,以决
定程序功效实施。
Student结构体应用方便了学生不一样信息输入;在整个程序中
用循环结构和数组结构实现信息输入、输出、计算和检索;数组实现
储存,不过删除信息时要注意数组长度和元素改变;整个程序中结构、
信息删除和方法调用是关键。
五、
While(ture);
是
否
是
否
是
真
结束
六、使用及调试说明:
运行程序出现控制台界面后,根据界面显示功效选项,依据需求
进行选择,每次选择后按Enter键:
随file:〃/G:/C唱序制台应用程序设计/计算机1001.23.学生信息管理3厚生三息管理/bin/D...
1、选择1进入添加信息界面,按提醒输入各项信息;
CKfiIe:〃/G:/C晦序/c在制台应用W序设计/H■箕机1001.23.学生信息管理3母生皆旦爸键/bin/D...
珀呼悻3、、一
1、添加学生信息
2、删除学生信息
3、查询(我学号)
4、查询d安姓咯)
|5>查询(成绩单)
卜、退出
产输入要添加的学生信息:
M榆入学号:
1
请输入姓名:
1
2、选择2进入删除信息界面,按提醒输入要删除学生信息;
・川e:〃/G:/C耀序/c*』制台应用程序设计/计尊机1001.23.学生信息管理3/学生喜息管理/bin/D…〔W1回
3、选择3进入查询界面,按学号进行查询;
运file:〃/G:/C唱序片*」$制台应用程序设计/计管机1001.23.学生信息管理3庠生喘息管理/bin/D…〔三!旦ifeSatel
添
生
^息
息
瞿?
生
(号
查
塞
询
(姓
查
成
询
(绩
退
出
3
4、选择4进入查询界面,按姓名进行查询;
随file:〃/G:/C唱序/c*_控制台应用程序设计用管机1001.23.学生信息管理3/学生喘息管理/bin/D…〔三I亶lUHlSl
添
生
息
1.加XW
S
息
2瞿%
ST-生f
3号
香
于
塞
询
4姓
查
成
询
5绩
退
6出
4
5、选择5显示排序后成绩单;
・file:〃/G:/C穗序/5_期台应睡序设计;计管机1001.23.学生信息管理3得生墙息管理/bin/D...
生
请选择t息
L添加
息
2、生
号
询塞
3、姓H)
成I
、°绩M)
、agl)
、ILSLEJ
语文数学英语cn立均总成绩
3333312
222228
11
6、选择6退出程序;
七、源程序代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace学生信息管理
(
publicstructStudent〃定义名为student结构
{
publicintno;〃学号
publicdoublechnese,math;〃各科成绩
publicdoubleenglish,csharp;
publicdoubleave,all;〃平均成绩、总成绩
publicstringname;〃学生姓名
publicvoidShowStuInfo0〃该方法用于显示学生信息
(
〃输出学生信息
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("\t平均:{6}”,ave);
Console.Write("\t总成绩:{7}”,all);
Console.WriteLine();
)
}
classSmanage//学生管理类
(
intx=0;
〃申明数组stud
Student[]stud=newStudent[10];
publicvoidAdd()〃用Add()方法添加学生信息
(
〃学生信息输入并以student结构中定义数组储存
Console.WriteLine(“请输入要添加学生信息:");
Console.WriteLine("\n请输入学号:”);
stud[x].no=int.Parse(Console.ReadLine());
Console.WriteLine("\n请输入姓名:");
studfx].name=Console.ReadLine0;
Console.WriteLine("\n语文成绩:”);
stud[x].chnese=double.Parse(Console.ReadLine());
Console.WriteLine("\n数学成绩:”);
stud[x].math=double.Parse(Console.ReadLine());
Console.WriteLine("\n英语成绩:”);
stud[x].english=double.Parse(Console.ReadLine0);
Console.WriteLine(*\nC#成绩:”);
stud[x].csharp=double.Parse(Console.ReadLine());
〃定义数组对输入成绩储存
double[]infom=newdoublet]{stud[x].chnese,
stud[x].math,stud[x].english,stud[x].csharp);
〃以循环计算总成绩、平均成绩
for(inti=0;i<infom.Length;i++)
(
stud[x].all+=infom[i];
stud[i].ave=stud[x].all/4;
)
stud[x].ShowStuInfo()"/显示计算后学生信息
x=x+1;
)
publicvoidDelete0〃删除信息
(
intn=-1;
intno=int.Parse(Console.ReadLine());
〃用循环对获取no进行判定
for(inti=0;i<x;i++)
if(no=studfi].no)
n=i;
for(intc=n+1;c<x;c++)
(
〃交换数组索引值对指定元素进行删除
stud[c-1]=stud[c];
)
X=X-1;
break;
)
)
ConsoleZriteLine("学号为{0}学生已删除!〃,no);
if(n=-1)
(
Console.WriteLine("输入信息有误,请重新输入!");
)
}
publicvoidSearchno()〃信息查询(按学号)
{
intn=-1;
intno=int.Parse(Console.ReadLineO);
〃用循环对获取no进行判定
for(inti=0;i<x;i++)
(
//对输入no判定
if(no=stud[i].no)
n=i;
〃判定后输出显示
stud[i].ShowStuInfo();
break;
)
)
if(n--1)
{
Console.WriteLine("输入信息有误,请重新输入!”);
)
)
publicvoidSearchname()〃信息查询(按姓名)
(
intn=-1;
stringname=Console.ReadLineO;
〃用循环对获取字符串进行判定
for(inti=0;i<x;i++)
(
//对输入字符串判定
if(name=stud[i].name)
{
n=i;
〃判定后输出显示
stud[i],ShowStuInfo();
break;
)
)
if(n=-1)
Console.WriteLine("输入信息有误,请重新输入!”);
)
)
publicvoidscore0〃信息查询(成绩单)
(
〃用循环对成绩进行排序
for(inti=x-l;i>=0;i)
for(intj=0;j<=i;j++)
(
if(stud[j].all<stud[j+1].all)
(
〃用冒泡排序法对学生成绩排序
studfx]=stud[j];
stud[j]=stud[j+1];
stud[j+1]=stud[x];
break;
)
)
int[]nc=newint[x];
〃用循环输出排序后成绩
for(inti=0;i<x;i++)
(
mc[i]=i+1;
Console.Write(me[i]+"\t");
Console.Write(stud[i].no+^Xt*);
Console.Write(stud[i].name+"\t");
Console.Write(stud[i].chnese+*Xt*);
Console.Write(stud[i].math+*\t*);
Console.Write(stud[i].english+*\t*);
Console.Write(stud[i].csharp+*\t*);
Console.Write(stud[i].ave+*\t*);
Console.Write(stud[i].all+"\J);
Console.WriteLineO;
)
)
publicvoidCheck()〃操作模块
(
do
(
Console.WriteLine("请选择:\nK添加学生信息\n2、删除
学生信息\n3、查询(按学号)\n4、查询(按姓名)\n5、查
询(成绩单)"6、退出");
〃输入number
intnumber=int.Parse(Console.ReadLine());
if(number>6||number<1)〃对输入number判定
(
Console.WriteLine("输入有误请重新输入“);
)
switch[number)
(
case1:
Add();〃调用Add()方法添加学生信息
break;
case2:
Console.WriteLine("请输入要删除学生学号:”);
Delete();〃调用Delete()方法删除学生信息
break;
case3:
Console.WriteLine("请输入学号:”);
SearchnoO;〃调用该方法按学号查询学生信息
break;
case4:
Console.WriteLine("请输入姓名:");
Searchname();〃调用该方法按姓名查询学生信息
break;
case5:
Console.WriteLine("成绩单:”);
Console.WriteLine("名次\t学号\t姓名\t语文\t数
学\t英语\tC扒t平均\t总成绩〃);
score();〃调用该方法显示排序后成绩单
break;
case6:
Environment.Exit(0);//调用该方法退出程序
break;
)
Console.WriteLine("\n是否继续!”);
}while(true);//
)
)
classTest
publicstaticvoid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乡村振兴中“空心村”治理人才引进策略研究课题申报书
- 药品保存要点
- 护理人员压力管理与情绪调节:保持工作热情的秘诀
- 客户信用档案管理操作规程
- 《不动产测绘》课件-项目2 2.0不动产调查概述
- 高钾血症的紧急处理
- 安徽省安庆市宿松县复镇初级中学等校2025-2026学年八年级下学期开学英语学情自测(含答案含听力原文无音频)
- 物流行业货物跟进管理预案
- 年度安全运营责任承诺函范文5篇
- 颅内压增高患者的呼吸道管理
- DL-T5496-2015220kV-500kV户内变电站设计规程
- 【考生回忆版】《中医妇科学》高级职称考试(副高正高)历年真题
- (高清版)DZT 0216-2020 煤层气储量估算规范
- 中国戏剧的发展
- F0048 民用爆炸物品品名表
- 《春季健康饮食》课件
- 导检服务流程
- 四年级下册劳动《制作温暖鸟巢》
- GB/T 16886.23-2023医疗器械生物学评价第23部分:刺激试验
- 23J916-1:住宅排气道(一)
- 冀教版(冀人版)科学六年级下册全册教案
评论
0/150
提交评论