想做一个程序,请教大佬们给点思路
vb吧
全部回复
仅看楼主
level 8
tbzp666 楼主
出题程序
第一步,选择题类型,有A、B、C、D四个选项,正确选择只有一个,有限定时间(时间用倒计时方式,最好用扫雷格式上的数字符号),正确打√,错误打×(同时给出正确答案),同时计算得分,给定一段时间,自动跳入下一题(我在考虑是否用多个窗体,每个窗体保存一道选择题,这个思路立刻Pass掉,是否考虑从文件中抽取)
第二步,在第一步的基础上,同时设置两个人来答题,思路同上面一样
2022年12月02日 02点12分 1
level 8
tbzp666 楼主
2022年12月02日 02点12分 2
如果是抽取,怎么能随机抽取题目
2022年12月02日 05点12分
@tbzp666 你把题目编号,然后按照编号范围取随机数就可以了啊。
2022年12月02日 06点12分
@klimaa 思路是什么?把两个工程通过某种关系建立起来吗?关键是不会呀
2022年12月02日 07点12分
@tbzp666 就是你把题目编号,答案也编号,做成数组。比如Str(1,1)=题目,Str(1,2)=答案A,Str(1,3)=答案B。。。然后你BB=Random(),如果BB=1,Label1=Str(1,1),就是题目,Label2=Str(1,2),就是答案A,以此类推。不需要两个工程的。
2022年12月03日 13点12分
level 6
把题目——选项——答案存到txt文档里,分别建数组来读出来
2022年12月02日 02点12分 3
level 9
我给孩子做过一个2位数加减法练习的程序,和你的要求差不多,但没有选项。
至于显示用的数字,只需要多花点功夫。比如你可以一个一个截图下来。
还做过一个背单词的工具,是4个选择的,你看看是不是这样的。
2022年12月02日 03点12分 4
单选按钮不能做成控件数组么
2023年01月08日 13点01分
@tbzp666 可以啊,为什么这么问
2023年01月09日 15点01分
我试了一下,好像不行
2023年01月10日 10点01分
@tbzp666 可以啊,你放一个单选按钮,然后拷贝它,粘贴,回答yes就变成数组了,再试试
2023年01月11日 06点01分
level 9
思路就是可以用两个定时器,用数组保存题目和答案。其它的就比较简单了吧。
2022年12月02日 03点12分 5
level 8
tbzp666 楼主
@初音
七奈@隨風
缒夢@Luosen56@璐村惂鐢ㄦ埛_0748V5Z馃惥@余思培@青春的颜色
2022年12月03日 01点12分 6
level 8
tbzp666 楼主
第三步,如果是随机抽题,并且将ABCD四个选项打乱,怎么做
2022年12月03日 01点12分 7
洗牌法
2022年12月03日 09点12分
@总裁大人👻 算法是盲区啊,去查了一下洗牌算法,比我自己想的好。[大拇指]
2022年12月03日 14点12分
level 13
声明一个自定义变量类型
public type topic
question as string
option1 as string
option2 as string
option3 as string
option4 as string
answer as string
end type
定义一个数组来存储题目
dim arr(1 to 10) as topic
arr(1).question=题干
arr(1).option1=选项1
……
arr(1).answer=正确答案
我就提供一个思路,题库你可以从文件读取,也可以封装在模块里,抽题就抽取arr数组的下标就行了
2022年12月04日 06点12分 8
这个结构不方便打乱选项顺序,把四个选项合成一个数组比较好
2022年12月04日 06点12分
level 8
tbzp666 楼主
Open App.Path & "\出题程序.txt" For Input As #1
从文本文件读取中文字符出现乱码怎么解决
是加上Binary么
2023年01月08日 06点01分 10
可能是文件编码的问题,应该用ANSI编码保存文件,现在的系统默认用的编码是UTF-8
2023年01月08日 06点01分
谢谢大佬
2023年01月08日 13点01分
level 8
tbzp666 楼主
已经解决乱码问题,下步处理次序打乱问题
最简单有效的方法就是用记事本打开你的那个Txt文件,
然后选另存为,在编码方式那栏里选择Unicode或者ANSI
然后再用程序读文本内容就不是乱码
2023年01月08日 11点01分 11
level 9
Score是分数计算函数,参数为答案是否正确。
Answer为你知道的正确答案,
这里把选项文字作为答案,也可以用其它方式。
Private Sub Option1_Click(Index As Integer)
Call Score(Answer = Option1(Index).Caption)
End Sub
2023年01月12日 02点01分 14
level 8
tbzp666 楼主
重新修改一下程序,问题已经完美解决,大家看看还有什么地方需要精简
@klimaa,@空中熬翔,@初音七奈,@嘟嘟逸凡
感谢大家建议
代码如下
2023年01月30日 12点01分 20
level 8
tbzp666 楼主
2023年01月30日 13点01分 23
level 10
建立一个access数据库,数据诸如题目、答案、误导选项全部在数据库里,至于计算和计时器在工程里就行了,扫雷的倒计时我认为你可以把每张图片都扣下来然后结合picture和timer控件使用,我不知道picture能不能切换图像,但是建立一个数据组然后挨个可见是可行的
2023年02月02日 11点02分 24
没必要这么复杂,找个字体就完事了,具体方法你看28楼
2023年02月06日 05点02分
@嘟嘟逸凡 28楼被吞了[小乖]
2023年02月06日 07点02分
2023年02月06日 08点02分
level 1
你是用python写的吗
2023年02月04日 13点02分 25
这是VB吧,当然用VB写的
2023年02月04日 14点02分
我在chatgpt上搞了一个
2023年02月04日 14点02分
@tbzp666 不知道能不能运行
2023年02月04日 14点02分
1 2 尾页