C#学生成绩管理系统1演示教学.docx
《C#学生成绩管理系统1演示教学.docx》由会员分享,可在线阅读,更多相关《C#学生成绩管理系统1演示教学.docx(12页珍藏版)》请在冰豆网上搜索。
![C#学生成绩管理系统1演示教学.docx](https://file1.bdocx.com/fileroot1/2023-1/23/e62e88cb-34a8-4ada-a9e2-1ce674bfc960/e62e88cb-34a8-4ada-a9e2-1ce674bfc9601.gif)
C#学生成绩管理系统1演示教学
C#学生成绩管理系统
沈阳师范大学
职业技术学院
计应091
ACRM
一、设计题目:
学生成绩管理系统
二、设计目的:
使用C#语言,循环结构、数组结构、结构体的设计和应用;熟练方法的调用、选择结构的具体应用、排序检索功能的设计。
三、实现功能:
1.学生成绩的输入,查询,删除等功能;
2.计算总成绩,平均成绩,并按总成绩排名;
3.姓名,学号,科目的检索;
4.正确退出程序。
四、程序中主要方法、结构体及类:
定义学生信息结构体stu
包含信息name(姓名)、no(学号)、Yw(语文),math(数学)、English(英语)、Phy(物理)、Chem(化学)、average(平均成绩)、total(总成绩)
定义管理学生信息操作的类stumg
包含方法Add()(添加)、Delete()(删除)、xhcz()(按学号查询)、mzcz()(按姓名查询)、chgji()(成绩单)、caozuo()(选项)。
四、流程图
六、使用及调试说明:
运行结果
运行程序出现控制台界面后,按照界面显示的功能选项,根据需求进行选择,每次选择后按Enter键:
1、选择1进入添加信息界面,按提示输入各项信息;
选3进入学号查询
选2删除信息
六、程序源代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespacexscjgl
{
classProgram
{
publicstructstu//定义学生信息结构体stu
{
publicstringname;//名字
publicintno;//学号
publicdoubleYw,math,English,Phy,Chem;//各科成绩
publicdoubleaverage,total;//平均成绩,总成绩
publicvoidShowstuifm()//显示学生信息é
{
Console.WriteLine("\n学生信息:
");
Console.Write("姓名:
"+name);
Console.Write("\t学号:
"+no);
Console.Write("\t语文:
"+Yw);
Console.Write("\t数学:
"+math);
Console.Write("\t英语:
"+English);
Console.Write("\t物理:
"+Phy);
Console.Write("\t化学:
"+Chem);
Console.Write("\t平均成绩:
"+average);
Console.Write("\t总成绩:
"+total);
Console.WriteLine();
}
classStumg//学生管理类
{
intx=0;
stu[]student=newstu[10];
publicvoidAdd()//用Add()方法添加学生信息
{
Console.WriteLine("请输入要添加的学生信息:
");
Console.WriteLine("\n请输入学号:
");
stud[x].no=int.Parse(Console.ReadLine());
Console.WriteLine("\n请输入名字:
");
stud[x].name=Console.ReadLine();
Console.WriteLine("\n语文成绩:
");
stud[x].Yw=double.Parse(Console.ReadLine());
Console.WriteLine("\n数学成绩:
");
stud[x].math=double.Parse(Console.ReadLine());
Console.WriteLine("\n英语成绩:
");
stud[x].English=double.Parse(Console.ReadLine());
Console.WriteLine("\n物理成绩:
");
stud[x].Phy=double.Parse(Console.ReadLine());
Console.WriteLine("\n化学成绩:
");
stud[x].Chem=double.Parse(Console.ReadLine());
double[]infom=newdouble[]{stud[x].Yw,stud[x].math,stud[x].English,stud[x].Phy,stud[x].Chem};
for(inti=0;i{
stud[x].total+=infom[i];
stud[x].average=stud[x].total/5;
}
stud[x].Showstuifm();
x=x+1;
}
publicvoidDelete()//删除信息
{
intn=-1;
intno=int.Parse(Console.ReadLine());//用循环对获取的no进行判断
for(inti=0;i{
if(no==stud[i].no)
{
n=i;
for(intc=n+1;c{
stud[c-1]=stud[c];//交换数组索引值,对指定数组进行删除
}
x=x-1;
break;
}
}
Console.WriteLine("学号为a{0}的学生已删除",no);
if(n==-1)
{
Console.WriteLine("输入信息有误,请重新输入");
}
}
publicvoidSearchno()//按学号查询
{
intn=-1;
intno=int.Parse(Console.ReadLine());//用循环对获取的no进行判断
for(inti=0;i{//判断no
if(no==stud[i].no)
{
n=i;//判断后输出
stud[i].Showstuifm();
break;
}
}
if(n==-1)
{
Console.WriteLine("输入信息有误,请重新输入");
}
}
publicvoidSearchname()//按姓名查询
{
intn=-1;
stringname=Console.ReadLine();//用®?
循-环¡¤对?
获?
取¨?
的Ì?
字Á?
符¤?
串ä?
进?
行D判D断?
for(inti=0;i{
if(name==stud[i].name)//对?
输º?
入¨?
的Ì?
字Á?
符¤?
串ä?
判D断?
{
n=i;//判D断?
后¨®输º?
出?
显?
示º?
stud[i].Showstuifm();
break;
}
}
if(n==-1)
{
Console.WriteLine("输入信息有误,请重新输入");
}
}
publicvoidscore()//按成绩查询
{
//对成绩排序
for(inti=x-1;i>=0;i--)
for(intj=0;j<=i;j++)
{
if(stud[j].total{
//冒泡排序
stud[x]=stud[j];
stud[j]=stud[j+1];
stud[j+1]=stud[x];
break;
}
}
int[]a=newint[x];
//排序后输出
for(inti=0;i{
a[i]=i+1;
Console.Write(a[i]+"\t");
Console.Write(stud[i].no+"\t");
Console.Write(stud[i].name+"\t");
Console.Write(stud[i].Yw+"\t");
Console.Write(stud[i].math+"\t");
Console.Write(stud[i].English+"\t");
Console.Write(stud[i].Phy+"\t");
Console.Write(stud[i].Chem+"\t");
Console.Write(stud[i].average+"\t");
Console.Write(stud[i].total+"\t");
Console.WriteLine();
}
}
publicvoidSystem()//操作模块
{
do
{
Console.WriteLine("请选择:
\n1、添加生信息\n2、删除学生信息\n3、按学号查询\n4、按姓名查询\n5、按成绩单查询\n6、退出");
Console.WriteLine("---------------------------------------------------------------");
intnumber=int.Parse(Console.ReadLine());
if(number>6||number<1)//对输入的number判断
{
Console.WriteLine("输入有误请重新输入\n-------------------------------------------------------------------------------------");
}
switch(number)
{
case1:
Add();//调用Add()添加信息
break;
case2:
Console.WriteLine("请输入要删除学生的学号");
Delete();//调用Delete()删除信息
break;
case3:
Console.WriteLine("请输入学号:
");
xhcz();//调用xhcz()查询
break;
case4:
Console.WriteLine("请输入姓名:
");
mzcz();//调用mzcz()查询
break;
case5:
Console.WriteLine("成绩单:
");
Console.WriteLine("名次\t学号\t姓名\t语文\t数学\t英语\t物理\t化学\t平均´\t总成绩\t-------------------------------------------------------------------------");
chgji();//调用chgji()排序
break;
case6:
Environment.Exit(0);//退出程序break;
}
Console.WriteLine("\n是否继续\n");
}
while(true);//
}
}
classTest
{
在调查中我们注意到大多数同学都比较注重工艺品的价格,点面氛围及服务。
publicstaticvoidMain(string[]args)
{
//在主函数中对caozuo方法进行调用
此次调查以女生为主,男生只占很少比例,调查发现58%的学生月生活费基本在400元左右,其具体分布如(图1-1)Stumgmyuser=newStumg();
“碧芝”的成功归于他的唯一,这独一无二的物品就吸引了各种女性的眼光。
myuser.caozuo();
在上海,随着轨道交通的发展,地铁商铺应运而生,并且在重要的商业圈已经形成一定的气候,投资经营地铁商铺逐渐成为一大热门。
在人民广场地下“的美”购物中心,有一家DIY自制饰品店---“碧芝自制饰品店”。
(四)大学生对手工艺制品消费的要求
随科技的迅速发展,人们的生活日益趋向便捷、快速,方便,对于我国传统的手工艺制作,也很少有人问津,因此,我组想借此创业机会,在校园内开个DIY创意小屋。
它包括编织、刺绣、串珠等,让我们传统的手工制作也能走进大学,丰富我们的生活。
}
是□否□}
}
在大学生对DIY手工艺品价位调查中,发现有46%的女生认为在十元以下的价位是可以接受;48%的认为在10-15元;6%的则认为50-100元能接受。
如图1-2所示
、DIY手工艺市场现状分析}
}
(2)物品的独一无二八、设计总结
两周时间做一个比较大的控制台程序,感觉能有难度,毕竟刚接触C#还有点儿不找门路,有点儿无从下手的感觉;后来净过慢慢讨论研究总结,做出设计来。
编程过程中需要极大的细心和耐心,又是因为一个半括号的问题找半天才能解决。
编程需要感谢敢做才能完成。