c课程设计报告_第1页
c课程设计报告_第2页
c课程设计报告_第3页
c课程设计报告_第4页
c课程设计报告_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《.net程序设计基础》课程设计报告题目:.net程序设计基础专业:软件工程班级:姓名:学号:指导教师:时间:摘要本文描述的是基于Windows环境的学生信息管理系统,重要功能模块涉及:学生信查询,学生信息管理,学生成绩录入,重要工具MicrosoftVisualStudio2023设计窗体,SQLserver2023建立数据库,实现学校信息管理的各个功能,使用语言为C#。本篇报告介绍一个学生信息管理系统的从分析到设计最后到开发的全过程为,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。涉及到学生信息管理的基本功能在本报告中都有相应的描述。关键字:C#学生成绩管理系统SQL目录TOC\o"1-1"\h\u5019一、课程设计的目的 117250二、系统需求 217413三、系统设计 321862四、系统实现 824018五、系统测试 1427536六、课设总结与体会 1530530参考文献 1630621附录 17课程设计的目的本课程设计的目的是使学生能纯熟掌握简朴的简朴Windows窗体应用程序的设计和ADO.net的应用,希望通过本次课程设计锻炼学生使用C#语言解决实际问题的能力。《C#程序设计》是软件工程专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是软件技术专业学生学习完《C#程序设计》课程后,进行的一次全面的综合训练,C#程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,运用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。系统需求2.1系统需求简介根据查询条件实现学生信息的查询学生选课信息查询、成绩信息的查询学生信息、课程信息、成绩信息的增长、删除、修改对基本信息完毕增长、删除、修改时,需注意表与表之间的关联本系统的功能需求分析如下:学生信息查询:学生可以根据学号、姓名、专业进行查询.学生信息管理:重要是用于学生信息更新、插入、删除;学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新;登录、用户界面需求:简洁、易懂、易用、和谐的用户界面。安全保密性需求:只有凭借用户名和密码登陆系统,才干进行信息的管理等。系统设计3.1设计概述根据需求把整个系统分化成不同的模块,每个模块完毕一个特定的子功能。把这些模块结合起来组成一个整体。逐个实现各个功能;3.2系统总体结构及功能模块划分学生学生成绩录入学生信息管理学生信息管理系统学生信息查询学生信息查询学号查询姓名查询学生信息查询:学生可以根据学号学生信息查询学号查询姓名查询基本信息录入成绩录入基本信息更新成绩更新学生基本信息录入成绩录入基本信息更新成绩更新学生信息删除学生信息录入学生信息管理学生信息更新3.3系统数据库概念结构设计根据对数据项与数据结构的分析,设计出可以满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表达明白。如图3.3.1系统E-R图结构。课程表课程表成绩学号课程号号成绩表选课学生表学号姓名生日系名总成绩备注性别学分学生人数开课时间课程名课程号考核 综合以上分析,要实现上面的所有功能模块,重要设计表如下:3.4安全保密设计系统设计了登录界面,每个合法用户有用户名及一个密码,只有当用户输入对的的用户名及密码组合后才可以对学生信息进行操作。

系统实现4.1概述系统实现阶段的主线目的是用代码开发出系统,也就是说,通过这个阶段的实现工作,应当得出实际的目的系统,把设计结果直接翻译成用某种程序设计语言书写的程序。4.2系统程序流程图程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。它可将整个程序的总体流程清楚明白的显示出来。如图4.2.1系统总流程图结构。4.3系统重要功能模块简介用户凭借用户名及密码登录,成功登录后可对学生信息进行操作。用户界面如图4.3.1用户登录界面所示。学生信息查询:在程序主界面(如图4.3.2程序主界面)学生可以根据学号、姓名进行查询。学生也可以只用一种条件进行信息查询,也可以多个条件查询。双击记录任一单元格可显示学生的更具体信息(如图4.3.3具体信息窗口)。学生信息管理:通过右击程序主界面的相应记录弹出的上下文菜单(如图4.3.4上下文菜单)可对当前选定学生信息进行具体信息查询(如图4.3.3具体信息窗口)、修改信息(如图4.3.5修改信息窗口)、删除信息(如图4.3.6删除信息提醒)。更新时假如输入的学号不存在,可选择是否添加学生信息。通过程序主界面的新建信息记录可添加学生信息(如图4.3.7添加信息窗口)。图4.3.5修改信息窗口系统测试对系统进行数据的增删改查四大操作的时候,基本没出现什么错误,可以实现基本功能,满足课程设计规定。课设总结与体会为期两周的课程设计结束了,在老师和同学的帮助下,我基本完毕系统的设计。我按照系统工程软件设计的规定,从需求分析,概念设计,总体设计,具体设计,系统测试等各个环节,分步完毕系统的各项任务,实现了系统中的学生信息查询,学生信息更新,学生信息添加等模块的功能。在这几天里我收获如下:1、巩固和加深了对C#的理解,提高综合运用本课程所学知识的能力。2、培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,进一步研究,分析问题、解决问题的能力。3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。根据我在课程设计中碰到的问题,我将在以后的学习当中注意以下几点:1、认真上好专业实验课,多在实践中锻炼自己。2、写程序的过程中要考虑周到,严密。3、在做设计的时候要有信心,有耐心,切勿浮躁。4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。5、在课余时间里多写程序,纯熟掌握在调试程序的过程中所碰到的常见错误,以便能节省调试程序的时间。参考文献《c#课程设计案例精编》清华大学出版社段德亮余健《VisualC#2023入门到精通》清华大学出版社周靖《SQLServer2023数据库原理及应用》高等教育出版社附录公共类代码设计namespaceMySql{publicclassmySql{publicStringconnectionString=@"SERVER=.\SQLEXPRESS;AttachDbFilename=D:\学习\C#\课程设计\StuScoreManSystem\StuScoreManSystem\StuScoManSys.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True;";publicStringcommondText;publicboolflag;//指示有条该条记录publicSystem.Data.DataViewtable;publicvoidrunSql()//执行查询、删除SQL语句{using(SqlConnectionconnection=newSqlConnection(connectionString)){connection.Open();SqlCommandcmdQuery=newSqlCommand(commondText,connection);SqlDataAdaptersda=newSqlDataAdapter(commondText,connection);DataSetds=newDataSet();sda.Fill(ds);if(commondText.IndexOf("SELECT")>=0){table=ds.Tables[0].DefaultView;}connection.Close();}}publicboolgetFlag()//判断是否有该条记录{using(SqlConnectionconnection=newSqlConnection(connectionString)){connection.Open();SqlCommandcmdQuery=newSqlCommand(commondText,connection);SqlDataReaderreader=cmdQuery.ExecuteReader();if(reader.Read())flag=true;elseflag=false;reader.Close();connection.Close();returnflag;}}publicStringgetContent(Stringrequire,StringSNO)//获取视图表的的指定单元格内容{try{commondText="SELECT"+require+"FROMdetailWHERE学号="+SNO;if(require=="up课程名称")commondText="SELECT课程名称FROMdetailWHERE学号="+SNO;if(require=="up成绩")commondText="SELECT成绩FROMdetailWHERE学号="+SNO;SqlDataAdaptersda=newSqlDataAdapter(commondText,connectionString);DataSetds=newDataSet();sda.Fill(ds);Stringresult="";if(require=="课程名称"||require=="成绩"){inti=newint();for(i=0;i<ds.Tables[0].Rows.Count;i++){result=result+ds.Tables[0].Rows[i][require].ToString()+"\n";}}elseresult=ds.Tables[0].Rows[0][require].ToString().Trim();returnresult;}catch{return"无";}}publicvoidupdate(){//添加、更新语句try{using(SqlConnectionconnection=newSqlConnection(connectionString)){connection.Open();SqlCommandcmdInsert=newSqlCommand(commondText,connection);cmdInsert.ExecuteNonQuery();connection.Close();}}catch(Exceptionex){MessageBox.Show(ex.ToString(),"提醒");}}}}登录界面代码设计privatevoidlogin_Click(objectsender,EventArgse){//用户名及密码组合判断if(username.Text.ToString().Trim()!=""&&password.Text.ToString().Trim()!=""){mySqlsql=newmySql();mondText="SELECT*FROMuserdataWHEREUSERNAME='"+username.Text.ToString().Trim()+"'ANDPASSWORD='"+password.Text.ToString().Trim()+"'";try{booltemp=newbool();temp=sql.getFlag();if(temp){this.Visible=false;mainfacemain=newmainface(this);main.Show();}}catch(Exceptionex){MessageBox.Show(ex.ToString(),"提醒");}}else{MessageBox.Show("请输入用户名和密码","提醒");}}查询模块代码设计privatevoidbtQuery_Click(objectsender,EventArgse){mySqlquery=newmySql();if(sNInput.Text.Trim()==""&&sNoinput.Text.Trim()!="")mondText="SELECTSNOAS学号,SNAS姓名,MNAS专业名称,SEXAS性别,BIRDAYAS出生日期,TSAS总学分,COMAS备注FROMSWHERESNO="+sNoinput.Text.Trim()+"";if(sNInput.Text.Trim()!=""&&sNoinput.Text.Trim()=="")mondText="SELECTSNOAS学号,SNAS姓名,MNAS专业名称,SEXAS性别,BIRDAYAS出生日期,TSAS总学分,COMAS备注FROMSWHERESN='"+sNInput.Text.Trim()+"'";if(sNInput.Text.Trim()!=""&&sNoinput.Text.Trim()!="")mondText="SELECTSNOAS学号,SNAS姓名,MNAS专业名称,SEXAS性别,BIRDAYAS出生日期,TSAS总学分,COMAS备注FROMSWHERESN='"+sNInput.Text.Trim()+"'andSNO="+sNoinput.Text.Trim()+"";if(sNInput.Text.Trim()==""&&sNoinput.Text.Trim()=="")MessageBox.Show("您输入的信息为空,请重新输入!","错误信息");else{if(query.getFlag()){query.runSql();dataGridView1.DataSource=query.table;}elseMessageBox.Show("您查找的信息不存在","错误信息");}}添加模块代码设计privatevoidaddbtOK_Click(objectsender,EventArgse){if(addStuNo.Text.Trim()!=""&&addStuName.Text.Trim()!=""&&addStuMajor.Text.Trim()!=""){mySqlsql=newmySql();mondText="SELECTCNOFROMCWHERECN='"+listmn.Text.ToString().Trim()+"'";sql.runSql();Stringtemp=sql.table.Table.Rows[0]["CNO"].ToString();StringsexTemp=radioButton1.Checked?"男":"女";StringcomTemp;if(addStuCom.Text.ToString().Trim()=="")comTemp="";elsecomTemp=addStuCom.Text.ToString().Trim();StringbirTemp="";if(addStuBir.Text.ToString().Trim()=="")comTemp="";elsebirTemp=addStuCom.Text.ToString().Trim();mondText="INSERTINTOS(SNO,SN,MN,SEX,BIRDAY,COM)VALUES("+addStuNo.Text.ToString().Trim()+",'"+addStuName.Text.ToString().Trim()+"','"+addStuMajor.Text.ToString().Trim()+"','"+sexTemp+"','"+birTemp+"','"+comTemp+"');";sql.update();if(score.Text.ToString().Trim()!=""){mondText="INSERTINTOSC(SNO,CNO,SCORE)VALUES("+addStuNo.Text.ToString().Trim()+","+temp+","+score.Text.ToString().Trim()+");";sql.update();}this.Close();}else{MessageBox.Show("学号、姓名和专业名称都不可认为空!!!","错误!");}}privatevoidAddNew_Load(objectsender,EventArgse){//获取专业列表mySqlsql=newmySql();mondText="SELECTDISTINCTCNFROMC";SqlDataAdaptersda=newSqlDataAdapter(mondText,sql.connectionString);DataSetds=newDataSet();sda.Fill(ds);listmn.DataSource=ds.Tables[0].DefaultView;listmn.DisplayMember="CN";listmn.DisplayMember=listmn.DisplayMember.ToString().Trim();}更新模块代码设计privatevoidupbtOK_Click(objectsender,EventArgse){mySqlsql=newmySql();mondText="SELECT学号FROMdetailWHERE学号="+upStuNo.Text.ToString().Trim();boolflagtemp=sql.getFlag();if(!flagtemp)//假如表中无该条记录,提醒是否进行添加新记录操作{if(MessageBox.Show("查无当前记录,无法进行更新操作!\n是否进行添加新记录的操作?","提醒",MessageBoxButtons.OKCancel)==DialogResult.OK){if(upStuNo.Text.Trim()!=""&&upStuName.Text.Trim()!=""&&upStuMajor.Text.Trim()!=""){mySqlsqlme=newmySql();mondText="SELECTCNOFROMCWHERECN='"+listmn.Text.ToString().Trim()+"'";sqlme.runSql();Stringtemp=sqlme.table.Table.Rows[0]["CNO"].ToString();//课程号StringsexTemp=radioButton1.Checked?"男":"女";StringcomTemp;if(upStuCom.Text.ToString().Trim()=="")comTemp="";elsecomTemp=upStuCom.Text.ToString().Trim();StringbirTemp;if(upStuBir.Text.ToString().Trim()=="")birTemp="";elsebirTemp=upStuCom.Text.ToString().Trim();mondText="INSERTINTOS(SNO,SN,MN,SEX,BIRDAY,COM)VALUES("+upStuNo.Text.ToString().Trim()+",'"+upStuName.Text.ToString().Trim()+"','"+upStuMajor.Text.ToString().Trim()+"','"+sexTemp+"','"+birTemp+"','"+comTemp+"');";sqlme.update();if(upStuScore.Text.ToString().Trim()!=""){mondText="INSERTINTOSC(SNO,CNO,SCORE)VALUES("+upStuNo.Text.ToString().Trim()+","+temp+","+upStuScore.Text.ToString().Trim()+");";sqlme.update();}this.Close();}else{MessageBox.Show("学号、姓名和专业名称都不可认为空!!!","错误!");}}}else{if(upStuNo.Text.Trim()!=""&&upStuName.Text.Trim()!=""&&upStuMajor.Text.Trim()!=""){mondText="SELECTCNOFROMCWHERECN='"+listmn.Text.ToString().Trim()+"'";sql.runSql();Stringtemp=sql.table.Table.Rows[0]["CNO"].ToString();//获取课程号StringsexTemp=radioButton1.Checked?"男":"女";StringcomTemp;if(upStuCom.Text.ToString().Trim()=="")comTemp="";elsecomTemp=upStuCom.Text.ToString().Trim();StringbirTemp;if(upStuBir.Text.ToString().Trim()=="")birTemp="";elsebirTemp=upStuBir.Text.ToString().Trim();mondText="UPDATESSETSN='"+upStuName.Text.ToString().Trim()+"',MN='"+upStuMajor.Text.ToString().Trim()+"',SEX='"+sexTemp+"',BIRDAY='"+upStuBir.Text.ToString().Trim()+"',COM='"+comTemp+"'WHERESNO="+upStuNo.Text.ToString().Trim();sql.update();boolscFlag=newbool();if(upStuScore.Text.ToString().Trim()!=""){try{mySqlscTemp=newmySql();scTmondText="SELECTCNOFROMCWHERECN='"+listmn.Text.ToString().Trim()+"'";scTemp.runSql();Stringcntemp=scTemp.table.Table.Rows[0]["CNO"].ToString

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论