您的当前位置:首页正文

C#学生信息管理系统

2021-03-31 来源:V品旅游网
《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 实现录入

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心得体会:

这次选的课程设计题目是学生信息管理系统,其实刚开始之所以选这个题目,是觉得这个比较好做,但是事实上,这个题目并不好做。

我们的窗口的设计很快就做好了,是按照要求做出的,共分为七项:“录入”、“查询”、“浏览”、“添加”、“删除”“修改”和“统计”。在编入代码时,有很多问题,大部分功能也不能完全实现,比如:该如何实现添加学生信息?又该如何在已录入的情况下,再继续添加学生的信息?删除的时候又应该从哪里删除?还有统计,应该统计些什么?经过商量后,决定把“录入”和“添加”合二为一,设置在同一个窗体内,然后将“修改”和“查询”结合到一起,来实现相应功能。最后功能项共分为七项:“录入”、“追加”、“查询”、“浏览”、“修改”、“删除”和“统计”。

接着就是代码的问题了,全部的代码完成后,又经过一遍又一遍的修改、调试,一部分功能已经能实现,但还有一些问题:“追加”包括“录入”和“添加”功能,但在信息输入后并不能真正的保存,就是说在录入信息后,可以查询、修改、再添加和统计,但当下一次再打开该系统时,这一次录入的信息已经都不在了,即本次信息本次保存,下次需重新录入。然后就是“删除”和“统计”功能,当浏览某学生的信息时,要删除他的信息,可选中该学生的信息,并单击“删除”,那么上面“浏览”中显示的信息便不再有该生的信息,但是事实上,该生的信息又并没有完全删除,当单击“统计”时,现实的人数还是没删除该生之前的总数。

本来以为只剩这些问题有待解决,虽然准备交上的课程设计并不完整,但还算得上是可以,没想到到最后要打包这个课程设计时,它又无法正常使用,找来找去,原因是保存的信息是用文件保存的。只好连夜开始修改代码,又用数组列表保存信息。到最终可以打包,它的功能基本可实现,只是还有一个问题,还是信息无法真正保存,每当重新打开该系统时,信息都需再录入。

课程设计要交上去了,但在下面,我们还是会努力将它完善的。

因篇幅问题不能全部显示,请点此查看更多更全内容