1、目目 录录 一、一、 题目与要求题目与要求3 3 二、二、 功能设计功能设计3 3 三、三、 程序代码设计程序代码设计6 6 四、四、 C C 程序设计报告程序设计报告. .7 7 五、五、 结束语结束语. .8 8 参考文献参考文献. .8 8 1.1. 题目与要求题目与要求 1.11.1 问题提出问题提出 我计划编写小学算术运算测试程序,主要面向小学生数学算术。要求完成 10 以内加减乘除四则运算。能根据输入提示出题,用户可选择 1.加法运算 2.减法 运算 3.乘法运算 4.除法运算 5.退出。用户输入答案后可以判断正误,并能给出 算对和算错的题目和总共做多少道题。 做完一题后用户可根据
2、提示是否继续下一 次测试。 1.21.2 本系统涉及的知识点本系统涉及的知识点 主要有函数、循环语句、分支、简单的算法 1.31.3 功能要求功能要求 1.能完成 10 以内加减乘除 2.根据提示用户可选择算法类型 3.用户输入答案后可以判断正误 4.能给出算对的题目 5.能给出算错的题目 6.能给出共做多少题目 7.用户可根据提示是否继续下一测试 2.2.功能设计功能设计 2.1 算法分析 根据程序要求将程序代码分成五部分, 利用 switch 语句设计如图 1 所示的主菜 单: 请输入选项编号(1-5) 1加法运算 2减法运算 3乘法运算 4除法运算 5退出 图 1 小学算术运算测试程序主
3、菜单 2. 选择1后,调用加法函数,进入函数后利switch语句实现一个如图2所示的菜 单 1加法运算 图 2.加法运算子菜单 3、根据所选菜单编写相应代码: 1)输入数字 1 后程序自动选择加法运算,系统会自动随机给出两个数的加法式 子,用户可根据提示输入答案。 2)做完本题后用户可根据系统提示选择是否继续做题。 3)用户选择退出系统后,系统会自动统计用户共做多少道题,判断用户做对和做 错多少道题。 2.22.2 部分模块流程图部分模块流程图 3.3. 程序代码设计程序代码设计 #include #include #include int question_get(); int type;
4、void main( void ) int answer,n; srand( (unsigned)time( NULL ) ); loop: printf( “请选择要进行测试的题目种类:“ ); 根据所给问题做出回答 结果正确 判断结果 开始(选择运算种类) 结果错误 继续输入 继续做题 Y Y N 退出程序 printf( “n1.加法运算n2.减法运算n3.乘法运算n4.除法运算n5.退出运算n“ ); printf(“ttt 请选择(1-5):“); scanf( “%d“, while( 1 ) int temp; int flag; answer = question_get(); printf( “请回答:n“ ); scanf( “%d“, while( temp!=answer ) printf( “n 答案错误,重做n“ ); scanf( “%d“, printf( “n 答案正确,很好n“ ); printf( “继续请按 1,退出请按 0n“ );