标题:[求助]哪路高手来帮帮!
只看楼主
yan704
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-5-19
 问题点数:0 回复次数:10 
[求助]哪路高手来帮帮!
综合练习:编程实现小学生算术练习系统,要求主菜单包括5项(加法,减法,乘法,除法,退出),而前4项中每一项又包括子菜单(子菜单包括4项:一级练习,二级练习,三级练习,返回),其中一级实现10以内的整数运算,二级实现50以内的整数运算,三级实现100以内的整数运算.进入某一级后,反复练习(由机器产生两个随机数,用户输入运算结果,输出正确"RIGHT"或者错误"WRONG"),等用户选择"返回"后,给出本级题目中计算正确的百分比.

这道题小D不思其解!请来帮帮!
搜索更多相关主题的帖子: 一级 小学生 子菜单 百分比 用户 
2005-06-07 15:47
yan704
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-5-19
得分:0 
就没人会编吗!?>
2005-06-07 23:36
yan704
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-5-19
得分:0 
就真的没人会做这道题???

这里真的是让我失望!!
2005-06-08 12:58
seeker
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2005-6-5
得分:0 
不要抱怨!!没有理由抱怨!没人有义务要为你做,只能说是想要帮你!

这道题如果不是要图形界面的话其实不难的,自己多用一些循环就可以了,还有随机数可用

给你随机函数的参考例子
函数名: random
功  能: 随机数发生器
用  法: int random(int num);
程序例:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

/* 打印0到99之间的随机整数*/
int main(void)
{
   randomize();
   printf(" 0到99之间的随机整数: %d\n", random (100));
   return 0;
}

/*************************/

函数名: rand
功  能: 随机数发生器
用  法: void rand(void);
程序例:

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
   int i;

   printf("随机整数0 到 99:\n\n");
   for(i=0; i<10; i++)
      printf("%d\n", rand() % 100);
   return 0;
}

我相信总有一片天空属于我!http://myseeker. E-Mail:lwqcny@
2005-06-08 22:27
yan704
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-5-19
得分:0 
谢谢楼主提示!
但小弟太笨了,还是做不出,能不能请楼主再完整点呢!
2005-06-09 10:37
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
得分:0 
见过类似的题目, 要考试了,忙, 大的程序暑假再帮你搞吧~

2005-06-09 14:35
seeker
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2005-6-5
得分:0 
好的

我相信总有一片天空属于我!http://myseeker. E-Mail:lwqcny@
2005-06-09 15:58
seeker
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2005-6-5
得分:0 

#include <stdlib.h> #include <stdio.h> #include <time.h> #include <conio.h> #include <process.h>

//产生随机数(整数),位于区间[a,b]或者[b,a] int randInt(int a, int b) { if(a<b) return a + rand()%(b-a+1); else if(a>b) return b + rand()%(a-b+1); else // a==b return a; }

int main() { int a=1, b=1,i,j; int t; float c=1.0; int n,m,N; int temp; int CountRight=0,CountWrong=0; while(1) { srand(time(0)); //保证每次运行产生的随机数都不一样 system("cls");/*清屏*/ CountRight=0; printf("\n"); for(j=0;j<25;j++) printf("*"); printf("欢迎使用小学生四则运算测试系统"); for(j=0;j<25;j++) printf("*"); printf("\n\t\t1:加法 2:减法 3:乘法 4:除法 5:退出\n\n"); for(j=0;j<55;j++) printf("*"); printf(" seeker 2005.06.09 ******"); printf("请选择运算法则: "); scanf("%d",&m); while(m<=0||m>=6) { printf("-------------------选择错误!重新选择!"); scanf("%d",&m); }

if(m==5) exit(1);/*退出系统*/

printf("\t\t (请选择级别) 1:一级 2:二级 3:三级 "); scanf("%d",&n); while(n<=0||n>=4) { printf("-------------------选择错误!重新选择!"); scanf("%d",&n); } /*************/ switch(m)//判断运算规则 { case 1:printf(" 进入加法 %d 级练习====>(在后面输入结果)\n\n",n);break; case 2:printf(" 进入减法 %d 级练习====>(在后面输入结果)\n\n",n);break; case 3:printf(" 进入乘法 %d 级练习====>(在后面输入结果)\n\n",n);break; case 4:printf(" 进入除法 %d 级练习====>(在后面输入结果)\n\n",n);break; default: break; } switch(n)//判断级别 { case 1:N=10;break; case 2:N=50;break; case 3:N=100;break; default: break; } for(i=1; i<=1000;++i)/*最多做1000道题,够了吧?*/ { a=randInt(1,N); b=randInt(1,N); switch(m)//判断运算规则 { case 1: printf(" 第%d%题:%d + %d =? ",i,a,b); c=a+b; scanf("%d",&t);break; case 2: printf(" 第%d%题:%d - %d =? ",i,a,b); c=a-b; scanf("%d",&t);break; case 3: printf(" 第%d%题:%d * %d =? ",i,a,b); c=a*b; scanf("%d",&t);break; case 4: printf(" 第%d%题:%d / %d =? ",i,a,b); c=(float)a/b; scanf("%.2f",&t);break; default: break; } if(t==c) { printf("-------------------------------Right!"); CountRight++; } else printf("-------------------------------Wrong!"); printf("\n\t0--返回,1--继续\n"); scanf("%d",&temp); //cin>>temp; if(temp==0) { printf("\t\t\t\t\t\t总共做题%d条。其中:对%d条,错%d条\n",i,CountRight,i-CountRight); printf("\t\t\t\t\t\t正确率为:%.2f%%",100*(float)CountRight/i); getch(); break; } } } return 0; }


我相信总有一片天空属于我!http://myseeker. E-Mail:lwqcny@
2005-06-09 18:14
seeker
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2005-6-5
得分:0 
上面程序中除法部分有错,我没空去想办法改正,自己搞定吧,都说了很容易啊,是不是?问题是动不动脑子。 注意哦!!!以上程序在VC++6.0下编译通过,TC没试过。

[此贴子已经被作者于2005-6-9 18:37:00编辑过]


我相信总有一片天空属于我!http://myseeker. E-Mail:lwqcny@
2005-06-09 18:16
yan704
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-5-19
得分:0 
谢谢seeket谢谢!我是太菜了!这样的程序我不知得花多少时间!

谢谢你啦!
2005-06-10 00:16



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




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

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