C#学生管理系统课程设计报告.docx
- 文档编号:28454223
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:29
- 大小:220.97KB
C#学生管理系统课程设计报告.docx
《C#学生管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《C#学生管理系统课程设计报告.docx(29页珍藏版)》请在冰豆网上搜索。
C#学生管理系统课程设计报告
C#程序设计期末作业
通用学生信息管理系统
计算机科学与工程学院
班级:
123456
姓名:
张三儿
学号:
2014年5月
一、题目分析
1、基本功能要求:
(1)创建相应的成员变量保存学生基本信息;
(2)创建相应属性和索引以实现对成员变量访问的封装;
(3)创建相应的方法以实现对学生基本信息的管理;
(4)创建相应的方法以实现对学生成绩的管理;
(5)构造函数和析构函数;
(6)由学生类派生出小学生、中学生以及大学生;
(7)尽量用上继承、多态、重载、覆盖、接口、抽象类、代理、事件等知识。
2、设计思路:
本题目要求学生设计一个通用学生信息管理系统,能够分别实现对小学生、中学生以及大学生信息及成绩的管理。
定义学生类Student,在学生类中定义学生的公共属性,比如学号、姓名以及平均分等。
由学生类Student派生出三个子类,即小学生类xiaoxue、中学生类zhongxue和大学生类daxue。
再分别在各个子类中定义其独有属性,编写函数进行各种操作,主要包括对学生信息的增、删、改、查及显示全部等操作,以及对学生的成绩进行管理,主要是求平均分操作并按从高到低降序排列输出。
本系统采用文件存储数据,代码中有对应的文件操作,能够实现对输入的数据的保存。
二、系统设计
2、界面设计:
(1)用户选择界面:
(2子类界面:
(3)增加学生信息:
(4)修改学生信息:
(5)删除学生信息:
(6)查找学生信息:
(7)显示全部信息:
(8)按平均分排序:
三、知识清单
1、定义了相应的成员变量来保存学生的基本信息,如学号、姓名、科目成绩等;
2、定义了相应属性以来获取学生基本信息;
3、定义了相应的方法实现了对学生基本信息的管理,如Add()、Order()、Delete()等方法实现对学生信息的增删改查;
4、定义了相应的方法Order()对学生成绩信息进行管理;
5、定义了构造函数进行初始化并且有默认的析构函数;
6、定义学生类Student,由Student类派生出三个子类分别对小学生、中学生、大学生信息进行管理;
7、本实验程序没有连接数据库,所用数据都存在相应的文件操作中,有相应的方法实现文件相关操作;
8、重载了操作符小于和大于号
五、实验程序代码
usingSystem;
using;
usingConsoleApplication1;
publicclassStudent
{
publicstringno;
publicstringname;
publicintaverage;
publicstaticbooloperator>(Students1,Students2)小学生界面");
("\t\t2.中学生界面");
("\t\t3.大学生界面");
("\t\t***************************************");
("\t\t请输入选择(数字1-3):
");
cases=());
if(cases<=3&&cases>=1){
flag=false;
switch(cases){
case1:
Menu1();
break;
case2:
Menu2();
break;
case3:
Menu3();
break;
}
}
}
}
publicstaticvoidMenu1()增加数据");
("\t\t2.修改数据");
("\t\t3.删除数据");
("\t\t4.按姓名查找");
("\t\t5.显示全部");
("\t\t6.按平均分排序");
("\t\t7.退出系统");
("\t\t***************************************");
try{
("\t\t请输入选择(数字1-7):
");
selnumber=());
}
catch(FormatException){
("你输入的数据格式有误!
!
");
}
if(selnumber<=7&&selnumber>=1){
Flag=false;
switch(selnumber){
case1:
();
break;
case2:
();
break;
case3:
();
break;
case4:
();
break;
case5:
();
break;
case6:
();
break;
case7:
(0);
break;
}
}
}
}
publicstaticvoidMenu2()增加数据");
("\t\t2.修改数据");
("\t\t3.删除数据");
("\t\t4.按姓名查找");
("\t\t5.显示全部");
("\t\t6.按平均分排序");
("\t\t7.退出系统");
("\t\t***************************************");
("\t\t请输入选择(数字1-7):
");
selnumber=());
("你输入的数据格式有误!
!
");
if(selnumber<=7&&selnumber>=1){
Flag=false;
switch(selnumber){
case1:
();
break;
case2:
();
break;
case3:
();
break;
case4:
();
break;
case5:
();
break;
case6:
();
break;
case7:
(0);
break;
}
}
}
}
publicstaticvoidMenu3()增加数据");
("\t\t2.修改数据");
("\t\t3.删除数据");
("\t\t4.按姓名查找");
("\t\t5.显示全部");
("\t\t6.按平均分排序");
("\t\t7.退出系统");
("\t\t***************************************");
("\t\t请输入选择(数字1-7):
");
selnumber=());
("你输入的数据格式有误!
!
");
if(selnumber<=7&&selnumber>=1){
Flag=false;
switch(selnumber){
case1:
();
break;
case2:
();
break;
case3:
();
break;
case4:
();
break;
case5:
();
break;
case6:
();
break;
case7:
(0);
break;
}
}
}
}
publicstaticvoidSave(intn);
try{
strings=o);
(sd[i].name);
(sd[i].english);
(sd[i].chinese);
(sd[i].math);
(sd[i].average);
}
}
catch(IOException){
("写文件失败!
");
return;
}
finally{
();
();
("数据已保存!
请按任意键继续");
(true);
Menu1();
}
}
publicstaticvoidSaveToArray(refintlen);
Strings=o=();
sd[i].name=();
sd[i].english=();
sd[i].chinese=();
sd[i].math=();
sd[i].average=();
}
}
catch(EndOfStreamException)
{len=i-1;}
finally{
();
();
}
}
catch{return;}
}
publicstaticvoidSaveToFile(intlen);
s=o!
=""){
(sd[i].no);
(sd[i].name);
(sd[i].english);
(sd[i].chinese);
(sd[i].math);
(sd[i].average);
}
}
}
catch(IOException){
("写入数据错误!
");
(true);
return;
}
finally{
();
();
}
("修改数据成功!
");
("请按任意键继续!
");
(true);
Menu1();
}
publicstaticvoidMain(){o=();
intj=0;
for(j=0;j
if(sd[i].no!
=sd[j].no){
break;
}
}
if(i==0||j!
=i)
break;
("您输入的学号重复,请重输!
");
}
("姓名");
sd[i].name=();
try{
("语文成绩");
sd[i].english=());
("英语成绩");
sd[i].chinese=());
("数学成绩");
sd[i].math=());
sd[i].average=(sd[i].english+sd[i].chinese+sd[i].math)/3;
}
catch(FormatExceptione){
("您输入的数据有误!
"+;
}
}
publicstaticvoidSaveToArray(refintlen){...}.}o=={
sd[i]=temp;
Flag=true;
}
}
if(Flag){
SaveToFile(len);
}
else{
("未能查到信息!
请重试!
");
("请按任意键继续!
");
(true);
Menu1();
}
}
publicvoidDeleteData()o==s){
flag=true;
sd[i].no="";
sd[i].name="";
sd[i].english=0;
sd[i].chinese=0;
sd[i].math=0;
sd[i].average=0;
}
}
SaveToFile(len);
if(!
flag){
("没有此人信息!
无法删除!
");
}
("请按任意键继续!
");
(true);
Menu1();
}
publicvoidSearch()o=="")
break;
if(sd[i].name==s){
flag=true;
("{0,-10}",sd[i].no);
("{0,-10}",sd[i].name);
("{0,-10}",sd[i].english);
("{0,-12}",sd[i].chinese);
("{0,-12}",sd[i].math);
("{0,-12}",sd[i].average);
();
}
}
if(!
flag){
("没有查到此人信息!
");
}
("请按任意键继续!
");
(true);
Menu1();
}
publicvoidBrowse();
try{
strings=o);
("{0,-10}",sd[i].name);
("{0,-10}",sd[i].english);
("{0,-12}",sd[i].chinese);
("{0,-12}",sd[i].math);
("{0,-12}",sd[i].average);
();
}
("请按任意键返回主界面!
");
(true);
Menu1();
}
}
}
usingSystem;
using;
using;
using;
namespaceConsoleApplication1
{
classzhongxue:
Student
{
static[]sd;
publicintphysics;
publicintchemistry;
publicintbiology;
publicintgetphysics
{
get{returnphysics;}
set{physics=value;}
}
publicintgetchemistry
{
get{returnchemistry;}
set{chemistry=value;}
}
publicintgetbiology
{
get{returnbiology;}
set{biology=value;}
}
publicvoidInput(inti){o=();
intj=0;
for(j=0;j
if(sd[i].no!
=sd[j].no){
break;
}
}
if(i==0||j!
=i)
break;
("您输入的学号重复,请重输!
");
}
("姓名");
sd[i].name=();
try{
("物理成绩");
sd[i].physics=());
("化学成绩");
sd[i].chemistry=());
("生物成绩");
sd[i].biology=());
sd[i].average=(sd[i].physics+sd[i].chemistry+sd[i].biology)/3;
}
catch(FormatExceptione){
("您输入的数据有误!
"+;
}
}
publicstaticvoidSaveToArray(refintlen){...}.}o=={
sd[i]=temp;
Flag=true;
}
}
if(Flag){
SaveToFile(len);
}
else{
("未能查到信息!
请重试!
");
("请按任意键继续!
");
(true);
Menu2();
}
}
publicvoidDeleteData2()o==s){
flag=true;
sd[i].no="";
sd[i].name="";
sd[i].physics=0;
sd[i].chemistry=0;
sd[i].biology=0;
sd[i].average=0;
}
}
SaveToFile(len);
if(!
flag){
("没有此人信息!
无法删除!
");
}
("请按任意键继续!
");
(true);
Menu2();
}
publicvoidSearch2()o=="")
break;
if(sd[i].name==s){
flag=true;
("{0,-10}",sd[i].no);
("{0,-10}",sd[i].name);
("{0,-10}",sd[i].physics);
("{0,-12}",sd[i].chemistry);
("{0,-12}",sd[i].biology);
("{0,-12}",sd[i].average);
();
}
}
if(!
flag){
("没有查到此人信息!
");
}
("请按任意键继续!
");
(true);
Menu2();
}
publicvoidBrowse2();
try{
strings=o);
("{0,-10}",sd[i].name);
("{0,-10}",sd[i].physics);
("{0,-12}",sd[i].chemistry);
("{0,-12}",sd[i].biology);
("{0,-12}",sd[i].average);
();
}
("请按任意键返回主界面!
");
(true);
Menu2();
}
}
}
usingSystem;
using;
using;
using;
namespaceConsoleApplication1
{
classdaxue:
Student
{
static[]sd;
publicintcomputer;
publicintcsharp;
publicintdatastructure;
publicintgetcomputer
{
get{returncomputer;}
set{computer=value;}
}
publicintgetcsharp
{
get{returncsharp;}
set{csharp=value;}
}
publicintgetdatastructure
{
get{returndatastructure;}
set{datastructure=value;}
}
publicvoidInput(inti)o=();
intj=0;
for(j=0;j
if(sd[i].no!
=sd[j].no){
break;
}
}
if(i==0||j!
=i)
break;
("您输入的学号重复,请重输!
");
}
("姓名");
sd[i].name=();
try{
("计算机成绩");
sd[i]puter=());
("C#成绩");
sd[i].csharp=());
("数据结构成绩");
sd[i].datastructure=());
sd[i].average=(sd[i]puter+sd[i].csharp+sd[i].datastructure)/3;
}
catch(FormatExceptione){
("您输入的数据有误!
"+;
}
}
publicstaticvoidSaveToArray(refintlen){...}.}o=={
sd[i]=temp;
Flag=true;
}
}
if(Flag){
SaveToFile(len);
}
else{
("未能查到信息!
请重试!
");
("请按任意键继续!
");
(true);
Menu3();
}
}
publicvoidDeleteData3()o==s){
flag=true;
sd[i].no="";
sd[i].name="";
sd[i]puter=0;
sd[i].csharp=0;
sd[i].datastructure=0;
sd[i].average=0;
}
}
SaveToFile(len);
if(!
flag){
("没有此人信息!
无法删除!
");
}
("请按任意键继续!
");
(true);
Menu3();
}
publicvoidSearch3()o=="")
break;
if(sd[i].name==s){
flag=true;
("{0,-10}",sd[i].no);
("{0,-10}",sd[i].name);
("{0,-10}",sd[i]puter);
("{0,-12}",sd[i].csharp);
("{0,-12}",sd[i].datastructure);
("{0,-12}",sd[i].average);
();
}
}
if(!
flag){
("没有查到此人信息!
");
}
("请按任意键继续!
");
(true);
Menu3();
}
publicvoidBrowse3();
try{
strings=o);
("{0,-10}",sd[i].name);
("{0,-10}",sd[i]puter);
("{0,-12}",sd[i].csharp);
("{0,-12}",sd[i].datastructure);
("{0,-12}",sd[i].average);
();
}
("请按任意键返回主界面!
");
(true);
Menu3();
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 学生 管理 系统 课程设计 报告