| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2137 人关注过本帖
标题:算术系统 求解
只看楼主 加入收藏
a17080
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2018-6-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
算术系统 求解
小学生算术练习系统

基本功能:设计一个供小学生进行算术练习的系统,基本功能包括:
一级菜单显示“1.加、2.减、3.乘、4.除、5.退出”,供用户选择。用户输入自己的选择后,进入相应的模块进行多次题目练习。比如,选择“1”,则进入“加法练习”模块,进行加法练习(系统随机生成加数、显示加法表达式如 35+12=  ,等用户输入结果后,系统自动判对错)。当用户选择“5”时退出系统。
二级菜单显示“范围选择”,分别有“10以内、 20以内、50以内、100以内”,“10以内”表示要进行10以内的运算。
计算本次练习的准确率(百分比):当选择某一种运算后,系统开始随机出题、用户输入计算结果、系统判对错,然后提示用户是否继续,输入‘y’则继续,否则结束本次练习,退出时计算本次练习的正确率并显示在屏幕上。比如,退出加法练习时,显示本次加法题做对的百分比。
成绩记录:当用户退出程序时,首先读取文件中的历史最高纪录,然后将用户的本次记录与最高纪录比较,给出比较结果(比如您的加法、乘法运算打破记录,除法运算还要加把劲!),最后把本次练习的加、减、乘、除的准确率写入文件(默认初始的准确率为0,且没做过的练习的准确率也为0)。
求个大佬解答
搜索更多相关主题的帖子: 系统 练习 用户 选择 加法 
2018-06-25 14:35
a17080
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2018-6-25
收藏
得分:0 
成绩记录怎摸弄呀
2018-06-26 08:15
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:10 
你这样提问,自已一点代码都不弄出来,也不说,自己是在什么地方有不懂的,谁会帮你呢??
2018-06-26 09:27
a17080
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2018-6-25
收藏
得分:0 
#include<stdio.h>
#include<windows.h>
#include <stdlib.h>
void gotoxy(int x,int y);
double jiafa(void);
char mygetchar(void);//清空输入
int main(void)
{
    int i;
    double pa;
    printf("选择练习项目:\n");
    printf("1.练习加法  2.练习减法\n");
    printf("3.练习乘法  4.练习除法\n");
    printf("5.退出系统\n");
    while(i=mygetchar())
    {
        if(i>'0'&&i<'6')
            break;
        printf("输入错误!请重新输入:");
    }
    switch(i)
    {
    case '1' : system("cls");pa=jiafa();break;
    case '5' : break;
    }
    printf("您的正确率为:%.2lf%%",pa*100);
    getchar();//为什么加这个
    return 0;
}
double jiafa(void)
{
    int a[5],b[5],i,m=0,n=0,x,y=0;
    double p;
    char ch,ch2;
    srand((unsigned)time(NULL));//随机数
    do
    {    system("cls");   
        printf("选择范围:\n");
        printf("a.0-10   b.0-20\n");
        printf("c.0-50   d.0-100\n");
        ch=mygetchar();
        while(ch<'a'||ch>'d')
        {
            printf("输入错误!请重新输入:");
            y++;
            ch=mygetchar();
        }
        if(ch=='a')
        {
            for(i=0;i<5;++i)
                {
                    a[i]=rand()%11;
                    b[i]=rand()%11;
                    printf("%2d+%2d=\n",a[i],b[i]);
                }
        }
        if(ch=='b')
        {
            for(i=0;i<5;++i)
                {
                    a[i]=rand()%21;
                    b[i]=rand()%21;
                    printf("%2d+%2d=\n",a[i],b[i]);
                }
        }
        if(ch=='c')
        {
            for(i=0;i<5;++i)
                {
                    a[i]=rand()%51;
                    b[i]=rand()%51;
                    printf("%2d+%2d=\n",a[i],b[i]);
                }
        }
        if(ch=='d')
        {
            for(i=0;i<5;++i)
                {
                    a[i]=rand()%101;
                    b[i]=rand()%101;
                    printf("%2d+%2d=\n",a[i],b[i]);
                }
        }
        for(i=0;i<5;++i)
        {
            m++;
            gotoxy(7,i+y+4);
            scanf("%d",&x);
            if(x==a[i]+b[i])
            {
                gotoxy(15,i+y+4);
                printf("√");
                n++;
            }
            else
            {
                gotoxy(15,i+y+4);
                printf("×");
            }
        }
        while(getchar()!='\n')
            continue;
        printf("\n是否继续?(Y/N)\n");
        ch2=mygetchar();
    }while(ch2!='N'&&ch2!='n');
    system("cls");
    p=(1.0*n)/m;
    gotoxy(26,12);
    return p;
}
void gotoxy(int x, int y)//移动光标
{
    COORD coord = {x, y};   
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
char mygetchar(void)
{
    char ch;
    ch=getchar();
    while(getchar()!='\n')
        continue;   
    return ch;
}
2018-06-27 08:30
a17080
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2018-6-25
收藏
得分:0 
回复 3楼 自学的数学
这是我改的别人的,但是成绩记录就不懂怎么加了


while(ch2!='N'&&ch2!='n');这句改成while(ch2=='Y'&&ch2=='y')为什么不能实现是Y、y则继续呢
2018-06-27 08:36
刘翰林
Rank: 2
等 级:论坛游民
帖 子:2
专家分:10
注 册:2018-6-28
收藏
得分:10 
您好, 我也在做你的这个程序   有几个地方不太懂    能不能加一个qq好友问问你啊?
2018-06-28 13:25
a17080
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2018-6-25
收藏
得分:0 
回复 6楼 刘翰林
我也好多不懂呀
Q1677843036,一起看看吧
2018-06-28 14:11
快速回复:算术系统 求解
数据加载中...
 
   



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

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