C语言编程 做一个设计一个儿童算数教学程序:“咪咪数学宝”
补充:看来有人不明白,得先建题库文件啊,然后才能输入文件路径捆绑题库,比如我上面的演示中,c:\\qs01.txt,你首先要先在c盘创建一个txt文件,然后在里面打字“题目空格答案回车”这样输入。有了库文件程序才能读啊
比如:(你如果自己能修改我常量里的字符长度,不光数学,语文,英语题库都可以)
在txt文本里保存题库,比如幼儿题目放一个txt,小学题目放一个txt。
程序分两大部分:
1、根据【题库数常量】,提示输入每个题库的类别名称、每个题库文件的路径,生成菜单。
2、用户通过菜单选择,题库类别,输入随机数上限。
3、根据用户输入数字随机抽取一组问题,提问回答并统计正确率。
注意:这里我测试,【题库数常量】qssSize我值设置了2,如想增加题库类别,只要修改该数值即可!。(其他常量我也备注了,有需要自己改)
#include
#include
#include
#include
#defineqsLen100//问题最大长度
#defineansLen50//答案最大长度
#defineqssSize2//题库种类数量我测试只定义了小学和幼儿两个问题库,需要自己添加
#defineqssNameSize10//题库名称长度
#defineqssPathSize100//题库路径长度
typedefstructqs
intid;//问题编号
intcont;//题库问题数量,只有头结点存储该值
charqs[qsLen];//问题
charans[ansLen];//答案
structqs*next;
voidnewQss(charqssName[][qssNameSize],charqssPath[][qssPathSize]);//根据输入,新建问题分类信息
intshowMenu(charqssName[][qssNameSize]);//显示题库菜单,返回用户选择的题库类别下标
QS*readFile(char*filePath);//读取问题库文件,生成链表,返回头节点
QS*randQs(QS*qsHead,intqsNum);//从题库随机抽取题目,参数:题库头节点、题库总题目数。返回:抽取的题目节点
intmain()
intlbNum,qsNum,cnt,i,correct,error;
charquestion[qsLen],answer[ansLen],input[ansLen];
charqssName[qssSize][qssNameSize],qssPath[qssSize][qssPathSize];//qssName:题库分类名称;qssPath:题库文件路径
QS*qsHead=NULL,*qsSelect;
srand(time(NULL));
newQss(qssName,qssPath);
lbNum=showMenu(qssName);
printf("\n--开始加载题库--\n");
qsHead=readFile(qssPath[lbNum]);
qsNum=qsHead->cont;
printf("题库共%d条题目,请输入需要提取的题目数量:",qsNum);
while(1)
scanf("%d",&cnt);
if(cnt>0&&cnt<=qsNum)
break;
printf("\n--开始从题库中随机抽取%d条问题--\n",cnt);
correct=0;
error=0;
for(i=0;i
qsSelect=randQs(qsHead,qsNum);
if(qsSelect!=NULL)
strcpy(question,qsSelect->qs);
strcpy(answer,qsSelect->ans);
printf("第%d题、%s?答案:",i+1,question);
scanf("%s",input);
if(!strcmp(answer,input))
printf("回答正确!\n\n");
correct++;
printf("回答错误!正确答案是%s\n\n",answer);
error++;
printf("共%d条问题,正确回答%d条,正确率%d%%\n",cnt,correct,correct*100/cnt);
return0;
QS*randQs(QS*qsHead,intqsNum)
intn;
n=rand()%qsNum+1;
while(qsHead->next!=NULL)
if(qsHead->next->id==n)
returnqsHead->next;
qsHead=qsHead->next;
returnNULL;
voidnewQss(charqssName[][qssNameSize],charqssPath[][qssPathSize])
inti;
printf("--开始录入题库分类信息--\n");
for(i=0;i
printf("\n请输入题库1的名称及题库文件路径\n名称(不超%d个字符):",qssNameSize);
scanf("%s",qssName[i]);
printf("路径(不超%d个字符):",qssPathSize);
scanf("%s",qssPath[i]);
intshowMenu(charqssName[][qssNameSize])
inti;
printf("\n当前题库分类为:\n");
for(i=0;i
printf("%d、%s\n",i+1,qssName[i]);
printf("请选择你要提取的题库类别(输入数字):");
scanf("%d",&i);
returni-1;
QS*readFile(char*filePath)
FILE*fp;
charqsSave[qsLen],ansSave[ansLen];
QS*qsHead=NULL,*qsTail=NULL;
if((fp=fopen(filePath,"rt+"))==NULL)
printf("Cannotopenfilestrikeanykeyexit!");
returnNULL;
qsHead=(QS*)malloc(sizeof(QS));
qsHead->next=NULL;
qsHead->cont=0;
while(fscanf(fp,"%s%s",qsSave,ansSave)!=-1)
qsHead->cont++;
QS*qsNew=(QS*)malloc(sizeof(QS));
qsNew->next=NULL;
qsNew->id=qsHead->cont;
strcpy(qsNew->qs,qsSave);
strcpy(qsNew->ans,ansSave);
if(qsHead->next==NULL)
qsHead->next=qsNew;
qsTail->next=qsNew;
qsTail=qsNew;
returnqsHead;
少儿编程的发展前景如何?
少儿编程教育是通过编程游戏启蒙、可视化图形编程等课程,培养学生的计算思维和创新解难能力。例如学生在制作一个小动画的过程中,自己拆分任务、拖拽模块、控制进度,从而理解“并行”、“事件处理”、“目标实现”的概念。其主要是针对3-18岁的青少年。
2014-2019年我国少儿编程教育相关政策频发,政策扶持力度持续加码。现我国少儿编程教育教学场景主要分为三类,现少儿编程教育企业采取以B端为主,C端为辅的主要打法。截至2020年2月末我国少儿编程公司共计7110家,广东省少儿编程公司领跑全国,少儿编程教育机构的10强总部集中于深圳、北京、杭州。2018年中国少儿编程行业整体对应年龄人口约为2.36亿人。2019年大概为2.37亿人。我国少儿编程市场未来增长空间巨大。
我国少儿编程教育发展备受重视
2014-2019年我国少儿编程政策相继发布,国家已经意识到了信息化教育的重要性,出台了不少相关的政策鼓励、支持编程教育、信息化教育的不断发展,推动编程教育在国家基础教育层面的普及深化进程。政策覆盖了浙江省、山东省、江苏省、天津市、重庆市等重点省市。
我国少儿编程教育教学场景主要分为三类,现少儿编程教育企业采取以B端为主,C端为辅的主要打法
课程的教学场景分为三类:非公办教育机构、公办教育机构和家庭。通过对业内企业的调研,比较三个场景下的落地程度,总结出目前少儿编程教育企业采取以B端为主,C端为辅的主要打法。
我国少儿编程教育机构的10强总部集中于深圳、北京、杭州
中国的少儿编程教育行业近年来迅速兴起。在政策支持、市场成熟等多重因素的加持下,少儿编程机构在资本寒冬中迎来了自己的风口。根据《互联网周刊》数据,我国少儿编程教育机构的10强排名如下:
截至2020年2月末我国少儿编程公司共计7110家,广东省少儿编程公司领跑全国
我国少儿编程仍规模较小、机构相对分散,主要分布在北上广深等一线城市,线下机构也主要集中在一二线城市。
截至2020年2月末,2020年我国少儿编程公司增加438家。2019年我国少儿编程公司共计7110家。截至2020年2月末国内少儿编程公司主要位于广东、江苏、山东、浙江地区,少儿编程公司分别为11770家、3529家、2265家、2044家。
我国少儿编程行业整体对应年龄人口逐年增,2019年约为大概为2.37亿人
我国少儿编程学员的最低年龄在3岁左右,在此阶段,幼儿的认知和理解能力已经达到一定水平,可以开始参加此类培训;年龄最大的参培学员为18-19岁,即高三学生,培训覆盖人群总体与K12教育对应的学生群体重合。因此,前瞻产业研究院加总了教育部每年公布的全国教育事业发展统计公报中幼儿园、小学、初中及高中阶段的在校人数,对国内3-18岁人口数量进行估测。2014-2018年中国3-18岁人口呈缓慢增长趋势,2018年中国少儿编程行业整体对应年龄人口约为2.36亿人。2019年大概为2.37亿人。
以上数据来源参考前瞻产业研究院发布的《
中国少儿编程教育行业市场前瞻与投资规划分析报告