c实训报告及其程序代码doc.docx
- 文档编号:10652628
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:44
- 大小:238.45KB
c实训报告及其程序代码doc.docx
《c实训报告及其程序代码doc.docx》由会员分享,可在线阅读,更多相关《c实训报告及其程序代码doc.docx(44页珍藏版)》请在冰豆网上搜索。
c实训报告及其程序代码doc
郑州轻工业学院
实训报告
实训名称:
图书借阅管理系统的设计与实现
姓名:
院(系):
软件学院
专业班级:
网络管理
学号:
指导教师:
成绩:
时间:
2012年6月4日至2012年6月15日
郑州轻工业学院软件学院
学生实训任务书
一、题目
图书借阅管理系统的设计与实现
二、学生信息
专业学号
姓名
三、用户需求及约束条件
1.数据库中的数据要能够支持以下功能需求:
a)图书管理系统包括图书馆内书籍信息、读者信息、借阅信息、预约信息等。
b)此系统功能分为面向学生、教师、管理员三部分,其中学生与教师可以查看、借阅、续借、归还等操作,管理员可以对书籍和读者进行添加,删除和修改以及对学生借阅、续借、归还的确认。
四、功能模块
如下图,读者与管理员登录成功后分别有12个功能模块,带*号的模块为本实训的难点。
1模块中,读者可以根据出版社信息、书名、作者等进行书籍查找。
2、3、4项中,读者可以对每个书籍提出借阅等请求,这些请求需要管理员确认(模块10)。
这几个模块需要对数据库进行修改。
5模块中,读者可以查看某本书的具体信息,包括目录、内容简介等。
并可以看到例如(此块内容自己设计):
a都有哪些读者借阅此书;b借阅过此书的读者还借阅过其它什么书;c其它读者对此书的评论。
6模块中,借阅过某书的读者可以评论此书,系统需要检查此读者是否已经借阅此书。
7模块中,读者查看自己的个人信息,还有借阅历史、逾期未还的书籍、预约历史等
12模块中,管理员向逾期未还书籍的读者自动发邮件。
除了以上12个模块,系统必须实现一些规范检查。
例如,借阅书籍表中还书时间必须小于应还时间。
应还时间根据读者类型自动生成。
五、设计要求、技术参数及设计规格
1.设计的系统能够安全稳定运行。
2.提交实训报告,实训报告中给出需求分析、系统设计、功能设计、总结等(写出几个代表即可)。
3.所有的工作需要同学们自己真实、独立地完成。
六、时间安排
天/日期
任务描述
通过标准
2011.6.27
理解项目要求,按照要求整理数据库
给出需求分析
2011.6.29
完成系统登录
三种身份登录
2011.6.30
模块8、9的实现
2011.7.1
模块1的实现
2011.7.2
模块2、3、4、10的实现
2011.7.4
模块5的实现
2011.7.5
模块6、11的实现
2011.7.6
模块7的实现
2011.7.7
模块12的实现
2011.7.8
完成实训报告
六、考核形式、考核时间、考核指标及成绩评定
实训成绩由下面几项构成:
1)整个实训27次点名(每天上午下午各一次,时间点随机),共27分。
2)实训结果占43%
3)实训报告占30%
考核形式:
1)老师每日对学生的考察、评估和考核;
2)最后对实训项目和报告完成的质量进行考核和验收。
完成期限:
2012年7月8日
指导教师签章:
___
专业负责人签章:
教学院长签章:
2012年6月3日
一、需求分析
1、数据库中的数据要能够支持以下功能需求:
a)图书管理系统包括图书馆内书籍信息、读者信息、借阅信息、预约信息等。
b)此系统功能分为面向学生、教师、管理员三部分,其中学生与教师可以查看、借阅、续借、归还等操作,管理员可以对书籍和读者进行添加,删除和修改以及对学生借阅、续借、归还的确认。
2图书馆管理信息系统需要完成功能主要有:
1)读者基本信息的添加、修改、删除,包括读者编号、读者姓名、读者性别等。
2)图书信息的添加、修改、删除,包括图书编号、图书名称、图书类别、作者姓名、出版社名称等。
3)用户信息的添加、修改、删除,包括账号、密码、类型、权限等。
4)借书信息的输入,包括读者编号、图书编号、借书日期等。
5)图书信息的查询,包括图书编号、图书名称、图书类别、作者姓名、出版社名称等。
6)借书信息的查询,包括读者编号、读者姓名、图书编号、图书名称、借书日期等。
7)还书信息的输入,包括读者编号、图书编号、还书日期等。
8)续借图书信息的输入,包括读者编号、图书编号、续借时间等。
9)预约图书信息的输入,包括读者编号、图书编号、预约数量等。
··············
二、系统设计(功能模块结构)
1、读者查找图书功能模块
2、读者借阅图书功能模块
3、读者续借图书功能模块
4、读者归还图书功能模块
5、读者预约图书功能模块
6、读者查看个人信息功能模块
7、管理员管理图书信息功能模块
8、管理员管理读者信息功能模块
9、管理员管理用户信息功能模块
10、读者评论图书功能模块
11、提示读者还书功能模块
12、读者修改密码功能模块
三、功能设计(含代码)
1系统登录:
此系统功能分为面向学生、教师、管理员三部分,每部分的功能权限不相同(代码中包含提示读者还书)
privateint权限;
publicstaticstringx;
string状态;
privatevoidbutton1_Click(objectsender,EventArgse)
{
DateTimeeDate=DateTime.Now;
eDate=eDate.AddYears(10);
if(textBox1.Text==""||textBox2.Text=="")
{
MessageBox.Show("请先输入用户名和密码然后再登录");
return;
}
stringSQL="select权限from用户信息where帐户=";
SQL+=""+textBox1.Text.Trim()+"and密码='"+textBox2.Text.Trim()+"'and类型='"+comboBox1.Text.Trim()+"'";
stringSQL1="select状态,到期时间from借阅信息where读者编号="+textBox1.Text+"";
stringmyConStr="PersistSecurityInfo=True;InitialCatalog=图书借阅管理系统;";
myConStr+="DataSource=localhost\\sqlexpress;IntegratedSecurity=SSPI;";
SqlCommandmyCom=null;
SqlConnectionmyCon=null;
try
{
myCon=newSqlConnection(myConStr);
myCon.Open();
myCom=newSqlCommand(SQL,myCon);
SqlDataReaderrd=myCom.ExecuteReader();
if(rd.HasRows)
{
rd.Read();
权限=Convert.ToInt32(rd[0]);
label1.Visible=false;
label2.Visible=false;
label3.Visible=false;
label4.Visible=false;
comboBox1.Visible=false;
textBox1.Visible=false;
textBox2.Visible=false;
button1.Visible=false;
}
else
{
MessageBox.Show("没有这个用户名或密码不正确,请重新登录!
");
textBox1.Clear();
textBox2.Clear();
}
myCon.Close();
myCon.Open();
SqlCommandmyCom1=newSqlCommand(SQL1,myCon);
SqlDataReaderrd1=myCom1.ExecuteReader();
if(rd1.HasRows)
{
rd1.Read();
状态=Convert.ToString(rd1[0]);
eDate=Convert.ToDateTime(rd1[1]);
}
}
catch(SqlExceptionoe)
{
MessageBox.Show(oe.Message,"Error");
}
finally
{
if(myCon.State==ConnectionState.Open)
myCon.Close();
}
switch(权限)
{
case1:
图书信息ToolStripMenuItem.Enabled=true;
读者信息ToolStripMenuItem.Enabled=true;
借阅信息ToolStripMenuItem.Enabled=true;
用户信息ToolStripMenuItem.Enabled=true;
break;
case2:
个人信息ToolStripMenuItem.Enabled=true;
break;
default:
//MessageBox.Show("你没有使用本系统的权限");
break;
}
Form1.x=Convert.ToString(textBox1.Text);
if(状态=="借阅"||状态=="续借")
{
if(eDate MessageBox.Show("您有图书到期未还,请尽快归还! "); } } 2管理员管理读者信息: privatevoidForm3_Load(objectsender,EventArgse) { //TODO: 这行代码将数据加载到表“图书借阅管理系统DataSet2.读者信息”中。 您可以根据需要移动或移除它。 this.读者信息TableAdapter.Fill(this.图书借阅管理系统DataSet2.读者信息); this.textBox7.Text=(Navigator.Position+1).ToString(); this.label7.Text=Navigator.Count.ToString(); myCon=newSqlConnection(); myCom=newSqlCommand(); } privateSystem.Data.DataSetmyDS=null; privateSystem.Data.SqlClient.SqlDataAdaptermyAD=null; privateSystem.Data.SqlClient.SqlCommandmyCom=null; privateSystem.Data.SqlClient.SqlConnectionmyCon=null; privatevoidExecuteSQL(StringSQL) { stringmyConStr="PersistSecurityInfo=False;InitialCatalog=图书借阅管理系统;"; myConStr+="DataSource=localhost\\Sqlexpress;IntegratedSecurity=SSPI;"; myCon.ConnectionString=myConStr; try { myCon=newSqlConnection(myConStr); myCon.Open(); myCom=newSqlCommand(myConStr,myCon); myCom.CommandText=SQL; myCom.CommandType=CommandType.Text; myCom.Connection=myCon; myCom.ExecuteNonQuery(); myCom.CommandText="Select*From读者信息"; myDS=newDataSet(); myDS.Clear(); myAD=newSqlDataAdapter(); myAD.SelectCommand=myCom; myAD.Fill(myDS,"读者信息"); this.label7.Text=Navigator.Count.ToString(); } catch(SqlExceptionoe) { MessageBox.Show(oe.Message,"Error"); } finally { if(myCon.State==ConnectionState.Open) myCon.Close(); } } //添加信息// privatevoidbutton5_Click(objectsender,EventArgse) { stringinsStr="INSERTINTO读者信息(读者编号,姓名,读者类型,性别,年龄,院系,最大借阅数量,实际借阅数量,最大借阅时间,最大续借时间"; insStr+=")values("+textBox1.Text+",'"+textBox2.Text+"','"+textBox3.Text; insStr+="','"+textBox4.Text+"',"+textBox5.Text+",'"+textBox6.Text+"',"+textBox8.Text+","+textBox9.Text+","+textBox10.Text+","+textBox11.Text+")"; ExecuteSQL(insStr); this.读者信息TableAdapter.Fill(this.图书借阅管理系统DataSet2.读者信息); this.label7.Text=Navigator.Count.ToString(); } //删除信息// string状态; privatevoidbutton6_Click(objectsender,EventArgse) { stringSQL="select状态from借阅信息where读者编号="+textBox1.Text+""; stringmyConStr="PersistSecurityInfo=True;InitialCatalog=图书借阅管理系统;"; myConStr+="DataSource=localhost\\sqlexpress;IntegratedSecurity=SSPI;"; SqlConnectionmyCon=newSqlConnection(myConStr); try { myCon.Open(); SqlCommandmyCom=newSqlCommand(SQL,myCon); SqlDataReaderrd=myCom.ExecuteReader(); if(rd.HasRows) { rd.Read(); 状态=Convert.ToString(rd[0]); } else { MessageBox.Show("没有查询到该信息,请确认输入无误! ");return; } } catch(SqlExceptionoe) { MessageBox.Show(oe.Message,"Error"); } finally { if(myCon.State==ConnectionState.Open) myCon.Close(); } if(this.textBox1.Text=="") { MessageBox.Show("必须输入'读者编号',才能进行删除"); return; } else { if(状态=="归还") { if(MessageBox.Show("必须要删除吗? ","确认",MessageBoxButtons.OKCancel)==DialogResult.Cancel) return; stringdelStr="deletefrom读者信息where读者编号="; delStr+=this.textBox1.Text; ExecuteSQL(delStr); this.读者信息TableAdapter.Fill(this.图书借阅管理系统DataSet2.读者信息); this.label7.Text=Navigator.Count.ToString(); } elseMessageBox.Show("次读者有图书未归还,请先归还图书! "); } } //修改信息// privatevoidbutton7_Click(objectsender,EventArgse) { if(this.textBox1.Text=="") { MessageBox.Show("必须输入读者编号,才能进行更新"); return; } else { if(MessageBox.Show("必须要更新吗? ","确认",MessageBoxButtons.OKCancel)==DialogResult.Cancel) return; stringupStr="UPDATE读者信息Set姓名='"+textBox2.Text; upStr+="',读者类型='"+textBox3.Text+"',性别='"+textBox4.Text+"',最大借阅数量="+textBox8.Text+",实际借阅数量="+textBox9.Text; upStr+=",年龄="+textBox5.Text+",院系='"+textBox6.Text+"',最大借阅时间="+textBox10.Text+",最大续借时间="+textBox11.Text; upStr+="where读者编号="+textBox1.Text; ExecuteSQL(upStr); this.读者信息TableAdapter.Fill(this.图书借阅管理系统DataSet2.读者信息); } } //清除信息// privatevoidbutton8_Click(objectsender,EventArgse) { textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); textBox4.Clear(); textBox5.Clear(); textBox6.Clear(); textBox8.Clear(); textBox9.Clear(); textBox10.Clear(); textBox11.Clear(); } //返回// privatevoidbutton9_Click(objectsender,EventArgse) { if(MessageBox.Show("确定要离开? ","确认",MessageBoxButtons.OKCancel)==DialogResult.OK) this.Close(); } //到第一个// privatevoidbutton1_Click(objectsender,EventArgse) { Navigator.Position=0; } //到最后一个// privatevoidbutton2_Click(objectsender,EventArgse) { Navigator.Position=Navigator.Count-1; } //到上一个// privatevoidbutton3_Click(objectsender,EventArgse) { if(Navigator.Position==0) Navigator.Position=Navigator.Count-1; else Navigator.Position-=1; } //到下一个// privatevoidbutton4_Click(objectsender,EventArgse) { if(Navigator.Position==Navigator.Count-1) Navigator.Position=0; else Navigator.Position+=1; } //跳转事件// privatevoidtextBox7_KeyDown(objectsender,KeyEventArgse) { if(e.KeyValue==13) Navigator.Position=Int32.Parse(textBox7.Text)-1; } } 3管理员管理图书信息: 4管理员管理用户信息 (代码略)(代码略) 5读者查看个人借阅信息: //图书续借// int续借时间,最大续借时间; privatevoidbutton2_Click(objectsender,EventArgse) { stringSQL="select最大续借时间from读者信息where读者编号="+textBox1.Text+""; stringSQL1="select状态from借阅信息where图书编号="+textBox2.Text+"and读者编号="+textBox1.Text+""; stringmyConStr="PersistSecurityInfo=True;InitialCatalog=图书借阅管理系统;"; myConStr+="DataSource=localhost\\sqlexpress;IntegratedSecurity=SSPI;"; SqlConnectio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 报告 及其 程序代码 doc