C语言程序设计-小学算术运算测试_第1页
C语言程序设计-小学算术运算测试_第2页
C语言程序设计-小学算术运算测试_第3页
C语言程序设计-小学算术运算测试_第4页
C语言程序设计-小学算术运算测试_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南理工大学计算机科学与技术学院课程设计报告200 8 200 9 学年第 一 学期课程名称:C语言程序设计 设计题目:小学算术运算测试(math.c)学生姓名:刘高君 学 号:310709020117 专业班级:通信工程07-1班 指导教师:刘洁 2008 年 09 月 05 日目录 1 设计任务书31.1题目与要求31.2本系统涉及的知识点32 功能设计32.1算法设计32.2部分模块流程图33 程序代码设计43.1输入模块43.2输出模块44 C程序设计总结54.1程序调试情况54.2程序调好后的试验结果54.3本人在程序设计中的感想55致谢56参考文献6 7附录61设计任务书1.1题目与要求 本人计划与张二威合作编写一个小学算术运算测试系统,主要用来测试小学生对十以内得加减乘除法运算的掌握程度。具体要求如下:(1)制作一个可供小学数学运算程序,能完成10以内得加减乘除法,能根据输入题数出题,有人性化的汉语提示。(2)判断做的题是否正确。(3)计算成绩,给出所有做过题目的正确答案。根据分工,本人的主要工作是具体的编译程序并调试,整理出文档资料。1.2本系统涉及的知识点 结构、数组、函数、循环。2功能设计 2.1算法设计 本系统需要实现的功能要求:利用rand()和switch(algtype)产生随机计算式,进而实现测试功能。1,其模块如下1- 产生随机数和随机运算符号,进而产生随机计算式2-用户输入自己的解答3-判断正误,然后输出成绩 4-题目做完后,提示用户是否继续 5-用户键入y后进入下一轮,n推出程序 图1 小学算术运算测试模块图2,根据上述模块图编写相应代码(1) 利用for语句,rand()语句和switch()语句产生随机计算式。(2) 通过printf函数提示输入数字,然后通过scanf函数输入数字。(3) 通过if-else语句判断刚才的是否正确,若正确直接进入下一道;若不正确,给出正确答案并进入下一道。(4) 用if,while语句提示用户是否进入下一轮。(5) Getchar()和while,return语句进行循环,键入“y”,进入下一轮,“n”直接退出。2.2部分模块流程图当一轮测试结束后,利用getchar()和if语句判断是否继续。其流程图如下:getchar()结束3 程序代码设计3.1输入模块(1)函数原型:scanf(“%d”,&answer); YesorNo=getchar(); (2)功能:利用scanf函数输入计算结果 利用if选择语句和getchar函数来确定是否进入下一轮测试。(3)变量及其类型 resulti;整形形参数组,接收scanf函数结束得整形数据地址。(4)模块代码及相关注释: Scanf(“%d,&answer)/*获取用户输入的结果*/ If(answer=resulti+points;/*积分*/ ElsePrintf(“ n%d为正确答案,小笨蛋”,resulti;/*显示正确答案*/3.2输出模块(1)函数原型:printf(“n%d+%d”,num1i,num2i; printf(“n%d-%d”,num1i,num2i; printf(“n%d-%d”,num12,num1i; printf(“您的成绩是”:num1i=rand()%10(2)功能:确定计算式的两个操作数和运算符号(加法或减法) 输出成绩和汉语提示。(3)变量及类型num1i,num2i整形形参数数组(4)模块代码及其相关注释: num1i=rand()%10,/*产生10以内的随机整数*/ num2i=rand()%10/*产生10以内得随机整数*/4 C程序设计总结4.1程序调试情况:按题目的要求编好程序后,开始上机调试,首先创建一个空的工程,然后再创建一个c source文件,然后在该文件里输入所编写的程序代码,准确输入完毕后,进行调试,有错时,按照提示改正错误。4.2程序调好后的试验结果: 现在开始计算,小朋友注意拉,好好学习天天向上!:1-7=?-60-9=?-98-8=?10为正确答案,小笨蛋4*5=?201-7=?5-6为正确答案,小笨蛋1*5=?35为正确答案,小笨蛋7+6=?134+2=?62+2=?46*8=?48您的成绩是良好。以下是你刚才所做的所有题目1-7=-60-9=-98-8=04*5=201-7=-61*5=57+6=134+2=62+2=46*8=48你还想继续么(y/n)?n(退出了)4.3本人在程序设计中的感想:原来我根本不知道大二开学第一周还有个c语言课程设计,所以也没心理准备。知道要做课程设计之后,我就想:既然做了,就要认真做好!所以我就认真的审题,准备材料。好多东西都忘了,只好又自己查书,从头做起,埋头苦干。然后在编写程序说明书时,特别是在绘制流程图时,要用到办公软件中的一些不常用的功能,比如插入图表及图片,这时我有遇到了困难,有不得不翻阅计算机文化基础。在这次课程设计我把计算机和c语言的知识全部复习了一遍。 5致谢感谢刘洁老师的指导和张二威同学的热心帮助!6参考文献1贾宗璞 许合利,C语言程序设计,中国矿业大学出版社,2007.2.12 许合利 沈记全, 计算机文化基础,中国矿业大学出版社,2005.9.13附录(源代码) :#include #include #define ExerNumber 10 /*每轮题目数 */ void test() int algtype = 0; /*计算类型 */ int i, /*for的循环控制变量 */ points = 0, /*成绩 */ num110, num210, /*两个操作数 */ result10, /*程序的计算结果 */ answer = 0; /*学生回答 */ char opt10; printf(现在开始计算,小朋友注意拉,好好学习天天向上!: ); for(i=0;inum2) /*减法计算 */ printf(n%d - %d,num1i,num2i), resulti = num1i - num2i; else printf(n%d - %d,num2i,num1i), resulti = num2i - num1i; opti = -; break; case 3: resulti = num1i * num2i; /*乘法计算 */ printf(n%d * %d,num1i,num2i); opti = *; break; printf(= ?); scanf(%d,&answer); /*获取用户输入的结果*/ if(answer = resulti) +points; /*积分 */ else printf(n%d为正确答案,小笨蛋,resulti); /*显示正确答案 */ printf(n你的成绩是); /*打印成绩 */ switch(points) case 10 : case 9: printf(优秀。); break; case 8 : case 7 : printf(良好。); break; case 6 : case 5 : printf(及格。); break; default :printf(不及格,还要努力啊,加油!); printf(n以下是你刚才作的所有题目); for(i=0;i10;+i) printf(n%d %c %d = %d,num1i,opti,num2i,resulti); int main(void) char yesOrNo; /*回答是否继续 */ test(); do p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论