c实训课程设计报告Word文档下载推荐.docx
《c实训课程设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c实训课程设计报告Word文档下载推荐.docx(35页珍藏版)》请在冰豆网上搜索。
主要任务包括:
1、程婷:
:
登陆窗体设计,登陆功能编程,连接数据库,SQLhelper。
2、南京:
教师登陆后的界面,选择题、填空题编辑功能的实现。
3、张威:
学生登陆界面,答案部分的增删改查,刷新试卷。
4、戴沈文:
总分界面,根据已编辑好的程序总分并存放至数据库。
二、开发环境及关键技术说明
开发环境介绍
操作系统:
Windows7
语言环境:
VisualStudio2012,SQlServer2012
所用语言:
c#语言
2、所使用的关键技术说明:
使用C#语言在VS2012上对各个窗体控件进行代码编辑,使各个控件发挥作用。
使用SQLServer语言添加存储过程,及c#窗体建立关系。
方便数据调用
三、实验安排情况
第一天:
分配任务,试运行开发环境,然后按照分工每个人开始进行自己基本的窗体设计;
第二天:
对各自设计的窗体上的各个控件进行进行代码编程
第三天:
对各自设计的窗体进行调试和修改代码错误并小组内讨论一些不懂的错误,一起加以修改。
第四天:
将所有窗体进行整合,并开始调试,对调试后的错误和bug进行修改,并对窗体进行美化工作。
第五天:
进行课程设计最后的验收,交流和答辩
四、系统总体设计
(一)给出功能模块的划分示意图,并添加简要文字说明。
(二)给出系统页面链接关系图
(三)数据表结构设计
1,Blank表里存储的是填空题的编号,题目和答案。
2,Choose表里存储的是选择题的编号,题目和答案。
3,Paper表里存储的是试卷的编号,选择题,填空题的题数和分数。
4.Score表里存储的是考试的成绩
5.User表里存储的是登录用户的用户名和密码
6.UserType表里存储的是用户的类型(即学生和老师)
五、详细设计
给出自己设计内容的详细设计说明
界面设计说明、功能逻辑分析、实现方法、页面预览效果等
1,登录界面:
(1)次界面有两个输入框,一个类型下拉框和两个Button按钮控件。
(2)填写用户名和密码选择用户类型即可登录该系统进入各自的系统界面。
主要代码如下:
privatevoidbtnLogin_Click(objectsender,EventArgse)
{
if(txtPassword.Text.Trim()!
="
"
&
&
txtUserName.Text.Trim()!
)
DataSetds=SQLHelper.SelectUserInfoByPwd(txtUserName.Text.Trim(),txtPassword.Text.Trim(),cboUserType.SelectedValue.ToString());
if(ds.Tables["
User"
].Rows.Count>
0)
if(cboUserType.SelectedValue.ToString()=="
2"
TeacherMainFormform=newTeacherMainForm();
form.Show();
this.Hide();
}
else
ExamFormform=newExamForm(ds);
MessageBox.Show("
用户名或密码错误!
);
输入用户名和密码"
"
提示"
MessageBoxButtons.OK,MessageBoxIcon.Information);
privatevoidLoginForm_Load(objectsender,EventArgse)
DataSetds=SQLHelper.GetUserType();
cboUserType.DataSource=ds.Tables["
UserType"
];
cboUserType.DisplayMember="
;
cboUserType.ValueMember="
id"
}
2,先登入老师所在的试题管理界面
登入教师管理界面后里有个试题管理下拉即会显示如下界面
主要代码:
privatevoidTeacherMainForm_FormClosed(objectsender,FormClosedEventArgse)
Application.Exit();
privatevoidtsmiChoose_Click(objectsender,EventArgse)
foreach(Formfinthis.MdiChildren)
if(f.Text=="
ChooseForm"
return;
ChooseFormform=newChooseForm();
form.MdiParent=this;
privatevoidtsmiBlank_Click(objectsender,EventArgse)
BlankForm"
BlankFormform=newBlankForm();
privatevoid试卷总分ToolStripMenuItem_Click(objectsender,EventArgse)
PaperFormform=newPaperForm();
3,在次界面中我们先点击选择题
在次界面可以实现选择题的添加删除的修改工作
privatevoidForm1_Load(objectsender,EventArgse)
DataSetds=SQLHelper.SelectChooseAll();
lvchoose.Items.Clear();
for(inti=0;
i<
ds.Tables["
choose"
].Rows.Count;
i++)
ListViewItemli=newListViewItem(ds.Tables["
].Rows[i][0].ToString());
li.ImageIndex=0;
lvchoose.Items.Add(li);
privatevoidbtnAdd_Click(objectsender,EventArgse)
stringsubject=rtbSubject.Rtf;
stringanswer="
if(radioButton1.Checked==true)answer="
A"
if(radioButton2.Checked==true)answer="
B"
if(radioButton3.Checked==true)answer="
C"
if(radioButton4.Checked==true)answer="
D"
if(rtbSubject.Text=="
||answer=="
题目信息不完整!
SQLHelper.InsertChoose(subject,answer);
Form1_Load(sender,e);
privatevoidrtbSubject_TextChanged(objectsender,EventArgse)
lblWarning.Visible=true;
privatevoidradioButton1_CheckedChanged(objectsender,EventArgse)
DataSetchoose;
privatevoidlvchoose_SelectedIndexChanged(objectsender,EventArgse)
if(lvchoose.SelectedItems.Count>
stringid=lvchoose.SelectedItems[0].Text;
choose=SQLHelper.SelectChooseById(id);
rtbSubject.Rtf=choose.Tables["
].Rows[0]["
Subject"
].ToString();
stringanswer=choose.Tables["
Answer"
if(answer=="
)radioButton1.Checked=true;
)radioButton2.Checked=true;
)radioButton3.Checked=true;
)radioButton4.Checked=true;
privatevoidlvchoose_MouseDown(objectsender,MouseEventArgse)
if(lblWarning.Visible==true)
DialogResultresult=MessageBox.Show("
试题已修改,是否保存?
MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if(DialogResult.Yes==result)
btnAdd_Click(sender,e);
lblWarning.Visible=false;
elseif(DialogResult.No==result)
}
privatevoidbtnDelete_Click(objectsender,EventArgse)
if(choose!
=null)
stringid=choose.Tables["
ID"