博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
StarkSoft题库管理系统
阅读量:6478 次
发布时间:2019-06-23

本文共 5143 字,大约阅读时间需要 17 分钟。

一、功能介绍

    1、自定义试题库管理系统目录、难易程度,题型,知识库等。
    2、试题录入。
    3、强大的试题编辑功能,并与通常应用编辑工具有共通。
    4、灵活的试卷构造功能,用户可自定义试卷标题、试题分类,试题数量、总分、试题难度系数等。
    5、人工生成试卷和自动生成试卷文档格式标准通用。能够合理使用,有效再编辑,保存,方便浏览和打印输出。
    6、题库管理,可以随时分散和集中管理题库数据。
二、菜单功能
    1、基础数据维护:试题分类设置;题型设置;难易程度;知识点库设置
    2、题库管理:试题录入
    3、试卷管理:人工生成试卷;自动生成试卷;试卷库管理

 

登录界面:

 

主界面:

 

试题科目设置:

 

题型设置:

.

 

试题程度设置:

 

知识点设置:

 

试题录入:

 

人工生成试卷:

 

自动生成试卷:

 

自动生成试卷:

 

试题库管理:

 

生成试卷预览生成试卷预览代码:
///         /// 生成试卷预览        ///         private void PreviewPapaer()        {            tabControl1.SelectedTabIndex = 1;//调整到预览选项卡            richTextBox3.Clear();            richTextBox4.Clear();            try            {                //1.试卷名称、标题                string sjtm = txtSjName.Text.Trim();                richTextBox3.AppendText(sjtm + "\r\n\n");//试卷名称                richTextBox3.Select(0, sjtm.Length);//选中范围                richTextBox3.SelectionAlignment = HorizontalAlignment.Center;//居中                ChangeFontSize(14, richTextBox3);//设置字体                ChangeFont("宋体", richTextBox3);//设置字体大小                string sjtitle = txtSjTitle.Text.Trim();                richTextBox3.AppendText(sjtitle + "\r\n\n");//试卷标题                        richTextBox3.Select(sjtm.Length, sjtitle.Length);//选中范围                richTextBox3.SelectionAlignment = HorizontalAlignment.Center;//居中                ChangeFontSize(12, richTextBox3);//设置字体                ChangeFont("宋体", richTextBox3);//设置字体大小                string answername = sjtm + "参考答案";                richTextBox4.AppendText(answername + "\r\n");//答案试卷名称                richTextBox4.Select(0, answername.Length);//选中范围                richTextBox4.SelectionAlignment = HorizontalAlignment.Center;//居中                ChangeFontSize(14, richTextBox4);//设置字体                ChangeFont("宋体", richTextBox4);//设置字体大小                //2.写入题型(一、单选题 二、多选题......)                int xh = 0;                DataTable dt = DataBaseAccess.GetDataTable("select * from base_tx order by sort");                for (int i = 0; i < dt.Rows.Count; i++)                {                    int txid = Convert.ToInt32(dt.Rows[i]["id"]);//题型ID                    //datatable表中数据按sort排序                    DataRow[] rows = dtxz.Select("xztxid=" + txid, "xzsort asc");                    DataTable dttemp = dtxz.Clone();                    dttemp.Clear();                    foreach (DataRow dr2 in rows)                    {                        dttemp.Rows.Add(dr2.ItemArray);                    }                    if (dttemp.Rows.Count != 0)//判断该类型是否选择了题目                    {                        xh = xh + 1;                        richTextBox3.SelectionStart = richTextBox3.Rtf.Length;//选中richTextBox3的标题换行后新的行开头                            ChangeFontSize(13, richTextBox3);//设置字体                        ChangeFont("宋体", richTextBox3);//设置字体大小                                          string txmc = PublicStaticFun.NumberToChinese((xh).ToString()) + "、" + dt.Rows[i]["name"].ToString();                        richTextBox3.AppendText(txmc + dt.Rows[i]["contents"] + "\r\n");//添加题型号(大写)                        richTextBox4.AppendText(txmc + "\r\n");//添加答案题型号(大写)                        //循环读出题目内容、答案                        for (int k = 0; k < dttemp.Rows.Count; k++)                        {                            //3.写入试题号(1、...)                            richTextBox3.AppendText((k + 1) + "、");//题目                            richTextBox4.AppendText((k + 1) + "、");//答案                            string sqlstr = @"select * from base_st where id=" + dttemp.Rows[k]["xzstid"] + "";                            DataTable dtst = DataBaseAccess.GetDataTable(sqlstr);                            //4.获取每题目、答案内容                            //获取题目内容                            if (dtst.Rows[0]["contents"].ToString() != "")                            {                                byte[] bWrite = (byte[])dtst.Rows[0]["contents"];//从数据库中读出数据                                //MemoryStream mstream = new MemoryStream(bWrite, false);//将数组转换成stream                                string contents = System.Text.Encoding.UTF8.GetString(bWrite, 0, bWrite.Length);                                richTextBox3.SelectedRtf = contents;//关键 数据库中题目内容(rtf格式)                            }                            //获取答案内容                            if (dtst.Rows[0]["answer"].ToString() != "")                            {                                byte[] bWrite2 = (byte[])dtst.Rows[0]["answer"];//从数据库中读出数据                                string anwer = System.Text.Encoding.UTF8.GetString(bWrite2, 0, bWrite2.Length);                                richTextBox4.SelectedRtf = anwer;                            }                                                    }                    }                    //换一类题型空一行                    richTextBox3.AppendText("\r\n");                    richTextBox4.AppendText("\r\n");                     }            }            catch (Exception ex)            {                MessageBoxEx.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);            }            //CreateWordFile(@"F:\1.doc");        }

 

完整源代码下载:

转载于:https://www.cnblogs.com/starksoft/p/3832448.html

你可能感兴趣的文章
如何从程序员到架构师,不断总结补充中
查看>>
使用Eclipse给Android App签名打包
查看>>
snort的规则
查看>>
阿里云解析企业版盛装上线,让你的解析更安全,90元/月起
查看>>
使用Powershell创建新森林,添加第一台域控制器
查看>>
路由跳数探测实现智能路由切换
查看>>
我的友情链接
查看>>
sql server 2005只有.mdf文件如何附加
查看>>
Nginx的Upstream负载均衡模块
查看>>
linux下防DDOS工具
查看>>
数据结构与算法入门1-线性表的顺序存储
查看>>
我的友情链接
查看>>
PHP Mysql数据库
查看>>
我的友情链接
查看>>
perl 时间戳转换为日期
查看>>
Arduino可穿戴教程保存源文件与打开已经存在的源文件
查看>>
Linux下压缩某个文件夹(文件夹打包)
查看>>
后门构建工具Backdoor Factory
查看>>
apache启动时提示httpd: Could not reliably determine the server's fully qualified domain name
查看>>
android相关教程收集
查看>>