C语言课程设计项目

C语言课程设计项目

团队介绍
单位名 怀化学院计算机科学与工程学院
班级小组序号 1901班第八组
团队名称 潜力无限组
课程设计题目 学生限时答题评测系统

一、课程设计题目基本要求介绍

(1) 输入信息:学生输入自己的学号+姓名作为学生基本信息,然后可以开始答题,支持输入的字符可以包括空格。
 加分项0:如果没有按学号+姓名的方式可以提示重新输入。
 加分项1:一旦输入正式的学号和姓名之后,窗口标题应该修改为该生输入的“学号+姓名”。
(2) 限时答题:正确的学号+姓名之后限制120秒开始答题
 加分项2:答题开始时,倒数5秒,每秒倒数1次,倒数不计时。
(3) 开始答题:从至少100道题的题库中每次随机抽取一道题目,开启问答模式,回答后提示回答正确与否,如果回答错误就提示正确答案。可以限制一共只能答题多少道。(思考:题目数量越来越多,如何方便添加新的题干和答案,如何便于自己管理原有的题干和答案。)
 加分项3:支持大小写答题功能,如学生输入fF,等同于ff。
 加分项4:支持开头是空格或者回车的错误输入,不会因为误输入而判错,如输入 \nff(空白表示空格,\n表示回车),等同于输入ff。
 加分项5:支持学生输入的答案中可以有空格,如学生输入f f,等同于输入ff。
 加分项6:题库中的题目分为难易两档,随机抽题时,可以设定抽取难题的比例,比如63%的几率会抽到难题,那么37%的几率会抽取容易的题目。
 加分项7:每完成一道题目,提示该同学已正确多少道,已耗时多少秒。
 加分项8:每道题回答正确还是错误,应该易于辨识,比如正确的提示为绿色,错误的提示为红色。
 加分项9:超时后不再允许学生输入,但不关闭程序。
(4) 答题分析:打印出学生回答的成绩单,并且根据学生回答的正确数、回答的总题数、正确率、耗时等因素制定出一个百分制的评分标准,根据评分不同可以设定为不同等级,如“S”、“A”、“B”、“C”级等,或者“青铜”、“白银”、“黄金”等,并且显示的成绩单要美观。
 加分项10:根据学生表现的不同等级,显示不同颜色的成绩单,还可以根据学生不同的等级,输出不同的提示话语。
(5) 答题日志:记录所有屏幕上打印出的语句,将所有语句按输出的程序全部记录在【学生基本信息_EXAM.txt】之中。(提示:需要用到第10章的功能,通过看书、网上查阅自己了解查看示例)
 加分项11:文件记录的语句越完整越好。
(6) 网络版程序:以上功能属于单机版内容,大概看懂参考程序server.c和client.c程序,了解大概意思,能阅读已有的可运行程序将自己已完成的单机版程序改为客户端和服务端的网络版程序。
 加分项12:考生答题时(客户端)将某些重要的连接信息发送给服务端,服务端可以生成特定的文件来记录下这些客户端发来的连接信息。
 加分项13:考生答完后(客户端)将某些重要的考生完成信息发送给服务端,服务端可以生成特定的文件来记录下这些客户端发来的考生完成信息。
 加分项14:如果考生达到某个级别以上,考生会将【学生基本信息_EXAM.txt】自动发送给服务器端,在服务器端中保存下来。
(7) 其他:代码规范,多使用符号常量来配置程序中可能使用的各种参数。
(8) 【加分项15】版本发布:学会最终发布Release版,不再使用默认的Debug版本。
(9) 【加分项16】发布一种新的练习模式,练习模式可以自己设定限制的时间,属于单机版,用于个人练习,但功能基本类似。

二、流程图

C语言课程设计项目_第1张图片
C语言课程设计项目_第2张图片
C语言课程设计项目_第3张图片

三、项目目前的进程

1、 输入信息:学生输入自己的学号+姓名作为学生基本信息,然后可以开始答题,支持输入的字符可以包括空格。
 加分项0:如果没有按学号+姓名的方式可以提示重新输入。
 加分项1:一旦输入正式的学号和姓名之后,窗口标题应该修改为该生输入的“学号+姓名”。
2、 限时答题:正确的学号+姓名之后限制120秒开始答题
 加分项2:答题开始时,倒数5秒,每秒倒数1次,倒数不计时
3、 开始答题:从至少100道题的题库中每次随机抽取一道题目,开启问答模式,回答后提示回答正确与否,如果回答错误就提示正确答案。可以限制一共只能答题多少道。(思考:题目数量越来越多,如何方便添加新的题干和答案,如何便于自己管理原有的题干和答案。)
 加分项3:支持大小写答题功能,如学生输入fF,等同于ff。
 加分项4:支持开头是空格或者回车的错误输入,不会因为误输入而判错,如输入 \nff(空白表示空格,\n表示回车),等同于输入ff。
 加分项5:支持学生输入的答案中可以有空格,如学生输入f f,等同于输入ff。
 加分项7:每完成一道题目,提示该同学已正确多少道,已耗时多少秒。
 加分项8:每道题回答正确还是错误,应该易于辨识,比如正确的提示为绿色,错误的提示为红色。
 加分项9:超时后不再允许学生输入,但不关闭程序。
4、答题分析:根据学生回答的正确数、回答的总题数、正确率、耗时等因素制定出一个百分制的评分标准,根据评分不同可以设定为不同等级,如“S”、“A”、“B”、“C”级等,或者“青铜”、“白银”、“黄金”等。
5、将自己已完成的单机版程序改为客户端和服务端的网络版程序。
6、其他:代码规范,多使用符号常量来配置程序中可能使用的各种参数。
7、【加分项15】版本发布:学会最终发布Release版,不再使用默认的Debug版本。
8、【加分项16】发布一种新的练习模式,练习模式可以自己设定限制的时间,属于单机版,用于个人练习,但功能基本类似。
9、核心功能讲解
(1)、支持开头是空格或者回车的错误输入
(2)、scanf支持回车,可在scanf上稍加改进
(3)、
void scanfs(char str[100])
{
int index=0,move=-1;
gets(str);
while(str[index]!=’\0’){

    if(str[index]!=' ' && move!=-1){
        str[move] = str[index];
        move++;
    }
	
    else if(str[index]==' ' && move==-1){
        move = index;
    }
    index++;
}
if(move!=-1){
    str[move]='\0'  ;
}  

}
(4)、C语言课程设计项目_第4张图片

四、项目未完成的功能

1、正在实现:根据学生表现的不同等级,显示不同颜色的成绩单,还可以根据学生不同的等级,输出不同的提示话语。
2、打算实现:记录所有屏幕上打印出的语句,将所有语句按输出的程序全部记录在【学生基本信息_EXAM.txt】之中。

五、每日项目进度及版本更新日志说明

C语言课程设计项目_第5张图片
C语言课程设计项目_第6张图片

六、每位成员的过程体会

组长:叶佳亮:团队合作很重要,遇到难题上百度
组员:伍琳海:在经过这次的c语言作业,我发现c语言程序的设计需要结实的基础。还要拥有足够的精力。当然还要有必不可少的基本程序。在这次的作业过程中我更加意识到团队和作的重要性,只有一个配合默契的团队才能将每个人的优势发挥到最大,当然一个优秀团队也要有一个优秀的领导者。就像羊群中的领头羊一样带领着羊群找到最好的草地。
组员:刘永康:首先非常感谢组长他们,虽然很艰辛,付出了很多时间精力,自己做出来的却很少,但是我在这个过程中充分享受到了其中乐趣,也让我认识到了自己各方面的不足,我希望在以后的路上能够更加努力。

七、组长想说的话

自我批评:首先,本次任务我们组尚未完成,主要是由于我未能尽职尽责管理好每位组员,让部分组员摸鱼,拖慢了整组的进程;其次,对做好的功能未能进行优化,对不懂得内容未能及时通过查找资料学会,这也是一大失误。
自夸篇:身为计算机菜鸟的我,在本次课程设计中通过询问同学,查找资料完成了以前完全不敢想能做出来的函数,也算是有了几分安慰。

你可能感兴趣的:(C语言课程设计项目)