标题:求助 设计一个小学生自助四则运算练习软件
只看楼主
浮生未寒
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-5-19
结帖率:0
已结贴  问题点数:20 回复次数:9 
求助 设计一个小学生自助四则运算练习软件
(1)学生在答题前能够选择是进行什么运算的练习,运算包括:+、-、*、/。
(2)每种运算设立二级难度系数,第一级为100以内的运算,第二级为1000以内的运算。学生答题前能够选择难度系数。
(3)要求数据是产生的随机数,学生只输入答案;如果答案正确,则显示“你的答案是正确的”;如果答案是错的,则显示出来“正确答案”。
(4)每道题做完后,可以选择继续练习或退出。
搜索更多相关主题的帖子: 答题 软件 小学生 正确答案 
2015-05-19 19:17
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:5 
伸手党

DO IT YOURSELF !
2015-05-21 09:07
jiatanghao
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2015-5-20
得分:0 
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
int main()
{
    int i,a,b,answer,input,choose;
    char c;
A:    srand((unsigned)time(NULL));

    printf("请输入运算:");
    scanf("%c", &c);
    printf("请输入难度系数:");
    //printf("%c\n", c);
    scanf("%d", &i);
    i = i % 2;
    if (i == 0)
        {
            a = rand() % 100;
            b = rand() % 100;
        }
    else
        {
            a = rand() % 1000;
            b = rand() % 1000;
        }
        if (c == '+')
        {
            answer = a + b;
        }
        if (c == '-')
        {
            answer = a - b;
        }
        if (c == '*')
        {
            answer = a*b;
        }
        if (c == '/')
        {
            answer = a / b;
        }

        printf("%d%c%d=", a,c,b);

    scanf("%d", &input);
    if (input == answer)
    {
        printf("你的答案正确\n");
    }
switch(choose)
{
    case 0:goto A;
    default:goto B;
}
B:    return 0;
}    else
    {
        printf("你的答案错误\n");
    }
    scanf("%d",&choose);
    getchar();
switch(choose)
{
    case 0:goto A;
    default:goto B;
}
B:    return 0;
}
2015-05-21 15:08
lep123518
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2015-5-21
得分:5 
楼上程序报错了
2015-05-21 20:29
jiatanghao
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2015-5-20
得分:0 
回复 4楼 lep123518
你用的什么编译器?
2015-05-22 14:02
jiatanghao
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2015-5-20
得分:0 
回复 4楼 lep123518

这是我运行后的截图
2015-05-22 14:08
quicksand
Rank: 1
等 级:新手上路
帖 子:4
专家分:9
注 册:2015-5-24
得分:5 
#include <stdio.h>    /*是指标准库中输入输出流的头文件*/
void main()
{
    char command_begin;  /*开始字符*/
    double first_number; /*第一个数*/
    char character;   /*运算符(+、-、*、/)*/
    double second_number;  /*第二个数*/
    double value;   /*计算结果*/
    printf("简单计算器程序\n----------------\n");
    printf("在'>' 提示后输入一个命令字符\n");     /*输出提示信息*/
    printf("是否开始?(Y/N)>");     /*输出提示信息*/
    scanf("%c",&command_begin);    /*输入Y/N; */        
    while(command_begin=='Y'||command_begin=='y') {    /*当接收Y/y命令时执行计算器程序*/
       printf("请输入一个简单的算式:");      /*输出提示信息*/
    scanf("%lf%c%lf",&first_number,&character,&second_number);    /*输入一个算式,如3+5*/
    switch(character) {    /*判断switch语句的处理命令*/
            case '+':   /*当输入运算符为"+"时,执行如下语句*/
                value=first_number+second_number;     /*进行加法运算*/
                printf("等于%lf\n",value);
                break;     /*转向switch语句的下一条语句*/
            case '-':     /*当输入运算符为"-"时,执行如下语句*/
                value=first_number-second_number;     /*进行减法运算*/
                printf("等于%lf\n",value);
                break;     /*转向switch语句的下一条语句*/
            case '*':     /*当输入运算符为"*"时,执行如下语句*/
                value=first_number*second_number;     /*进行乘法运算*/
                printf("等于%lf\n",value);
                break;     /*转向switch语句的下一条语句*/
            case '/':     /*当输入运算符为"/"时,执行如下语句*/
                while(second_number==0){  /*若除数为零,重新输入算式,直到除数不为零为止*/
                        printf("除数为零,请输入一个算式:");      /*输出提示信息*/
                        scanf("%lf%c%lf",&first_number,&character,&second_number);    /*输入一个算式,如3+5*/
                }
                value=first_number/second_number;     /*进行除法运算*/
                printf("等于%lf\n",value);
                break;     /*转向switch语句的下一条语句*/
            default:
                printf("非法输入!\n");     /*当输入命令为其他字符时,执行如下语句*/
        }     //结束switch语句
        printf("是否继续运算?(Y/N)>");     /*输出提示信息*/
        fflush(stdin);   //清空缓冲区
        scanf("%c",&command_begin);     /*输入命令类型如y/Y*/
    }     //结束while循环语句
    printf("程序退出!\n");    /*退出循环时显示提示信息*/
}
2015-05-25 00:17
quicksand
Rank: 1
等 级:新手上路
帖 子:4
专家分:9
注 册:2015-5-24
得分:0 
#include <stdio.h>

int main()
{
    float data1, data2;
    char op;

    while (3 == scanf("%f%c%f", &data1, &op, &data2) )
    {
        float result;

        printf("%f%c%f=", data1, op, data2);

        switch (op)
        {
        case '+':
            result = data1 + data2;
            break;
        case '-':
            result = data1 - data2;
            break;
        case '*':
            result = data1 * data2;
            break;
        case '/':
            result = data1 / data2;
            break;
        default:;
        }

        printf("%f\n", result);
    }
    return 0;
}
//这个也可以,看起来更加简单一点
2015-05-25 00:28
xm1176081804
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-5-23
得分:0 
回复 3楼 jiatanghao
我打了一下也是错的 求助
2018-05-23 13:57
xm1176081804
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-5-23
得分:0 
回复 3楼 jiatanghao
我用的C-free
2018-05-23 13:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445499-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.729803 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved