资源描述
.
河南中医学院
《C#程序设计》课程设计报告
学生信息管理系统
院系: 信息技术学院
专业: 计算机科学与技术
班级: 2011级
姓名: 刘佩佩(组长)2011180032
李玲玉2011180088、
赵英娣2011180075、
卢青青2011180098
指导教师: 吕雅丽
完成日期: 2012年6月10日
设计题目:学生信息管理系统
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("确定要删除吗?", "提示", MessageBoxButtons.OKCancel);
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心得体会:
这次选的课程设计题目是学生信息管理系统,其实刚开始之所以选这个题目,是觉得这个比较好做,但是事实上,这个题目并不好做。
我们的窗口的设计很快就做好了,是按照要求做出的,共分为七项:“录入”、“查询”、“浏览”、“添加”、“删除”“修改”和“统计”。在编入代码时,有很多问题,大部分功能也不能完全实现,比如:该如何实现添加学生信息?又该如何在已录入的情况下,再继续添加学生的信息?删除的时候又应该从哪里删除?还有统计,应该统计些什么?经过商量后,决定把“录入”和“添加”合二为一,设置在同一个窗体内,然后将“修改”和“查询”结合到一起,来实现相应功能。最后功能项共分为七项:“录入”、“追加”、“查询”、“浏览”、“修改”、“删除”和“统计”。
接着就是代码的问题了,全部的代码完成后,又经过一遍又一遍的修改、调试,一部分功能已经能实现,但还有一些问题:“追加”包括“录入”和“添加”功能,但在信息输入后并不能真正的保存,就是说在录入信息后,可以查询、修改、再添加和统计,但当下一次再打开该系统时,这一次录入的信息已经都不在了,即本次信息本次保存,下次需重新录入。然后就是“删除”和“统计”功能,当浏览某学生的信息时,要删除他的信息,可选中该学生的信息,并单击“删除”,那么上面“浏览”中显示的信息便不再有该生的信息,但是事实上,该生的信息又并没有完全删除,当单击“统计”时,现实的人数还是没删除该生之前的总数。
本来以为只剩这些问题有待解决,虽然准备交上的课程设计并不完整,但还算得上是可以,没想到到最后要打包这个课程设计时,它又无法正常使用,找来找去,原因是保存的信息是用文件保存的。只好连夜开始修改代码,又用数组列表保存信息。到最终可以打包,它的功能基本可实现,只是还有一个问题,还是信息无法真正保存,每当重新打开该系统时,信息都需再录入。
课程设计要交上去了,但在下面,我们还是会努力将它完善的。
精选范本
展开阅读全文