《C#程序设计课程设计综合文档.doc》由会员分享,可在线阅读,更多相关《C#程序设计课程设计综合文档.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计(论文)任务书 软件 学院软件(网络工程) 专业 20124班 一、课程设计(论文)题目 图书借阅管理系统 二、课程设计(论文)工作自 2015 年 1 月 5日起至 2015 年 1 月 9 日止。三、课程设计(论文) 地点: 创新大楼机房 四、课程设计(论文)内容要求:1本课程设计的目的 (1)通过课程设计把课堂上讲的内容融会贯通,学会设计程序、开发应用软件等各项工作。 (2)通过课程设计掌握语言的语法,理解类和对象的概念,准确的使用各种数据类型,在程序中提高代码的重用性,使设计的程序结构清晰、易于维护。(3)通过课程设计掌握C#应用程序的编写方法和步骤;掌握程序开发的基本技术。2
2、课程设计的任务及要求1)基本要求:1、根据题目要求设计好类及相应的功能2、代码开发过程中注意几条原则:代码不重复、开闭原则和针对接口编程原则。3、完成题目要求的所有功能2)创新要求: 在基本要求达到后,可进行创新设计,如改善用户体验、友好的人机界面或增加特色功能等。3)课程设计论文编写要求(1)要按照书稿的规格打印与写课程设计论文 (2)论文包括目录、正文、小结和参考文献四个部分;其中正文包括功能描述、设计思路、具体实现及调试和运行结果等四个部分 (3)课程设计论文装订按学校的统一要求完成4)答辩与评分标准: (1)考勤与学习态度:20分; (2)设计思路:20分;(3)代码实现:20分;(4
3、)演示答辩:20分;(5)论文规范性:20分。5)课程设计进度安排内容 天数地点构思及收集资料 1 图书馆设计、编码与调试 3实验室、图书馆撰写论文 1图书馆、实验室学生签名: 2015 年 1月 5 日课程设计(论文)评审意见(1)考勤与态度 (20分):优()、良()、中()、一般()、差(); (2)设计思路(20分):优()、良()、中()、一般()、差(); (3)代码实现(20分):优()、良()、中()、一般()、差();(4)演示答辩 (20分):优()、良()、中()、一般()、差();(5)论文规范性 (20分):优()、良()、中()、一般()、差();评阅人: 职称:
4、讲师 2015年 1月 12日目 录目录目 录- 1 -正 文- 2 -一、功能描述- 2 -二、设计思路- 3 -三、具体实现- 7 -登录界面主要代码:- 7 -主界面代码:- 10 -借阅图书界面:- 12 -查询借阅信息后归还图书:- 16 -修改图书信息界面:- 21 -删除借书证界面- 25 -四、调试和运行结果- 27 -小结- 30 -参考文献- 31 -正 文一、功能描述随着社会发展的日新月异,社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理书籍。图书馆各项工作(如采购、编目等)都
5、要围绕读者服务工作来开展。图书流通的好坏取决于管理工作,在图书流通工作中有大量各种繁杂的手续,如读者登记、预约、各种借还、续借、罚款以及各种统计记录等。这些大量的重复性工作仅仅靠手工流通管理就难以应付,经常出现读者排队的现象。因此,要想充分利用图书资料,掌握图书流通的各种信息.就必须采用新技术。当前,基于网络学习平台的不断发展,就需要一个功能比较完善的数据管理系统,具有数据操作方便、高效、迅速、功能强大等优点。既满足了图书馆工作人员的用自动化代替手工劳动的强烈要求,又满足广大读者以最快的速度查找到所需要的文献资料。从而提高文献的利用率,减低拒借率,并为采购文献提供定量依据,提高藏书质盘。借助于
6、网络平台进行信息的管理,基于网络的电子书籍给人们的学习带了很多方便,人们可以在网上进行电子书籍阅览、还可以进行图书的借阅,这些都给人们带来了前所未有的便利。借助数字图书馆系统图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借注册的用户名和密码登录系统,对本人的借书情况进行查询。图书借阅者只应该查询本人的借书情况。图书馆管理功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、图书的基本信息;浏览、查询、统计和删除图书借阅者的基本信息,浏览、查询、统计图
7、书馆的借阅信息,可以为图书借阅者加入借书记录或是还书记录,在删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。 系统主要完成以下几个功能:l 登录用户信息的查询、修改与删除;l 借阅者的基本信息查询与更新;l 库存图书的基本信息查询与更新;l 借阅、归还信息的查询与更新;二、设计思路图书借阅管理系统的顶层数据流图: 图书管理系统的功能主要功能有:用户注册、登录、修改信息、注销;读者借书、还书;书籍信息录入、查询、修改、删除;按功能要求建立的E-R图:用户实体属性图读者实体属性图图书实体属性图关系属性图实体关系E-R图具体功能流程如下:用户注册顺序图用户登录使用顺序图三、
8、具体实现有了设计思路之后就是具体实现的过程,具体实现就是在visual studio上进行编程,在这次报告中,我截取了系统中比较重要,具有代表性的部分的代码,并截取了软件运行时的界面。下面是主要代码部分。登录界面主要代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using Syste
9、m.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication1 public partial class Form1 : Form public Form1() InitializeComponent(); textBox2.UseSystemPasswordChar = true; comboBox1.Text = 管理员; comboBox1.Items.Add(学生); comboBox1.Items.Add(管理员); private void button2_Click_1(object s
10、ender, EventArgs e) DialogResult dr = MessageBox.Show(是否退出程序!, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dr = DialogResult.Yes) this.Close(); else return; private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) Form6 a = new Form6(); a.Show(); private void
11、 button1_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(用户名不能为空!); else if (textBox2.Text = ) MessageBox.Show(密码不能为空!); else string con = server=ASUS;database=ZC_NXT;user=sa;password=hxys; string sql = select * from admin where admin_id= + textBox1.Text + and pass= + textBox
12、2.Text + and class= + comboBox1.Text + ; SqlConnection connection = new SqlConnection(con); connection.Open(); SqlCommand com = new SqlCommand(sql, connection); int sre = Convert.ToInt32(com.ExecuteScalar(); if (sre = 0) MessageBox.Show(登录失败!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); e
13、lse if(comboBox1.Text = 管理员) /MessageBox.Show(登录成功!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); Form2 a = new Form2(); a.Show(); else Form4 a = new Form4(); a.Show(); private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) comboBox1.SelectAll(); 主界面代码:using System;using S
14、ystem.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication1 public partial class Form2 : Form public Form2() Ini
15、tializeComponent(); private void button1_Click(object sender, EventArgs e) Form5 a = new Form5(); a.Show(); private void button2_Click(object sender, EventArgs e) Form8 a = new Form8(); a.Show(); private void 退出ToolStripMenuItem_Click_1(object sender, EventArgs e) this.Close(); private void 库存图书信息To
16、olStripMenuItem_Click_1(object sender, EventArgs e) Form10 a = new Form10(); a.Show(); private void 还书操作ToolStripMenuItem_Click(object sender, EventArgs e) Form8 a = new Form8(); a.Show(); private void 借书操作ToolStripMenuItem_Click(object sender, EventArgs e) Form5 a = new Form5(); a.Show(); private v
17、oid 借阅信息ToolStripMenuItem_Click(object sender, EventArgs e) Form4 a = new Form4(); a.Show(); private void 借书证号信息ToolStripMenuItem_Click(object sender, EventArgs e) Form9 a = new Form9(); a.Show(); private void 添加图书ToolStripMenuItem1_Click(object sender, EventArgs e) Form3 a = new Form3(); a.Show();
18、private void 添加借书证ToolStripMenuItem1_Click(object sender, EventArgs e) Form7 a = new Form7(); a.Show(); private void 修改图书信息ToolStripMenuItem_Click(object sender, EventArgs e) Form11 a = new Form11(); a.Show(); private void 删除图书信息ToolStripMenuItem_Click(object sender, EventArgs e) Form13 a = new Form
19、13(); a.Show(); private void 删除借书证ToolStripMenuItem_Click(object sender, EventArgs e) Form12 a = new Form12(); a.Show(); 借阅图书界面:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.
20、Tasks;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication1 public partial class Form5 : Form public Form5() InitializeComponent(); dateTimePicker1.Format = DateTimePickerFormat.Custom; textBox1.Focus(); private void button2_Click(object sender, EventArgs e) this.
21、Close(); private void button1_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(借书证号不能为空!); else if (textBox2.Text = ) MessageBox.Show(书号不能为空!); else try string con = server=ASUS;database=ZC_NXT;user=sa;password=hxys; string sql1 = select rno from Reader where rno = + textBox1.
22、Text + ; /查询是否有该账号 string sql2 = select number from Book where bno= + textBox2.Text + ; string sql4 = insert into borret(bno,rno,btime,bnum) values( + textBox2.Text + , + textBox1.Text + , + dateTimePicker1.Text + , + numericUpDown1.Value + ); /借书操作 string sql7 = select bno from Book where bno = + t
23、extBox2.Text +; /查询图书是否存在 SqlConnection connection1 = new SqlConnection(con); connection1.Open(); SqlCommand com1 = new SqlCommand(sql1, connection1); SqlDataReader sdr = com1.ExecuteReader(); sdr.Read(); if (sdr.HasRows) /MessageBox.Show(正确借书证号!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information
24、); SqlConnection connection7 = new SqlConnection(con); connection7.Open(); SqlCommand com7 = new SqlCommand(sql7, connection7); int sre7 = Convert.ToInt32(com7.ExecuteScalar(); if (sre7 = 0) MessageBox.Show(请借阅已有图书!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else SqlConnection connectio
25、n2 = new SqlConnection(con); connection2.Open(); SqlCommand com = new SqlCommand(sql2, connection2); int num = Convert.ToInt32(com.ExecuteScalar(); int bnum = Convert.ToInt32(numericUpDown1.Value); int n1 = num - bnum; if(bnumnum) MessageBox.Show(您要借阅的书籍已借完!, 提示, MessageBoxButtons.OK, MessageBoxIcon
26、.Information); else /MessageBox.Show(请借阅!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); SqlConnection connection4 = new SqlConnection(con); connection4.Open(); SqlCommand com4 = new SqlCommand(sql4, connection4); int sre = Convert.ToInt32(com4.ExecuteNonQuery(); if (sre = 0) MessageBox.Sho
27、w(借阅失败!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else string sql3 = update Book set number= + n1 + where bno= + textBox2.Text + ; SqlConnection connection3 = new SqlConnection(con); connection3.Open(); SqlCommand com3 = new SqlCommand(sql3, connection3); com3.ExecuteNonQuery(); Messag
28、eBox.Show(借阅成功!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show(请使用正确借书证号!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); catch(Exception ex) MessageBox.Show(ex.Message); private void Form5_Shown(object sender, EventArgs e) this.textBox1.Focus(); 查询借阅信息后归还图书:usi
29、ng System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication1 public partial class Form8 : Form p
30、ublic Form8() InitializeComponent(); dateTimePicker1.Format = DateTimePickerFormat.Custom; textBox1.Focus(); private void button1_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(借书证号不能为空!); else try string con = server=ASUS;database=ZC_NXT;user=sa;password=hxys; string sql =
31、select DISTINCT rno 借书证号,Book.bno 书号,bname 书名,bnum 借出数,btime 借出时间,rnum 归还数,rtime 归还时间 from Borret,Book WHERE Borret.bno=Book.bno and rno= + textBox1.Text + ; SqlDataAdapter da = new SqlDataAdapter(sql, con); DataSet ds = new DataSet(); da.Fill(ds, all); dataGridView1.DataSource = ds; dataGridView1.DataSource = ds.Tablesall; ds.Dispose(); da