通用学生信息管理系统.docx

上传人:b****1 文档编号:3514767 上传时间:2023-05-06 格式:DOCX 页数:50 大小:226.62KB
下载 相关 举报
通用学生信息管理系统.docx_第1页
第1页 / 共50页
通用学生信息管理系统.docx_第2页
第2页 / 共50页
通用学生信息管理系统.docx_第3页
第3页 / 共50页
通用学生信息管理系统.docx_第4页
第4页 / 共50页
通用学生信息管理系统.docx_第5页
第5页 / 共50页
通用学生信息管理系统.docx_第6页
第6页 / 共50页
通用学生信息管理系统.docx_第7页
第7页 / 共50页
通用学生信息管理系统.docx_第8页
第8页 / 共50页
通用学生信息管理系统.docx_第9页
第9页 / 共50页
通用学生信息管理系统.docx_第10页
第10页 / 共50页
通用学生信息管理系统.docx_第11页
第11页 / 共50页
通用学生信息管理系统.docx_第12页
第12页 / 共50页
通用学生信息管理系统.docx_第13页
第13页 / 共50页
通用学生信息管理系统.docx_第14页
第14页 / 共50页
通用学生信息管理系统.docx_第15页
第15页 / 共50页
通用学生信息管理系统.docx_第16页
第16页 / 共50页
通用学生信息管理系统.docx_第17页
第17页 / 共50页
通用学生信息管理系统.docx_第18页
第18页 / 共50页
通用学生信息管理系统.docx_第19页
第19页 / 共50页
通用学生信息管理系统.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

通用学生信息管理系统.docx

《通用学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《通用学生信息管理系统.docx(50页珍藏版)》请在冰点文库上搜索。

通用学生信息管理系统.docx

通用学生信息管理系统

C#程序设计期末作业

通用学生信息管理系统

 

计算机科学与工程学院

班级:

123456

姓名:

张三儿

学号:

12345678

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;

usingSystem.IO;

usingConsoleApplication1;

publicclassStudent

{

publicstringno;

publicstringname;

publicintaverage;

publicstaticbooloperator>(Students1,Students2)//重载

{

if(s1.average>s2.average)

returntrue;

else

returnfalse;

}

publicstaticbooloperator<(Students1,Students2)

{

if(s1.average

returntrue;

else

returnfalse;

}

};

classStudentManageSystem

{

staticConsoleApplication1.xiaoxue[]sd;

publicstaticvoidshow()

{

intcases=0;

boolflag=true;

while(flag){

Console.Clear();

Console.WriteLine("\t\t******欢迎进入学生信息管理系统!

******");

Console.WriteLine("\t\t1.小学生界面");

Console.WriteLine("\t\t2.中学生界面");

Console.WriteLine("\t\t3.大学生界面");

Console.WriteLine("\t\t***************************************");

Console.Write("\t\t请输入选择(数字1-3):

");

cases=Convert.ToInt32(Console.ReadLine());

if(cases<=3&&cases>=1){

flag=false;

switch(cases){

case1:

Menu1();

break;

case2:

Menu2();

break;

case3:

Menu3();

break;

}

}

}

}

publicstaticvoidMenu1()///小学主菜单

{

xiaoxues=newxiaoxue();

boolFlag=true;

intselnumber=0;

while(Flag){

Console.Clear();

Console.WriteLine("\t\t******欢迎进入小学生信息管理系统!

******");

Console.WriteLine("\t\t1.增加数据");

Console.WriteLine("\t\t2.修改数据");

Console.WriteLine("\t\t3.删除数据");

Console.WriteLine("\t\t4.按姓名查找");

Console.WriteLine("\t\t5.显示全部");

Console.WriteLine("\t\t6.按平均分排序");

Console.WriteLine("\t\t7.退出系统");

Console.WriteLine("\t\t***************************************");

try{

Console.Write("\t\t请输入选择(数字1-7):

");

selnumber=Convert.ToInt32(Console.ReadLine());

}

catch(FormatException){

Console.WriteLine("你输入的数据格式有误!

!

");

}

if(selnumber<=7&&selnumber>=1){

Flag=false;

switch(selnumber){

case1:

s.Add();

break;

case2:

s.Modify();

break;

case3:

s.DeleteData();

break;

case4:

s.Search();

break;

case5:

s.Browse();

break;

case6:

s.Order();

break;

case7:

Environment.Exit(0);

break;

}

}

}

}

publicstaticvoidMenu2()///中学主菜单

{

zhongxues=newzhongxue();

boolFlag=true;

intselnumber=0;

while(Flag){

Console.Clear();

Console.WriteLine("\t\t******欢迎进入中学生信息管理系统!

******");

Console.WriteLine("\t\t1.增加数据");

Console.WriteLine("\t\t2.修改数据");

Console.WriteLine("\t\t3.删除数据");

Console.WriteLine("\t\t4.按姓名查找");

Console.WriteLine("\t\t5.显示全部");

Console.WriteLine("\t\t6.按平均分排序");

Console.WriteLine("\t\t7.退出系统");

Console.WriteLine("\t\t***************************************");

Console.Write("\t\t请输入选择(数字1-7):

");

selnumber=Convert.ToInt32(Console.ReadLine());

Console.WriteLine("你输入的数据格式有误!

!

");

if(selnumber<=7&&selnumber>=1){

Flag=false;

switch(selnumber){

case1:

s.Add2();

break;

case2:

s.Modify2();

break;

case3:

s.DeleteData2();

break;

case4:

s.Search2();

break;

case5:

s.Browse2();

break;

case6:

s.Order2();

break;

case7:

Environment.Exit(0);

break;

}

}

}

}

publicstaticvoidMenu3()///大学主菜单

{

daxues=newdaxue();

boolFlag=true;

intselnumber=0;

while(Flag){

Console.Clear();

Console.WriteLine("\t\t******欢迎进入大学生信息管理系统!

******");

Console.WriteLine("\t\t1.增加数据");

Console.WriteLine("\t\t2.修改数据");

Console.WriteLine("\t\t3.删除数据");

Console.WriteLine("\t\t4.按姓名查找");

Console.WriteLine("\t\t5.显示全部");

Console.WriteLine("\t\t6.按平均分排序");

Console.WriteLine("\t\t7.退出系统");

Console.WriteLine("\t\t***************************************");

Console.Write("\t\t请输入选择(数字1-7):

");

selnumber=Convert.ToInt32(Console.ReadLine());

Console.WriteLine("你输入的数据格式有误!

!

");

if(selnumber<=7&&selnumber>=1){

Flag=false;

switch(selnumber){

case1:

s.Add3();

break;

case2:

s.Modify3();

break;

case3:

s.DeleteData3();

break;

case4:

s.Search3();

break;

case5:

s.Browse3();

break;

case6:

s.Order3();

break;

case7:

Environment.Exit(0);

break;

}

}

}

}

publicstaticvoidSave(intn)///保存N个学生信息

{

FileStreamfs=null;

BinaryWriterbw=null;

FileInfofi=null;

DirectoryInfodi=newDirectoryInfo(".");

try{

strings=di.Root.ToString();//获取当前文件的根目录

s=s+"1.dat";

fi=newFileInfo(s);

if(fi.Exists){//判断文件是否存在,存在则追加,不存在则创建

fs=newFileStream(s,FileMode.Append,FileAccess.Write);

bw=newBinaryWriter(fs);

}

else{

fs=newFileStream(s,FileMode.Create,FileAccess.Write);

bw=newBinaryWriter(fs);

}

}

catch(IOException){

Console.WriteLine("操作文件失败!

");

return;

}

try{

for(inti=0;i

bw.Write(sd[i].no);

bw.Write(sd[i].name);

bw.Write(sd[i].english);

bw.Write(sd[i].chinese);

bw.Write(sd[i].math);

bw.Write(sd[i].average);

}

}

catch(IOException){

Console.WriteLine("写文件失败!

");

return;

}

finally{

bw.Close();

fs.Close();

Console.WriteLine("数据已保存!

请按任意键继续");

Console.ReadKey(true);

Menu1();

}

}

publicstaticvoidSaveToArray(refintlen)///将数据保存至数组中

{

sd=newxiaoxue[len];

for(intj=0;j

sd[j]=newxiaoxue();

}

try{

FileStreamfs=null;

BinaryReaderbr=null;

DirectoryInfodi=newDirectoryInfo(".");

Strings=di.Root.ToString();//获取当前文件的根目录

s=s+"1.dat";

fs=newFileStream(s,FileMode.Open,FileAccess.Read);

br=newBinaryReader(fs);

inti=0;

try{

for(i=0;i

sd[i].no=br.ReadString();

sd[i].name=br.ReadString();

sd[i].english=br.ReadInt32();

sd[i].chinese=br.ReadInt32();

sd[i].math=br.ReadInt32();

sd[i].average=br.ReadInt32();

}

}

catch(EndOfStreamException)

{len=i-1;}

finally{

br.Close();

fs.Close();

}

}

catch{return;}

}

publicstaticvoidSaveToFile(intlen)///将数据保存至文件中

{

FileStreamfs1=null;

BinaryWriterbw=null;

DirectoryInfodi;

strings;

try{

di=newDirectoryInfo(".");

s=di.Root.ToString();//获取当前文件的根目录

s=s+"1.dat";

fs1=newFileStream(s,FileMode.Create,FileAccess.Write);

bw=newBinaryWriter(fs1);

for(inti=0;i

if(sd[i].no!

=""){

bw.Write(sd[i].no);

bw.Write(sd[i].name);

bw.Write(sd[i].english);

bw.Write(sd[i].chinese);

bw.Write(sd[i].math);

bw.Write(sd[i].average);

}

}

}

catch(IOException){

Console.WriteLine("写入数据错误!

");

Console.ReadKey(true);

return;

}

finally{

bw.Close();

fs1.Close();

}

Console.WriteLine("修改数据成功!

");

Console.WriteLine("请按任意键继续!

");

Console.ReadKey(true);

Menu1();

}

publicstaticvoidMain(){//主函数

show();

Menu1();

}

}

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.IO;

usingSystem.Text;

namespaceConsoleApplication1

{

classxiaoxue:

Student

{

staticConsoleApplication1.xiaoxue[]sd;

publicintchinese;

publicintenglish;

publicintmath;

publicintgetchinese

{

get{returnchinese;}

set{chinese=value;}

}

publicintgetenglish

{

get{returnenglish;}

set{english=value;}

}

publicintgetmath

{

get{returnmath;}

set{math=value;}

}

publicvoidInput(inti)///输入某一学生信息

{

Console.WriteLine("\n请输入第{0}学生的信息:

",i+1);

while(true)//这个循环用来控制学号不能相同

{

Console.Write("\n学号");

sd[i].no=Console.ReadLine();

intj=0;

for(j=0;j

if(sd[i].no!

=sd[j].no){

break;

}

}

if(i==0||j!

=i)

break;

Console.WriteLine("您输入的学号重复,请重输!

");

}

Console.Write("姓名");

sd[i].name=Console.ReadLine();

try{

Console.Write("语文成绩");

sd[i].english=Convert.ToInt32(Console.ReadLine());

Console.Write("英语成绩");

sd[i].chinese=Convert.ToInt32(Console.ReadLine());

Console.Write("数学成绩");

sd[i].math=Convert.ToInt32(Console.ReadLine());

sd[i].average=(sd[i].english+sd[i].chinese+sd[i].math)/3;

}

catch(FormatExceptione){

Console.WriteLine("您输入的数据有误!

"+e.Message);

}

}

publicstaticvoidSaveToArray(refintlen){...}///将数据保存至数组中

publicstaticvoidSave(intn){...}///保存N个学生信息

publicstaticvoidSaveToFile(intlen){Menu1();}///将数据保存至文件中

privatestaticvoidMenu1(){}

publicvoidAdd()///添加模块

{

intn=0;

try{

Console.WriteLine("\n请输入您需添加的学生记录的个数:

");

n=Convert.ToInt32(Console.ReadLine());

}

catch(FormatException){

Console.WriteLine("您输入的数据格式有误!

");

}

sd=newxiaoxue[n];

for(inti=0;i

sd[i]=newxiaoxue();

}

for(inti=0;i

Input(i);

}

if(n!

=0)

Save(n);

else

Menu1();

}

publicvoidModify()///修改模块

{

intlen=0;

BrowseAll(reflen);

SaveToArray(reflen);

xiaoxuetemp=newxiaoxue();

try{

Console.WriteLine("请输入要修改学生的学号(学号不可改):

");

temp.no=Console.ReadLine();

Console.Write("\n姓名:

");

temp.name=Co

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2