《C#程序设计》课程设计报告学生信息管理系统院系:信息技术学院专业:计算机科学与技术设计题目:学生信息管理系统1.题目描述学生信息包括:学号,姓名,年龄,性别,出生年月,地址,入学成绩等。试设计一学生信息管理系统,使之能提供以下功能:1、录入学生信息(学生信息用文件或数据库保存)2、浏览学生信息3、查询学生信息(按姓名查询、按成绩查询等)4、修改学生信息5、追加一个学生信息6、删除一个学生信息7、统计学生信息2.应用程序功能说明2.1、录入学生信息:单击“录入学生基本信息”按钮,可将学生的学号、姓名、年龄、性别、联系电话、家庭地址、入学成绩等录入,再单击“确定”,就可成功录入信息。2.2、浏览学生信息:单击“浏览学生基本信息”,可以直接看到全部学生的信息。2.3、查询学生信息:单击“查询学生基本信息”,可以按两种方式查询想要查的学生信息,一种是按姓名和成绩,一种是按姓名和学号查询。2.4、修改学生信息:单击“修改学生基本信息”,在查询的基础上,进行个别要修改的项。2.5、追加一个学生信息:选择“添加学生基本信息”,可以继续添加学生信息。2.6、删除一个学生信息:单击“删除学生基本信息”,输入学号和姓名确定某一学生,再单击“删除”按钮。2.7、统计学生信息:单击“统计学生基本信息”,主要是统计共有多少学生的信息。3.源程序3.1实现录入privatevoidbutton1_Click(objectsender,EventArgse){Studentstu=newStudent();stu.StrNo+=textBox1.Text;stu.StrName+=textBox2.Text;stu.StrSex+=textBox3.Text;stu.StrAge+=textBox4.Text;stu.StrProgress+=textBox5.Text;stu.StrAddress+=textBox6.Text;stu.StrPhone+=textBox7.Text;if(textBox1.Text==){MessageBox.Show(请输入学号!);return;}if(textBox2.Text==){MessageBox.Show(请输入姓名!);return;}else{MessageBox.Show(恭喜你,添加成功!);}Form4.ALStudent.Add(stu);textBox1.Text=;textBox2.Text=;textBox3.Text=;textBox4.Text=;textBox5.Text=;textBox6.Text=;textBox7.Text=;}3.2浏览信息privatevoidForm3_Load(objectsender,EventArgse){listBox1.HorizontalScrollbar=true;listBox1.ScrollAlwaysVisible=true;for(inti=0;iForm4.ALStudent.Count;i++){listBox1.Items.Add(Form4.ALStudent[i]);}}3.3删除publicstaticArrayListALStudent=newArrayList();privatevoidbutton1_Click(objectsender,EventArgse){for(inti=0;iALStudent.Count;i++){stringstrNum=textBox1.Text;stringstrXing=textBox2.Text;if(((Student)ALStudent[i]).StrNo==strNum&&((Student)ALStudent[i]).StrName==strXing){MessageBox.Show(确定要删除吗?,提示,MessageBoxButtons.OKCancel);ALStudent.RemoveAt(i);}}}3.4分别按姓名、学号或姓名、成绩查询privatevoidradioButton1_CheckedChanged(objectsender,EventArgse){for(inti=0;iALStudent.Count;i++){stringstrNo=textBox3.Text;stringstrName=textBox4.Text;if(((Student)ALStudent[i]).StrNo==strNo&&((Student)ALStudent[i]).StrName==strName){textBox6.Text=学号:+((Student)ALStudent[i]).StrNo++姓名:+((Student)ALStudent[i]).StrName++年龄:+((Student)ALStudent[i]).StrAge++性别:+((Student)ALStudent[i]).StrSex++入学成绩:+((Student)ALStudent[i]).StrProgress++家庭住址:+((Student)ALStudent[i]).StrAddress++联系电话:+((Student)ALStudent[i]).StrPhone+\n;MessageBox.Show(查询成功!);return;}if(((Student)ALStudent[i]).StrNo!=strNo||((Student)ALStudent[i]).StrName!=strName){MessageBox.Show(此人不存在!);return;}}}privatevoidradioButton2_CheckedChanged(objectsender,EventArgse){for(inti=0;iALStudent.Count;i++){stringstrProgress=textBox5.Text;stringstrName=textBox4.Text;if(((Student)ALStudent[i]).StrProgress==strProgress&&((Student)ALStudent[i]).StrName==strName){textBox6.Text=学号:+((Student)ALStudent[i]).StrNo++姓名:+((Student)ALStudent[i]).StrName++年龄:+((Student)ALStudent[i]).StrAge++性别:+((Student)ALStudent[i]).StrSex++入学成绩:+((Student)ALStudent[i]).StrProgress++家庭住址:+((Student)ALStudent[i]).StrAddress++联系电话:+((Student)ALStudent[i]).StrPhone+\n;MessageBox.Show(查询成功!);}if(((Student)ALStudent[i]).StrProgress!=strProgress||((Student)ALStudent[i]).StrName!=strName){MessageBox.Show(此人不存在!);}}}3.5修改学生信息privatevoidbutton3_Click(objectsender,EventArgse){for(inti=0;iALStudent.Count;i++){ALStudent.RemoveAt(i);ALStudent.Add(textBox6.Text);MessageBox.Show(修改成功!);}}3.6定义了一个student类代码classStudent{stringstrNo;stringstrName;stringstrSex;stringstrAge;stringstrProgress;stringstrAddress;stringstrPhone;publicoverridestringToString(){return学号:+strNo+姓名:+strName+性别:+strAge+年龄:+strSex+入学成绩:+strProgress+家庭住址:+strAddress+联系电话:+strPhone;}publicstringStrNo{get{returnstrNo;}set{strNo=value;}}publicstringStrName{get{returnstrName;}set{strName=value;}}publicstringStrSex{get{returnstrSex;}set{strSex=value;}}publicstringStrAge{get{returnstrAge;}set{strAge=value;}}publicstringStrProgress{get{returnstrProgress;}set{strProgress=value;}}publicstringStrAddress{get{returnstrAddress;}set{strAddress=value;}}publicstringStrPhone{get{returnstrPhone;}set{strPhone=value;}}4.调试结果4.1主页面单击不用的按钮,会弹出相应的窗口,来实现不同的功能。4.2录入界面4.3修改学生信息先查询到某个学生的具体信息,将其显示在文本框内,然后单击文本框,进行某一项的修改,最后单击“修改”按钮。4.4删除学生信息先输入学号和姓名,单击“删除”按钮。4.5查询页面可以按姓名、学号或姓名、成绩来进行查询,查询时,需要注意的是:每一次只能查询一个学生的信息,如果想查询多个学生信息,则需要返回主页面,进行循环查询。4.6统计学生信息5.设计总结及心得体会5.1个人分工:***:录入学生信息和浏览学生信息。***:查询学生信息和统计学生信息。***:追加一个学生信息和修改学生信息。***:删除一个学生信息和总结报告。5.2心得体会:这次选的课程设计题目是学生信息管理系统,其实刚开始之所以选这个题目,是觉得这个比较好做,但是事实上,这个题目并不好做。我们的窗口的设计很快就做好了,是按照要求做出的,共分为七项:“录入”、“查询”、“浏览”、“添加”、“删除”“修改”和“统计”。在编入代码时,有很多问题,大部分功能也不能完全实现,比如:该如何实现添加学生信息?又该如何在已录入的情况下,再继续添加学生的信息?删除的时候又应该从哪里删除?还有统计,应该统计些什么?经过商量后,决定把“录入”和“添加”合二为一,设置在同一个窗体内,然后将“修改”和“查询”结合到一起,来实现相应功能。最后功能项共分为七项:“录入”、“追加”、“查询”、“浏览”、“修改”、“删除”和“统计”。接着就是代码的问题了,全部的代码完成后,又经过一遍又一遍的修改、调试,一部分功能已经能实现,但还有一些问题:“追加”包括“录入”和“添加”功能,但在信息输入后并不能真正的保存,就是说在录入信息后,可以查询、修改、再添加和统计,但当下一次再打开该系统时,这一次录入的信息已经都不在了,即本次信息本次保存,下次需重新录入。然后就是“删除”和“统计”功能,当浏览某学生的信息时,要删除他的信息,可选中该学生的信息,并单击“删除”,那么上面“浏览”中显示的信息便不再有该生的信息,但是事实上,该生的信息又并没有完全删除,当单击“统计”时,现实的人数还是没删除该生之前的总数。本来以为只剩这些问题有待解决,虽然准备交上的课程设计并不完整,但还算得上是可以,没想到到最后要打包这个课程设计时,它又无法正常使用,找来找去,原因是保存的信息是用文件保存的。只好连夜开始修改代码,又用数组列表保存信息。到最终可以打包,它的功能基本可实现,只是还有一个问题,还是信息无法真正保存,每当重新打开该系统时,信息都需再录入。课程设计要交上去了