C语言课程设计 ----小学生算术练习管理系统_第1页
C语言课程设计 ----小学生算术练习管理系统_第2页
C语言课程设计 ----小学生算术练习管理系统_第3页
C语言课程设计 ----小学生算术练习管理系统_第4页
C语言课程设计 ----小学生算术练习管理系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

C语言课程设计-小学生算术练习管理系统一、总体设计1概述 (1)总体设计目标让小学生利用本系统练习小学算术运算,巩固提高算术运算能力。对于加法、减法、乘法、除法、四则混合运算,系统能够自动出题,并能够自动判断小学生回答的正误;小学生可以选择不同的内容进行练习;小学生可以利用本系统进行模拟考试,检测自己的算术运算水平。(2)总体设计策略本系统采用的是自顶向下、层次化的模块结构,把一个大的模块逐步分解成较小的相对简单的模块。为了提高每个模块的内聚性、降低模块间的耦合性,将每个模块设计成具有单一功能的模块(即功能内聚),使模块间的联系完全是通过主模块的控制和调用来实现(即非直接耦合)。2计算机系统配置(1)硬件配置(略)(2)软件配置操作系统:windows2000;C语言编译系统:WIN-TC。3系统结构(1)系统结构图小学生算术练习管理系统的系统结构图如下所示,总共由7个模块组成,其中一个是总控模块,另外七个是分别实现不同功能的子模块:小学生算术练习管理系统总控模块加法运算练习子模块减法运算练习子模块乘法运算练习子模块除法运算练习子模块模拟考试练习子模块四则混合运算练习子模块(2)模块说明书A小学生算术练习管理系统总控模块的模块说明书模块名称:小学生算术练习管理系统总控模块输入:主菜单选择项输出:处理:1按以下格式显示主菜单和提示小学生选择: 小学生算术练习管理系统 (1)加法运算练习 (2)减法运算练习 (3)乘法运算练习 (4)除法运算练习 (5)四则混合运算练习 (6)模拟考试练习 (7)结束练习,退出本系统 请选择(1,2,3,4,5,6,7):2接收主菜单选择项 如果选择项的值为1,调用加法运算练习子模块。 如果选择项的值为2,调用减法运算练习子模块。 如果选择项的值为3,调用乘法运算练习子模块。 如果选择项的值为4,调用除法运算练习子模块。 如果选择项的值为5,调用四则混合运算练习子模块。 如果选择项的值为6,调用模拟考试练习子模块。 如果选择项的值为7,结束练习,退出本系统。B加法运算练习子模块的模块说明书模块名称:加法运算练习子模块输入:根据给定加数与被加数,小学生输入两者的和数输出:根据小学生输入的和数,输出表示“正确”或“错误”的提示信息处理:1按以下格式显示子菜单和提示小学生选择:加法运算练习子系统 (1)作两位整数的加法运算练习 (2)作三位或三位以上的整数加法运算练习(3)返回主菜单请选择(1,2,3):2接收子菜单选择项如果选择项的值为1,随机出一道两位整数的加法练习题,根据小学生的回答,输出表示“正确”或“错误”的提示信息,然后再显示子菜单。如果选择项的值为2,随机出一道三位或三位以上的整数的加法练习题,根据小学生的回答,输出表示“计算正确”或“计算错误”的提示信息,然后再显示子菜单。如果选择项的值为3,结束加法运算练习,返回主菜单。C减法运算练习子模块的模块说明书模块名称:减法运算练习子模块输入:根据给定被减数与减数,小学生输入两者的差数输出:根据小学生输入的差数,输出表示“正确”或“错误”的提示信息处理:1按以下格式显示子菜单和提示小学生选择:减法运算练习子系统 (1)作两位整数的减法运算练习 (2)作三位或三位以上的整数减法运算练习(3)返回主菜单请选择(1,2,3):2接收子菜单选择项如果选择项的值为1,随机出一道两位整数的减法练习题,根据小学生的回答,输出表示“正确”或“错误”的提示信息,然后再显示子菜单。如果选择项的值为2,随机出一道三位或三位以上的整数减法练习题,根据小学生的回答,输出表示“计算正确”或“计算错误”的提示信息,然后再显示子菜单。如果选择项的值为3,结束减法运算练习,返回主菜单。D乘法运算练习子模块的模块说明书模块名称:乘法运算练习子模块输入:根据给定被乘数与乘数,小学生输入两者的积数输出:根据小学生输入的积数,输出表示“正确”或“错误”的提示信息处理:1按以下格式显示子菜单和提示小学生选择:乘法运算练习子系统 (1)作两位整数的乘法运算练习 (2)作三位或三位以上的整数乘法运算练习(3)返回主菜单请选择(1,2,3):2接收子菜单选择项如果选择项的值为1,随机出一道两位整数的乘法练习题,根据小学生的回答,输出表示“正确”或“错误”的提示信息,然后再显示子菜单。如果选择项的值为2,随机出一道三位或三位以上的整数乘法练习题,根据小学生的回答,输出表示“计算正确”或“计算错误”的提示信息,然后再显示子菜单。如果选择项的值为3,结束乘法运算练习,返回主菜单。E除法运算练习子模块的模块说明书模块名称:除法运算练习子模块输入:根据给定被除数与除数,小学生输入两者的商数输出:根据小学生输入的商数,输出表示“正确”或“错误”的提示信息处理:1按以下格式显示子菜单和提示小学生选择:除法运算练习子系统 (1)作两位整数的除法运算练习 (2)作三位或三位以上的整数除法运算练习(3)返回主菜单请选择(1,2,3):2接收子菜单选择项如果选择项的值为1,随机出一道两位整数的除法练习题,根据小学生的回答,输出表示“正确”或“错误”的提示信息,然后再显示子菜单。如果选择项的值为2,随机出一道三位或三位以上的整数除法练习题,根据小学生的回答,输出表示“计算正确”或“计算错误”的提示信息,然后再显示子菜单。如果选择项的值为3,结束除法运算练习,返回主菜单。F四则混合运算练习子模块的模块说明书模块名称:四则混合运算练习子模块输入:根据给定的四则混合运算式,小学生输入运算式的得数输出:根据小学生输入的得数,输出表示“正确”或“错误”的提示信息处理:1按以下格式显示子菜单和提示小学生选择:四则混合运算练习子系统 (1)作整数的四则混合运算练习 (2)返回主菜单请选择(1,2):2接收子菜单选择项如果选择项的值为1,随机出一道整数的四则混合运算的练习题(如果出现除法,要保证能整除),根据小学生的回答,输出表示“计算正确”或“计算错误”的提示信息,然后再显示子菜单。如果选择项的值为2,结束四则混合运算练习,返回主菜单。G模拟考试练习子模块的模块说明书模块名称:模拟考试练习子模块输入:根据给定的模拟考试卷,小学生输入各题的答案。输出:根据小学生对各题回答的情况,以及每题的规定分数,统计小学生总共所得总分,输出该总分。处理:1按以下格式显示子菜单和提示小学生选择:算术运算模拟考试练习子系统 (1)作模拟考试练习题 (2)返回主菜单请选择(1,2):2接收子菜单选择项如果选择项的值为1,随机出一份模拟考试卷,根据小学生对各题的回答情况,以及每题的规定分数,统计小学生总共所得总分,输出该总分。然后再显示子菜单。如果选择项的值为2,结束模拟考试,返回主菜单。二、详细设计1“小学生算术练习管理系统总控模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“A小学生算术练习管理系统总控模块”的模块说明书。开始(2)程序流程图如下:定义整型变量xz显示主菜单,让小学生选择练习内容,给变量xz赋值(17)xz=7switch(xz)xz=1 xz=2 xz=3 xz=4 xz=5 xz=6调用除法运算练习子模块调用四则混合运算练习子模块调用乘法运算练习子模块调用减法运算练习子模块调用加法运算练习子模块调用模拟考试练习子模块结束2“加法运算练习子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“B加法运算练习子模块”的模块说明书。(2)程序流程图如下:开始定义整型变量xz1,a,b,c显示加法练习子菜单,让小学生选择练习内容,给变量xz1赋值(13)switch(xz1)xz1=1 xz1=2 xz1=3随机出一道两位整数加法题a+b随机出一道三位或三位以上整数加法题a+b小学生输入和数c小学生输入和数c如果a+b等于c,输出“计算正确”,否则输出“计算错误”如果a+b等于c,输出“计算正确”,否则输出“计算错误”返回3“减法运算练习子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“C减法运算练习子模块”的模块说明书。(2)程序流程图如下:开始定义整型变量xz2,a,b,c显示减法练习子菜单,让小学生选择练习内容,给变量xz2赋值(13)switch(xz2)xz2=1 xz2=2 xz2=3随机出一道两位整数减法题a-b随机出一道三位或三位以上整数减法题a-b小学生输入差数c小学生输入差数c如果a-b等于c,输出“计算正确”,否则输出“计算错误”如果a-b等于c,输出“计算正确”,否则输出“计算错误”返回4“乘法运算练习子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“D乘法运算练习子模块”的模块说明书。(2)程序流程图如下:开始定义整型变量xz3,a,b,c显示乘法练习子菜单,让小学生选择练习内容,给变量xz3赋值(13)switch(xz3)xz3=1 xz3=2 xz3=3随机出一道两位整数乘法题a*b随机出一道三位或三位以上整数乘法题a*b小学生输入积数c小学生输入积数c如果a*b等于c,输出“计算正确”,否则输出“计算错误”如果a*b等于c,输出“计算正确”,否则输出“计算错误”返回5“除法运算练习子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“E除法运算练习子模块”的模块说明书。(2)程序流程图如下:开始定义整型变量xz4,a,b,c,d显示除法练习子菜单,让小学生选择练习内容,给变量xz4赋值(13)switch(xz4)xz4=1 xz4=2 xz4=3随机出一道两位整数除法题ab随机出一道三位或三位以上整数除法题ab小学生输入商数c,余数d小学生输入商数c,余数d如果ab商数是c,余数是d,输出“计算正确”,否则输出“计算错误”如果ab商数是c,余数是d,输出“计算正确”,否则输出“计算错误”返回6“四则混合运算练习子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“F四则混合运算练习子模块”的模块说明书。(2)程序流程图如下:开始定义整型变量xz5等显示四则混合运算练习子菜单,让小学生选择练习内容,给变量xz5赋值(1,2)NOYESxz5=1随机出一道整数的四则混合运算练习题(如果出现除法,要保证能整除)小学生输入混合运算的结果如果小学生输入的结果正确,输出“计算正确”,否则输出“计算错误”返回7“模拟考试练习子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“G模拟考试练习子模块”的模块说明书。(2)程序流程图如下:开始定义整型变量xz6、sum等。定义字符数组ti,整型数组fen、zj、jg。显示模拟考试练习子菜单,让小学生选择练习内容,给变量xz6赋值(1,2)NOYESxz6=1随机出一份模拟考试卷(利用字符数组ti存储考试题,利用整型数组fen和zj存储各题的分数和正确结果)小学生输入模拟考试卷中各题的结果(存储在整型数组jg中)计算总分数sum(如果整型数组jg和zj的对应元素值相同,则将整型数组fen的对应元素值累加到sum上),显示总分数sum。返回三、编码1说明“小学生算术练习管理系统总控模块”的功能由main函数实现,根据“小学生算术练习管理系统总控模块”的程序流程图编写main函数。“加法运算练习子模块”的功能由han1函数实现,根据“加法运算练习子模块”的程序流程图编写han1函数。“减法运算练习子模块”的功能由han2函数实现,根据“减法运算练习子模块”的程序流程图编写han2函数。“乘法运算练习子模块”的功能由han3函数实现,根据“乘法运算练习子模块”的程序流程图编写han3函数。“除法运算练习子模块”的功能由han4函数实现,根据“除法运算练习子模块”的程序流程图编写han4函数。“四则混合运算练习子模块”的功能由han5函数实现,根据“四则混合运算练习子模块” 程序流程图编写han5函数。“模拟考试练习子模块”的功能由han6函数实现,根据“模拟考试练习子模块”的程序流程图编写han6函数。2选择编写程序语言C语言3源程序清单# include “math.h”void han1() int xz1,a,b,c; while (1) printf(“*加法运算练习子系统*n”); printf(“ 1. 作两位整数的加法运算练习n”); printf(“ 2. 作三位或三位以上整数的加法运算练习n”); printf(“ 3. 返回主菜单n”); printf(“ 请选择(1,2,3):”); scanf(“%d”,&xz1); switch(xz1) case 1: while (1)a=rand(); if (a=0&a=0&b=100&a=100&b=0&a=0&b=b)break; printf(%d-%d=,a,b); scanf(%d,&c); if (a-b=c) printf(right!n); else printf(error!n);break; case 2: while (1)a=rand();b=rand(); if (a=100&a=100&b=b)break; printf(%d-%d=,a,b); scanf(%d,&c); if (a-b=c) printf(right!n);else printf(error!n);break;case 3: goto end; end: return;void han3() int xz3,a,b,c; while (1) printf(“*乘法运算练习子系统*n”); printf(“ 1. 作两位整数的乘法运算练习n”); printf(“ 2. 作三位或三位以上整数的乘法运算练习n”); printf(“ 3. 返回主菜单n”); printf(“ 请选择(1,2,3):”); scanf(“%d”,&xz3); switch(xz3) case 1: while (1)a=rand(); if (a=0&a=0&b=100&a=100&b=0&b=0&ab)break; printf(%d%dn,a,b);printf(商=);scanf(%d,&c);printf(余数=);scanf(%d,&d); if (a/b=c)&(a%b=d) printf(nright!n); else printf(nerror!n);break; case 2: while (1)a=rand();b=rand();if (b=100&b=100&ab)break; printf(%d%dn,a,b);printf(商=);scanf(%d,&c);printf(余数=);scanf(%d,&d); if (a/b=c)&(a%b=d) printf(nright!n); else printf(nerror!n);break;case 3: goto end; end: return;void han5() int xz5,a; char ti530=“10+205-32=”,“(902-100)4-9=”,“50+80-60-40=”, “70+(60-40)10+8=”,“90-56+37=”; int jg5,zj5=8,11,30,80,81; while (1) printf(“*四则混合运算练习子系统*n”); printf(“ 1. 作四则混合运算练习n”); printf(“ 2. 返回主菜单n”); printf(“ 请选择(1,2):”); scanf(“%d”,&xz5); if (xz5=1) while (1)a=rand();if (a=0&a=4) break;/*在所有题中随机选中下标为a的题*/puts(tia); scanf(“%d”,&jga); if (jga=zja) printf(nright!n); else printf(nerror!n); else break; return;void han6() int xz6,a,m,k=0,sum; /*数组ti中存储了2份试卷,每份试卷5道题。*/*若要增加试卷份数或题数,可改数组ti的维数*/ char ti2530=1. 10+205-32=,2. (902-100)4-9=,3. 50+80-60-40=,4. 70+(60-40)10+8=,5. 90-56+37=,1. 202-5+3=,2. 205+16-34=,3. 93+21-18=,4. 80-7035+12=,5. (64-12+3)5=; int fen25=10,10,10,10,10,10,10,10,10,10;/*数组fen存储每题的分数*/ int jg25,zj25=8,11,30,80,81,38,8,32,90,3;/*数组zj存储每题的答案*/ wh

温馨提示

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

评论

0/150

提交评论