c语言课程设计教小学生学算术,C语言课程设计报告小学生算术运算测评软件.doc...

C语言课程设计

学部: 机电学院

专业: 电信本一

班级: 电信本一

学号:

姓名:

指导老师:

2015年9月

第1章 小学生算术运算测评软件

1.1问题描述

小学生算术运算测试系统能自动生成加法、减法、乘法和除法的算数表达式,并且通过学生输入的答案判断结果是否正确,然后给出提示。在用户选择结束程序时,可以统计共答了多少题,得分是多少。

1.2实现功能

小学生算术运算测评系统要求实现5大功能:随机输出加法表达式并判断答案是否正确;随机输出减法表达式并判断答案是否正确;随机输出乘法表达式并决断答案是否正确;随机输出除法表达式并判断答案是否正确;统计答题数目和得分情况。

1.3设计算法

1.该程序为小学生算术测评程序,主函数中先是用一连串的输出语句来说明程序的功能及使用方法,输1对应加法运算,输2对应减法运算,输3对应乘法运算,输4对应除法运算,输0对应的是退出程序 。

2.然后是程序的分支语句 ,通过switch多分支语句来完成,为了使switch语句里的case语句不仅仅只执行一个,这里我使用for(;;)无限循环解决,这里不用担心程序永远不会结束,因为输0后exit(0)这个系统函数可以帮助我们退出程序,这里需要提到的一点是,我采用的是默认为继续做题,而并非采用输y继续做题。

3.函数的加减乘除功能的实现 ,是通过相对应的子函数实现的,这里我们将对应功能的子函数封装在对应的头文件里等待调用 。

4. 具体的功能函数的实现, add.h头文件包含加法功能的实现。该add()子函数通过rand()函数取10的模得到随机数,余数被作为加法运算的操作数,通过一个双分支if?{}else{}语句来处理用户输入的和的结果是否为对错,对则加10分,错则不加分。这里值得一提的是count变量(计题数的变量)、score变量(用户的得分)一定要为全局变量 。

其他功能的实现,这里我们的改变不是很大,基本上是对应运算符的改变,这里我们不在详述 。

另外,这里在也写出了不自己自定义头文件的方法,见最后的图【源.c】。

1.4设计代码

main.cpp

#include"stdio.h"

#include"stdlib.h"

#include"time.h"

#include"add.h"

#include"div.h"

#include"sub.h"

#include"mul.h"

int main()

{

printf("\t\t欢迎进入算数测试软件\n");

printf("****\t\t******************\t\t****\n");

printf("****\t\t输入1,做加法测试\t\t****\n");

printf("****\t\t输入2,做减法测试\t\t****\n");

printf("****\t\t输入3,做乘法测试\t\t****\n");

printf("****\t\t输入4,做除法测试\t\t****\n");

printf("****\t\t输入0,就退出测试\t\t****\n");

printf("****\t\t******************\t\t****\n");

int score = 0;

int count = 0;

int chose = 0;

for (;;)

{

scanf("%d", &chose);

switch (chose)

{

case 1:

add(); break;

case 2:

sub(); break;

case 3:

mul(); break;

case 4:

div(); break;

case 0:

exit(0); break;

default:

printf("你输入了非法字符\n");

}

printf("默认为继续做题,输入0为退出软件\n");

}

return 0;

}

add.h

#ifndef _ADD_H_

#define _ADD_H_

int score = 0;

int count = 0;

void add()

{

int x = 0, y = 0, z = 0, result = 0;

srand(time(NULL));//避免产生相同数

x = rand() % 10;

y = rand() % 10;

result = x + y;

printf("%d+%d=",

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值