版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
namespaceAlex_11_30_Practice{publicstructStudent//定义结构体★★关键{//将以下字段保留在结构体中publicintnumber;publicstringName;publicfloatnum1;publicfloatnum2;publicfloatnum3;}classProgram{publicstaticintcount=0;//定义下标计数器staticvoidMain(string[]args){//首先打印出程序界面打印Student[]stu=newStudent[50];//实例化一个结构体50数组boolb=true;do{Console.WriteLine("========================================================");Console.WriteLine("☆☆★学生成绩管理系统★☆☆");Console.WriteLine("========================================================");Console.WriteLine("\t0.退出系统\t1录入信息\t2浏览信息");Console.WriteLine("\t3.信息排序\t4插入信息\t5删除信息");Console.WriteLine("\t6.查找信息\t7修改信息\t8清屏");Console.WriteLine("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");Console.WriteLine("请选择功效:");stringstr1=Console.ReadLine();switch(str1)//用switch语句来实现功效选择{case"0":Console.WriteLine("确定退出系统(Y/N)Alex编写");four:stringstr2=Console.ReadLine();if(str2=="Y"||str2=="y"){b=false;}elseif(str2=="N"||str2=="n"){break;}else{Console.Write("请正确输入:");gotofour;}break;case"1":Insert(stu);break;case"2":B(stu);break;case"3":S(stu);break;case"4":I(stu);break;case"5":Del(stu);break;case"6":L(stu);break;case"7":R(stu);break;case"8":Console.Clear();break;default:Console.WriteLine("警告:请输入正确选项!");break;}}while(b);}publicstaticvoidInsert(Student[]st)//方法-录入信息{charch='y';while(ch=='y'||ch=='Y'){one:Console.Write("请输入学号:");//用循环语句会很繁琐,使用goto语句迎刃而解st[count].number=Int32.Parse(Console.ReadLine());for(inti=0;i<count+1;i++)//判定学号是否相同goto语句应用{if(st[i].number==st[count].number&&(i!=count)){Console.WriteLine("输入学号已存在!输入信息无效!");st[count].number=st[count-1].number;gotoone;}}ooo:Console.Write("请输入姓名:");//判定姓名不为空st[count].Name=Console.ReadLine();if(st[count].Name==""){Console.WriteLine("警告:输入姓名为空!输入信息无效!");gotoooo;}Console.Write("请输入第一门成绩:");st[count].num1=float.Parse(Console.ReadLine());Console.Write("请输入第二门成绩:");st[count].num2=float.Parse(Console.ReadLine());Console.Write("请输入第三门成绩:");st[count].num3=float.Parse(Console.ReadLine());count++;two:Console.WriteLine("是否继续Y/N");//goto语句跳转至此stringstr2=Console.ReadLine();if(str2=="Y"||str2=="y"){ch=char.Parse(str2);}elseif(str2=="N"||str2=="n"){break;}else{Console.WriteLine("请输入正确选择符号!");gototwo;//goto语句使用}}}publicstaticvoidR(Student[]st)//方法-修改信息{if(count==0){Console.WriteLine("警告:请先输入学生成绩信息!");}else{Console.Write("请输入您需要修改学生信息学号:");intnum4=Int32.Parse(Console.ReadLine());for(inti=0;i<count;i++){if(num4==st[i].number){Console.WriteLine("请输入您要修改信息:");Console.WriteLine("\t0.退出选项\t1.修改姓名\t2.修改第一门课成绩");Console.WriteLine("\t3.修改第二门课成绩\t\t4.修改第三门课成绩");intnum5=Int32.Parse(Console.ReadLine());switch(num5){case0:break;case1:Console.Write("姓名:");stringname2=Console.ReadLine();st[i].Name=name2;B(st);break;case2:Console.Write("第一门课成绩:");floatnum6=float.Parse(Console.ReadLine());st[i].num1=num6;B(st);break;case3:Console.Write("第二门课成绩:");floatnum7=float.Parse(Console.ReadLine());st[i].num2=num7;B(st);break;case4:Console.Write("第三门课成绩:");floatnum8=float.Parse(Console.ReadLine());st[i].num3=num8;B(st);break;}}}}}publicstaticvoidL(Student[]st)//方法-查找信息有{Console.Write("请输入您要查找学生姓名:");stringsName=Console.ReadLine();if(count!=0){Console.WriteLine("学号\t姓名\t第一门课\t第二门课\t第三门课\t平均分");for(inti=0;i<count;i++){if(st[i].Name==sName){floatave=(st[i].num1+st[i].num2+st[i].num3)/3;Console.WriteLine(st[i].number+"\t"+st[i].Name+"\t"+st[i].num1+"\t"+"\t"+st[i].num2+"\t"+"\t"+st[i].num3+"\t"+"\t"+ave);}}}else{Console.WriteLine("警告:请先输入学生信息!");}}publicstaticvoidB(Student[]st)//方法-浏览信息{if(count==0){Console.WriteLine("警告:无学生信息可浏览!!");}else{Console.WriteLine("学号\t姓名\t第一门课\t第二门课\t第三门课\t平均分");for(inti=0;i<count;i++){floatave=(st[i].num1+st[i].num2+st[i].num3)/3;Console.WriteLine(st[i].number+"\t"+st[i].Name+"\t"+st[i].num1+"\t"+"\t"+st[i].num2+"\t"+"\t"+st[i].num3+"\t"+"\t"+ave);}}}publicstaticvoidI(Student[]st)//方法-插入信息{Console.WriteLine("请输入需要插入学员信息:");Insert(st);//直接调用录入信息方法}publicstaticvoidS(Student[]st)//方法-信息排序{Console.WriteLine("\ta.按学号排序\t\tb.按成绩排序");stringstr=Console.ReadLine();//按学号排序冒泡排序法小到大if(str=="a"||str=="A"){for(intj=0;j<count;j++){for(inti=1;i<count-j;i++){if(st[i-1].number>st[i].number){Studenttemp=st[i];st[i]=st[i-1];st[i-1]=temp;//小->大}}}B(st);}elseif(str=="b"||str=="B")//按平均分排序冒泡排序法大到小{for(intj=0;j<count;j++){for(inti=1;i<count-j;i++){floatave1=(st[i-1].num1+st[i-1].num2+st[i-1].num3)/3;floatave2=(st[i].num1+st[i].num2+st[i].num3)/3;if(ave1<ave2){Studenttemp=st[i];st[i]=st[i-1];st[i-1]=temp;}}}B(st);}else{Console.WriteLine("请正确输入!");}}publicstaticvoi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川省华蓥市高一历史上册期末考试试卷及完整答案【必刷】
- 2026年山东省滕州市高三生物下册期末考试模拟卷及答案
- 2026年福建省晋江市高一历史下册期末考试模拟试卷含完整答案(网校专用)
- 2026年山东省乐陵市高三生物下册期末考试模拟测试卷及答案
- 基于柴油机原排和再生特性的DPF碳载量精准估算模型构建与验证
- 基于机器视觉的奶牛体型评定关键技术及应用探索
- 基于本体的企业形象评估隐性知识挖掘:理论、方法与实践
- 基于有限元的曲轴性能分析与结构优化研究
- 基于有限元分析的农机车轮结构优化设计研究
- 基于最优化理论的支持向量机学习算法深度剖析与创新应用
- 肝硬化并发脑病护理要点
- 市政工程项目验收与移交管理方案
- 《积的变化规律》(教学设计)-四年级上册数学人教版
- 《工程伦理》课件 第五讲 邻避效应的防范与化解
- 口腔颌面外科住院医师规范化培训结业临床实践能力考核标准方案(2023版)
- 2025年浙江交通集团招聘笔试备考题库(带答案详解)
- 2.30违背或偏离方案处理标准操作规程药物临床试验机构
- 《医疗器械概论》-第二篇第2章-医用放射设备
- 银行催收管理岗竞演
- 2024年大宗互赔协议书模板
- JB-T 14507-2023 环保设备 氟塑料气水换热器
评论
0/150
提交评论