院系:专业:
信息技术学院 计算机科学与技术
学生信息管理系统 设计题目:学生信息管理系统
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 实现录入
private void button1_Click(object sender, EventArgs e) {
Student stu = new Student(); 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 浏览信息
private void Form3_Load(object sender, EventArgs e) {
listBox1.HorizontalScrollbar = true; listBox1.ScrollAlwaysVisible = true;
for (int i = 0; i < Form4.ALStudent.Count; i++) {
listBox1.Items.Add(Form4.ALStudent[i]); } }
3.3删除
public static ArrayList ALStudent = new ArrayList();
private void button1_Click(object sender, EventArgs e) {
for (int i = 0; i < ALStudent.Count; i++) {
string strNum = textBox1.Text; string strXing = textBox2.Text;
if (((Student)ALStudent[i]).StrNo == strNum && ((Student)ALStudent[i]).StrName
== strXing) {
MessageBox.Show(\"确定要删除吗?\提示\ ALStudent.RemoveAt(i); } } }
3.4分别按姓名、学号或姓名、成绩查询
private void radioButton1_CheckedChanged(object sender, EventArgs e) {
for (int i = 0; i < ALStudent.Count; i++) {
string strNo = textBox3.Text; string strName = 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; } } }
private void radioButton2_CheckedChanged(object sender, EventArgs e) {
for (int i = 0; i < ALStudent.Count; i++) {
string strProgress = textBox5.Text; string strName = 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修改学生信息
private void button3_Click(object sender, EventArgs e) {
for (int i = 0; i < ALStudent.Count; i++) {
ALStudent.RemoveAt(i); ALStudent.Add(textBox6.Text); MessageBox.Show(\"修改成功!\"); } }
3.6定义了一个student类代码
class Student {
string strNo; string strName; string strSex; string strAge; string strProgress; string strAddress; string strPhone;
public override string ToString() {
return \"学号: \" + strNo + \"姓名: \" + strName + \"性别: \" + strAge + \"年龄: \"
+ strSex + \"入学成绩: \" + strProgress + \"家庭住址: \" + strAddress + \"联系电话: \" + strPhone;
}
public string StrNo { get {
return strNo; } set {
strNo = value; } }
public string StrName { get {
return strName; } set {
strName = value; } }
public string StrSex { get {
return strSex; } set {
strSex = value; } }
public string StrAge { get {
return strAge; } set {
strAge = value; } }
public string StrProgress
{ get {
return strProgress; } set {
strProgress = value; } }
public string StrAddress { get {
return strAddress; } set {
strAddress = value; } }
public string StrPhone { get {
return strPhone; } set {
strPhone = value; } }
4. 调试结果
4.1主页面
单击不用的按钮,会弹出相应的窗口,来实现不同的功能。 4.2录入界面
4.3修改学生信息
先查询到某个学生的具体信息,将其显示在文本框内,然后单击文本框,进行某一项的修改,
最后单击“修改”按钮。 4.4删除学生信息
先输入学号和姓名,单击“删除”按钮。 4.5查询页面
可以按姓名、学号或姓名、成绩来进行查询,查询时,需要注意的是:每一次只能查询一个学
生的信息,如果想查询多个学生信息,则需要返回主页面,进行循环查询。 4.6统计学生信息
5. 设计总结及心得体会
5.1个人分工:
***:录入学生信息和浏览学生信息。 ***:查询学生信息和统计学生信息。 ***:追加一个学生信息和修改学生信息。 ***:删除一个学生信息和总结报告。 5.2心得体会:
这次选的课程设计题目是学生信息管理系统,其实刚开始之所以选这个题目,是觉得这个比较好做,但是事实上,这个题目并不好做。
我们的窗口的设计很快就做好了,是按照要求做出的,共分为七项:“录入”、“查询”、“浏览”、“添加”、“删除”“修改”和“统计”。在编入代码时,有很多问题,大部分功能也不能完全实现,比如:该如何实现添加学生信息?又该如何在已录入的情况下,再继续添加学生的信息?删除的时候又应该从哪里删除?还有统计,应该统计些什么?经过商量后,决定把“录入”和“添加”合二为一,设置在同一个窗体内,然后将“修改”和“查询”结合到一起,来实现相应功能。最后功能项共分为七项:“录入”、“追加”、“查询”、“浏览”、“修改”、“删除”和“统计”。
接着就是代码的问题了,全部的代码完成后,又经过一遍又一遍的修改、调试,一部分功能已经能实现,但还有一些问题:“追加”包括“录入”和“添加”功能,但在信息输入后并不能真正的保存,就是说在录入信息后,可以查询、修改、再添加和统计,但当下一次再打开该系统时,这一次录入的信息已经都不在了,即本次信息本次保存,下次需重新录入。然后就是“删除”和“统计”功能,当浏览某学生的信息时,要删除他的信息,可选中该学生的信息,并单击“删除”,那么上面“浏览”中显示的信息便不再有该生的信息,但是事实上,该生的信息又并没有完全删除,当单击“统计”时,现实的人数还是没删除该生之前的总数。
本来以为只剩这些问题有待解决,虽然准备交上的课程设计并不完整,但还算得上是可以,没想到到最后要打包这个课程设计时,它又无法正常使用,找来找去,原因是保存的信息是用文件保存的。只好连夜开始修改代码,又用数组列表保存信息。到最终可以打包,它的功能基本可实现,只是还有一个问题,还是信息无法真正保存,每当重新打开该系统时,信息都需再录入。
课程设计要交上去了,但在下面,我们还是会努力将它完善的。
因篇幅问题不能全部显示,请点此查看更多更全内容