建材秒知道
登录
建材号 > 设计 > 正文

求救:设计一个题库,要创建哪些表

笨笨的小蜜蜂
鲤鱼秀发
2022-12-29 23:56:54

求救:设计一个题库,要创建哪些表?

最佳答案
微笑的枫叶
无心的电源
2026-04-19 05:50:33

答题结果如果不打算保留的话,简单实现就2个表

a 分数表: 用户名(varchar) 分数(decimal)

b 答案表 字段为:科目(varchar)题目编号(integer) 答案(varchar)

思路 把考试结束后的结果 +科目 和 b中的相关记录一一比较

计算 把结果存到a表中

难点是填空的处理 比较的话最好是和答案关键字匹配度来算 问题是比如有个题目答案为 正确 如果他填写“不是不对”,怎么处理?

最新回答
丰富的绿茶
热情的蜡烛
2026-04-19 05:50:33

目前来说是可以的:

1.python有强大的图形库,比如kivy,pyqt等,能够实现复杂的用户界面。

2.python能够很容易的与数据库通信,如SQL,MySQL等。

所以,python可以实现大部分程序软件等,只要个人或团队使用,就可以。

一个软件的实现所用的编程语言不是关键,关键是人和人的思维逻辑。

无聊的钢笔
笑点低的冬天
2026-04-19 05:50:33

题库系统, 应该是一个自动组题系统的设计与实现吧, 不知道你的要求中是否包含在线考试等功能, 咱先说题库系统应该如何设计吧

技术框架我觉得应该选用ssm, 毕竟资料很多, 前端页面选一个bootstrap主题, 也挺好看

设计完多角色的权限控制登陆注册后, 就要开始设计组题的模型,应该包含如下几个

题目类型维护, 比如选择题判断题问答题等

题目具体内容维护, 包括难度, 注释, 类型, 参考答案

试卷维护, 根据业务逻辑维护一整套试卷, 与题目是多对多关系

导入导出功能

深情的长颈鹿
任性的水杯
2026-04-19 05:50:33
//假设你的题库中只有题标为数字1到20

#include <stdlib.h>

#include <stdio.h>

bool G[2][20]

int main()

{

memset(G,0,sizeof(G))

FILE* input0=fopen("tiankongti.txt","r+")

FILE* input1=fopen("xuanzeti.txt","r+")

FILE* output=fopen("result.txt","a+")

if(input0==NULL||input1==NULL)

printf("can't open the file!\n")

printf("please input the number:\n")

int number

scanf("%d",&number)

while(number--)

{

int rand0=rand()%20+1,rand1=rand()%20+1

if(G[0][number])rand0=rand()%20+1

G[0][number]=true

if(G[1][number])rand1=rand()%20+1

G[1][number]==true

chat ch[2]={0}

while(1)

{

if((ch[0]-48==(rand0+1)/10&&ch[1]-48==(rand0+1)%10))

break

for(int i=0i<2i++)

if(!feof(input0))

{

fprintf(input0,"%c",ch[i])

fscanf(input1,"%c",&ch[i])

}

else break

}

memset(ch,0,sizeof(ch))

while(1)

{

if((ch[0]-48==(rand1+1)/10&&ch[1]-48==(rand1+1)%10))

break

for(int i=0i<2i++)

if(!feof(input1))

{

fprintf(input1,"%c",ch[i])

fscanf(input1,"%c",&ch[i])

}

else break

}

}

printf("finish!\n")

return 0

}

体贴的小伙
瘦瘦的泥猴桃
2026-04-19 05:50:33
1、average_sum函数的功能为求一批数中大于平均值

sum=0

k=0

for i in range(n):

sum=sum+a[i]

average=sum/n

for i in range:

if(a[i]>average):

k=k+a[i]

return k

2、编写函数fun求一个不多于五位数的正整数的位数

if(m>9999):

place=5

elif(m>999):

place=4

elif(m>99):

place=3

elif(m>9):

place=2

else:

place=1

return place

3、请编fun函数,求4*4整形数组的主对角线元素的和

sum=0.0

for i in range(4):

sum+=a[i][i]

return sum

4、已知:一元钱一瓶汽水,喝完后两个空瓶换一瓶汽水。问:请输入钱数(大于1的正整数),则根据钱数最多可以喝到几瓶汽水。

s=0

k=0

while m>0:

m=m-1

s=s+1

k=k+1

while k>=2:

k=k-2

s=s+1

k=k+1

return s

5、编写函数fun(x,y),函数的功能是若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。要求必须使用for结构。

主函数的功能是分别计算如下的值:

(1+3+5+……+777)+(2+4+6+……+888)=???

(1+3+5+……+1111)+(2+4+6+……+2222)=???

(1+3+5+……+1999)+(2+4+6+……+1998)=???

s=0

for i in range(x,y+1,2):

s=s+i

return s

6、编写函数main 求3!+6!+9!+12!+15!+18!+21!

s=0

for i in range(3,22,3):

r=1

for j in range(1,i+1):

r*=j

s+=r

print(s)