求c++编写小学生数学测试软件的源代码

要求:1.可选择题型为(+,-,*,/);2.可选择每次答题的个数;3.随机生成两个数进行运算;4.每次在输入答案后应判断对错,若答案错误,应给出正确答案;5.最后给出做... 要求:
1.可选择题型为(+,-,*,/);
2.可选择每次答题的个数;
3.随机生成两个数进行运算;
4.每次在输入答案后应判断对错,若答案错误,应给出正确答案;
5.最后给出做对题目的总个数。
注意:产生随机数的方法——使用随机数函数
展开
 我来答
百度网友e2c8ad4
2010-07-04
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部

//#include <stdlib.h>

#include <iostream>

using namespace std;

int main()

{

    int i,j,k,l=0,n;

    cout<<"************************************小学数学测试*******************************"<<endl;

    cout<<"请选择想测试的题型:1.+ 2.- 3.* 4./:";

    cin>>i;

    

    if(i==1)

    {

     cout<<"请输入测试题的个数:";

     cin>>j;

     for(int k1=0;k1<j;k1++)

            {

            srand((unsigned)time(NULL));

            int x1=rand()%100;

            int x2=rand()%100;           

             cout<<x1<<"+"<<x2<<"=:";

             cin>>k;

             if(k==x1+x2){

                          cout<<"回答正确!"<<endl; 

                          l++;

                          }

             else

             cout<<"回答错误!正确答案为:"<<x1+x2<<endl; 

             }

     }

     else if(i==2)

    {

     cout<<"请输入测试题的个数:";

     cin>>j;

     for(int k1=0;k1<j;k1++)

            {

            srand((unsigned)time(NULL));

            int x1=rand()%100;

            int x2=x1+rand()%50;           

             cout<<x2<<"-"<<x1<<"=:";

             cin>>k;

             if(k==x2-x1){

                          cout<<"回答正确!"<<endl; 

                          l++;

                          }

             else

             cout<<"回答错误!正确答案为:"<<x2-x1<<endl; 

             }

     }

    else if(i==3)

    {

     cout<<"请输入测试题的个数:";

     cin>>j;

     for(int k1=0;k1<j;k1++)

            {

            srand((unsigned)time(NULL));

            int x1=rand()%100;

            int x2=rand()%100;           

             cout<<x1<<"*"<<x2<<"=:";

             cin>>k;

             if(k==x1*x2){

                          cout<<"回答正确!"<<endl; 

                          l++;

                          }

             else

             cout<<"回答错误!正确答案为:"<<x1*x2<<endl; 

             }

     }

     else if(i==4)

    {

     cout<<"请输入测试题的个数:";

     cin>>j;

     for(int k1=0;k1<j;k1++)

            {

            srand((unsigned)time(NULL));

            int x1=rand()%100+1;

            int x2=x1*(rand()%10);           

             cout<<x2<<"/"<<x1<<"=:";

             cin>>k;

             if(k==x2/x1){

                          cout<<"回答正确!"<<endl; 

                          l++;

                          }

             else

             cout<<"回答错误!正确答案为:"<<x2/x1<<endl; 

             }

     }

     cout<<"这次测试你作对的题目的个数为"<<l<<"个"<<endl; 

     cout<<"是否继续测试:0.退出 1.继续:";

     cin>>n;

     if(n==1){

     return main();}

//    system("PAUSE");

    return 0;

}

测试过几次应该没错误的!

437384801
2010-07-04 · TA获得超过1867个赞
知道小有建树答主
回答量:1299
采纳率:0%
帮助的人:497万
展开全部
#include<stdlib.h>
#include<stdio.h>
#include<time.h>

main()
{
int cn=0,i=0, s,n,j;
long int x1,x2,x;

printf("请输入你想答题的次数");
scanf("%d",&n);
while(i++<n)
{srand((unsigned)time(NULL));
x1=rand()%10; x2=rand()%10;
printf("第一个数字是%d",x1);printf("第二个数字是%d\n",x2);
printf( "1: + , 2: -, 3: * , 4:/ ");
printf("请输入你的提型\n");
scanf("%d",&j);
switch(j){
case 1:x=x1+x2;break;
case 2:x=x1-x2;break;
case 3:x=x1*x2;break;
case 4:x=x1/x2;break;
default:printf("输入错误\n");continue;}
printf("输入你的答案\n");
scanf("%d",&s);
if(s==x)
{printf("你做对了");cn++;} //printf("%d",cn);}
else
printf("回答错误!正确答案是%d",x);
}printf("你做对的这些题目,恭喜你啊对了=%d\n",cn);
//printf("%d",cn);
}

编程序的人啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
798883827
2010-07-04 · 超过24用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:68万
展开全部
问题也得清晰啊~~我理解为实数的加减乘除了
#include<iostream>
#include<ctime>
using namespace std;

int main()
{
char kind;
int size;
cin >> kind >> size;
int counter = 0;

srand( time( 0 ) );

while( size-- )
{
int fir = rand();
int sec = rand();
cout << fir << kind << sec << " ";
froat result;
cin >> result;
froat tr;
if( "+" == kind )
tr = fir + sec;
else if( "-" == kind )
tr = fir - sec;
else if( "*" == kind )
tr = fir * sec;
else
tr = fir / sec;

if( tr == result )
{
cout << "Yes!" << endl;
counter++;
}
else
cout << "No! Answer is " << tr << endl;

}

cout << "Your grade is " << counter << " of " << size << endl;

return 0;
}

写的也不算麻烦,不过希望有分加啦^_^
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dvd108
2010-07-05
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
en
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d3b0662
2010-07-04 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:92.2万
展开全部
Hi联系
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式