社区
C语言
帖子详情
请大家帮我理清思路
csdn5211
2003-08-25 03:07:19
正在做一个机考系统(c语言),要求可以对题库实现增删操作。首先想到链表,但马上知道不对,因为要储存到磁盘上,可是在磁盘上怎样实现像链表一样的结构呢?
另外,为了实现随机出考卷,是不是需要把题库全部加栽到内存,然后再用一个随即算法实现呢?
...全文
41
15
打赏
收藏
请大家帮我理清思路
正在做一个机考系统(c语言),要求可以对题库实现增删操作。首先想到链表,但马上知道不对,因为要储存到磁盘上,可是在磁盘上怎样实现像链表一样的结构呢? 另外,为了实现随机出考卷,是不是需要把题库全部加栽到内存,然后再用一个随即算法实现呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaofei7569
2003-08-28
打赏
举报
回复
不能把题库全部加栽到内存.
acidprince
2003-08-28
打赏
举报
回复
不能用数据库,意味着很多管理数据库的功能,比如说:插入,删除,查找,等等功能函数(相对于c语言)都要自己编写
就我认为,用结构体链表方式,不宜于管理,特别是插入操作涉及动态的内存分配。
用多维(二维)的结构体数组可能会好些
开始就为数组分配一个比较大的存储空间,这样适于各种功能函数的编写
题库可以考虑放到一个专门的文件中,标上号。先产生一个随机数,再去取题目。取时,可以直接读文件,寻找标号,缺点是:每访问文件一次都是遍历性质的(如果是找最后一道题,前面的题目都得遍历到。也许有更好的算法。)这种方法可以说比较“土”。但也符合你的要求
xdspower
2003-08-28
打赏
举报
回复
现在又有一个问题就是,要限制考试时间,设计一个时间中断定时器就可以了。
acidprince
2003-08-26
打赏
举报
回复
既然数据库提供了最好的数据管理方法,为什么不用呢
shishiXP
2003-08-26
打赏
举报
回复
开一个进程或线程进行实时监测
简单的办法就是当出题时检测,这个不太好但容易实现,最多让人多做一题
csdn5211
2003-08-26
打赏
举报
回复
xdspower和shishiXP的方法不错,现在又有一个问题就是,要限制考试时间。我想应该是用一个变量存储时间,当他的值超过一个值就exit,但是该如何时时刻刻都判断这个值呢?
sharkhuang
2003-08-26
打赏
举报
回复
数据结构和你存储的位子没有关系!
shishiXP
2003-08-26
打赏
举报
回复
不用数据库也行啊
你自己把题目链表写到文件中去就行了啊,不过可能不太安全,最好再加个密
如果题少,可以把题全读到内存中,在随机选
如果题多,就只见在文件中选择读取吧(这要看你的存储格式)
至于具体怎么做,你想想吧
xdspower
2003-08-26
打赏
举报
回复
外排序,其实你只需要对题号筛选就可以了(最多加上对题型筛选),其实你在加入题的时候就要保证唯一性,题号等信息相当于一个索引,你对它先进行筛选在按选中的题进行抽取不就成了,当然这个工作用数据库来完成就更方便了,其实你相当于在自己设计一个数据库结构和应用框架。
csdn5211
2003-08-26
打赏
举报
回复
可是我还没学数据库呢!
另外,如果想删除一道题,应该怎么办呢?
csdn5211
2003-08-26
打赏
举报
回复
实话说了吧,其实这是我的课程设计,但是老师要求不许用数据库,用数据库的方法都不行!
我想每道题用一个文件都不行!
paulxj
2003-08-26
打赏
举报
回复
我也认为要借助数据库
leafxx
2003-08-26
打赏
举报
回复
把题库全加到内存里,似乎不是一个好办法吧
嗯,应该随机的从题库里选题,也就是
fseek()随机定位,然后取题,取满题后退出,当然还要解决可能重复取题的问题
如果对题型搭配有要求,比如选择题50道,填空题20道
那么你选择题和填空题应该分别存在两个文件中
随机在选择题题库里选50次...
anothermxw
2003-08-25
打赏
举报
回复
题库应该存在数据库里面吧,这些问题在数据库方面的函数就都给你做好了啊
singleperson
2003-08-25
打赏
举报
回复
哎,这个太难了,不也不会啊,帮不上忙啊! 同情
iOS高级程序员进阶——页面开发核心技术篇
作为iOS开发者,界面开发技术是必须要熟练掌握的。一款优秀的iOS应用,除了业务逻辑...同样,本课程内容在面试中也有很高的参考价值,对于业务页面开发相关的面试题,本课程可以
帮
助读者更好的
理清
思路
,更完善的作答。
逻辑思维:
理清
思路
,表达自己的技巧
作者 | 钟家福杏仁医生数据工程师,关注数据分析与挖掘。为什么要讲逻辑思维逻辑思维一直是职场的重要技能之一。当遇到某个问题时,你可以运用逻辑思维去梳理问题、分析问题,从而...
4个知识点
帮
你
理清
ARM开发
思路
!
由于涉及编程,学习ARM单片机系统对于从事电子电路的设计者来说是有些困难的,学习知识不难,难的是
理清
其中的开发
思路
,找到一个好的起点。本文就将从这一步入手,为大家介绍初次接触ARM开发应该从哪几方面来
理清
开发
思路
。做个最小系统板:如果从没有做过ARM的开发,建议一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会遇到各种问题,所以建议先布一个仅有Flash、
work-notes(3):前端新项目入手,git拉项目,从头到尾操作
理清
思路
时间:2022-04-11 声明 因为对clone、拉取、提交、合并代码的混乱,特此做笔记
理清
思路
,仅作以为一个可靠稳定的方式; 开头 拿到新项目,还没 clone 时,可完整
思路
下来; 1、在远程仓库上,创建自己的分支 一般默认时从 master 分支上创建出来,不用管; 创建好后复制对应的 url 地址; 2、clone 克隆项目 在指定的 object 文件夹,右键 “Git Bash here” 输入:git clone xxxx (xxx 就是你的 远程仓库地址) 此时已经可以拉取到 已连通
遇到问题时以图形化的界面画出来,
理清
思路
,从中找到解决问题的方法
遇到问题时以图形化的界面画出来,
理清
思路
,从中找到解决问题的方法.
C语言
69,365
社区成员
243,083
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章