




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳航空航天大学北方科技学院课程设计说明书课设题目 小学生实用CAI教学软件 专 业 测控技术与仪器 班 级 学 号 学生姓名 指导教师 杨 煦 日 期 2012/7/15 沈阳航空航天大学北方科技学院. 目录 一、绪论3 二、需求分析3二、程序流程图4三、核心技术的实现说明及相应程序段7四、结论11五、源程序11一、 绪论随着时代的发展,我们国家所需求的高质量技术人员越来越多,小学生实用CAI教学软件成为了一个重要的教育软件,小学生可以在这个软件中学到很多知识。可以为以后的学习打下良好的基础。这也是编写本软件的目的所在。二、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为三个模块,其中每一个模块对应一个函数,他们的功能分别是:自学函数(study),测试函数(test),随机出题函数(suiji),其中自学函数和测试函数函数严格按照题目的要求,随机出题函数则可被自学函数和测试函数所调用。1、 自学函数 主要实现程序运行时学生可以无限制的作题,每做完一题时系统提示是否继续, 学生可自己选择。2、 测试函数 主要实现程序运行时学生可以自己设定想要作题的个数 ,程序并进行自动打分。3、 随机出题函数 运行该函数时由电脑随机出题, 可被自学函数和测试函数所调用。三、程序流程图当(1) 真 输入n=1? 假 真 n=2? 假 n=3? 自学函数 测试函数 真 假 study() test() 退出 输入错误 exit() 1程序整体结构图 2随机出题函数suiji int c; int a; in b; int tfuhao=random(4)+1 当(fuhao) 真 case1 假 真 case2 假 真 if(ab) 假 真 case3 假 c=a; 真 case4 假 a=b; 真 if(ab) 假 b=c; c=a;a=b b=c; while(b=0) while(a%b)=0) T=a+b; T=a-b; T=a*b; T=a/b; 当(fuhao)真 case1 假 真 case2 假 真 case3 假 真 case4 假a+b= a-b= a*b= ab= 图(2)随机出题函数suiji图3.自学函数studyint timu=1;int xuanze;int Userda;randomize(); clrscr(); clrscr();当(1) suiji(); 电脑随机题; 用户输入答案; 当(Userda!=T) 输入scanf(%d,&Userda); 答案正确 ;timu+;构造Loop2循环; (xuanze=y | xuanze=Y)真 假 (xuanze=n|xuanze=N) 真 假 continue; main(); incorrect code! 继续作题 返回主函数 goto Loop2 4.测试函数 test int timu=1; int Userda; randomize();clrscr();clrscr(); 清除屏幕上原有的内容 ;输入“测试开始”scanf(%d,&h); 请输入想要答题的个数;当(timu=10) 假 真 (du) 假 return; 答案错误;d=d-10; scanf(%d,&Userda);请重新输入答案;d=d+10; 答案正确,timu+; 考试结束 输出最后得分!回到主函数,main(); 图(4)测试函数 test图四、核心技术的实现说明及相应程序段 本程序有三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他的函数来实现要求的所有功能,三个函数都是较为核心的部分,下面分别进行说明。1.随机抽题函数 由电脑随机产生两个数,并随机产生一个运算符号,组成一个运算,由程序计算出真实的答案,放在变量T中,供自学函数和测试函数调用,具体程序段如下:void suiji() int c; int a; int b; fuhao=random(4)+1; /*在1到4之间产生一个随机数,用来表示+,*,/ 等运算符号,放在fuhao这个变量当中*/ switch(fuhao) /*由fuhao判断运算是什么*/ case 1: a=random(10); b=random(10); T=a+b;break; case 2: a=random(10); b=random(10); if(ab) c=a;a=b;b=c; T=a-b;break; case 3: a=random(10); b=random(10); T=a*b;break; case 4: do do a=random(10); b=random(10); if(ab) c=a;a=b;b=c; while(b=0) ; /若b等于0/ while(a%b)!=0); /*当a能被b整除时*/ T=a/b; break; switch(fuhao) /*由fuhao决定输出的情况*/ case 1: printf(n%d + %d = ,a,b);break; case 2: printf(n%d - %d = ,a,b);break; case 3: printf(n%d X %d = ,a,b);break; case 4: printf(n%d / %d = ,a,b); 2.自学函数 先调用随机函数 ,产生一个运算,用户给出答案,如果答案错误,系统提示:答案错误,请重新输入答案,直到答案正确为止,当答案正确,系统提示是否继续做题,输入(N/Y)确认,如果输入除N,Y以外的其他代码,系统提示:代码错误,请重新输入,其具体程序段如下:void study() int timu=1;int xuanze;int Userda; randomize(); /*保证每次运行程序时产生的随机数序列不同*/ clrscr(); clrscr(); /*每次程序运行时清除以前内容的语句*/ printf(n-); printf(n-); printf(n study start :); printf(n-); while(1) printf(n Question: %d,timu); /*输出题号*/ printf(n-); suiji(); /*调用随机抽题函数*/ scanf(%d,&Userda); /*用户输入答案*/ while(Userda!=T) printf(n-); printf(n-); printf(n you are Wrong! ); printf(n-); printf(n Input The Answer Again: ); scanf(%d,&Userda); printf(n-); printf(n-); printf(n Right! ); printf(n-); printf(n-); timu+; Loop2:printf(nDo you want to continue?(Y/N) ); /*构造Loop循环*/ scanf(%s,&xuanze); /*输入要操作的代码*/ if(xuanze=y | xuanze=Y) continue; /*继续做题*/ else if(xuanze=n|xuanze=N) main(); /*停止做题,返回主函数*/ else printf(n-); printf(nWrong! Please enter the correct code!n); goto Loop2; /*输入代码错误,回到Loop循环*/ 3.测试函数程序开始后,先由用户输入想要答题的个数,然后调用随机抽题函数,产生一个运算,用户给出答案,如果答案错误,系统提示:答案错误,请重新输入,直到答案正确为止,当得分大于或等于10时,每答对一题时,得分加10分,答错一题时,减10分,当得分小于10分时,不减分,当答题的个数等于设定的个数时,程序运行结束,在用户界面输出:测试结束,并给出最后得分,具体程序段如下:. void test()int timu=1; int Userda; randomize();/*保证每次运行程序时产生的随机数序列不同*/ clrscr();clrscr(); /*每次程序运行时清除以前内容的语句*/ printf(n-); printf(n-); printf(n test start :); printf(n-); printf(n Please Input Question Count: ); printf(n-); scanf(%d,&h); /*输入想要答题的个数*/ printf(n-);while(timu=10) /*如果当前得分大于或等于10*/ d=d-10; /*得分减10分*/ printf(nWrong! Now Your Score: %d,d); if(dU) return; /*停止本次循环*/ printf(n Input The Answer Again: ); scanf(%d,&Userda); d=d+10; /*如果答案正确,得分加10分*/ printf(n-); printf(n Right! Now Your Score: %d,d); printf(n-); timu+; printf(n-); printf(n-n); printf(n Test Over!n); printf(n-); printf(n Your Final Score: %d,d);/*输出最后得分*/ printf(n-); printf(n-); main(); /*返回住函数*/ 四、结论经过这次课程设计,对以前学习的C语言知识进行了巩固,并也学习到了一些新的C语言编程语句,也强化了自己的逻辑思维,在用模块化编程的过程当中,我有了一个编程的大体思路,先从大体上分析程序所要实现的体功能,对整个程序有一个宏观上的思路,然后再据具体的功能,选用恰当的,简单的语句把所需要的子程序编辑出来,最后用一些衔接语句把整个程序联系起来,最终实现其功能,总之,在这次课程设计当中,学到了很多,我想对我以后的学习和工作是有很大的帮助五、源程序#include#include int h; int T; int d; int U; char fuhao; void menu();void study();void test();void suiji(); main()int n; menu(); printf(n-); printf(n Please enter the number you want to ride : );while(1) scanf(%d,&n); switch(n) case 1: study();break; case 2: test();break; case 3: exit(0); default: printf(n-); printf(nWrong ! Please enter the existent number : ); void menu() printf(n ); printf(n ); printf( - xiao xue sheng CAI jiao xue ruan jian- ); printf(n 1 study ); printf(n 2 test ); printf(n 3 exit ); void suiji() int c; int a; int b; fuhao=random(4)+1; switch(fuhao) case 1: a=random(10); b=random(10); T=a+b;break; case 2: a=random(10); b=random(10); if(ab) c=a;a=b;b=c; T=a-b;break; case 3: a=random(10); b=random(10); T=a*b;break; case 4: do do a=random(10); b=random(10); if(ab) c=a;a=b;b=c; while(b=0) ; while(a%b)!=0); T=a/b; break; switch(fuhao) case 1: printf(n%d + %d = ,a,b);break; case 2: printf(n%d - %d = ,a,b);break; case 3: printf(n%d X %d = ,a,b);break; case 4: printf(n%d / %d = ,a,b); void study() int timu=1;int xuanze;int Userda; randomize(); clrscr(); clrscr(); printf(n-); printf(n-); printf(n study start :); printf(n-); while(1) printf(n Question: %d,timu); printf(n-); suiji(); scanf(%d,&Userda); while(Userda!=T) printf(n-); printf(n-); printf(n you are Wrong! ); printf(n-); printf(n Input The Answer Again: ); scanf(%d,&Userda); printf(n-); printf(n-); printf(n Right! ); printf(n-); printf(n-); timu+; Loop2:printf(nDo you want to continue?(Y/N) ); scanf(%s,&xuanze); if(xuanze=y | xuanze=Y) continue; else if(xua
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乐理考试题听力及答案
- 2025年中国沙发绳数据监测研究报告
- 口腔影像考试题及答案
- 课件时间进度
- 开平话考试题及答案
- 2025年教师招聘之《小学教师招聘》通关练习试题及答案详解(名校卷)
- 军事投弹考试题及答案
- 菊花台考试题及答案
- 静脉知识考试题及答案
- 汽车冲压生产线操作工理念考核试卷及答案
- 设计总监升职述职报告
- JJF 2203-2025水质毒性分析仪校准规范
- 施工安全教育内容
- 电信人工智能学习考试题(附答案)
- 肝门部胆管癌诊断和治疗指南(2025版)解读课件
- 急诊危重症患者转运专家共识解读课件
- 《发芽小麦粉气流分级产品及其面筋蛋白品质的研究》
- 2025年危险化学品经营单位主要负责人安全生产全国考试题库(含答案)
- 青岛版五四制科学五年级上册科学学生活动手册参考答案
- 社区街道网格员安全培训
- 村卫生室医疗废物管理制度
评论
0/150
提交评论