C++编程语言 200

1.题目要求:编写一个针对小学一年级学生的100以内加减法测试程序。程序实现的功能要求如下:(1)测试之前要求学生输入学号和姓名;(20分)(2)每组测试包含10道测试题... 1.题目要求:
编写一个针对小学一年级学生的100以内加减法测试程序。程序实现的功能要求如下:
(1)测试之前要求学生输入学号和姓名;(20分)
(2)每组测试包含10道测试题,其中出现加法题目的概率为70%,出现减法题目的概率为
30%。减法题目不允许出现减数大于被减数的情况。学生答完一题后,给出下一题,直到完
成10个题目,本轮测试结束。(40分)
(3)评分标准:答对一题得10分,答错不得分。(20分)
(4)学生测试结束时,给出学生本次测试结果,并将测试成绩(包括学号、姓名、成绩)
写入名称为“score.txt”的文件中存储。(20分)
展开
 我来答
军昊韦0el95b
2015-06-23 · TA获得超过624个赞
知道小有建树答主
回答量:443
采纳率:50%
帮助的人:378万
展开全部
#include<iostream>
#include <cmath>
#include <stdlib.h>
#include <time.h>
#include <fstream>
using namespace std;


int main(int argc, char *argv[])
{
    srand((unsigned)time(NULL));
    char name[20],symbol;
    int num,sum=0,sym,x,y,result_in,result;
    cout<<"input name and num:";
    cin>>name;
    cin>>num;
    cout<<endl;
    cout<<"let's begin test:"<<endl;
    for(int i=0;i<10;i++)
    {
        sym = rand()%10;
        if(sym>6)
            symbol = '-';
        else
            symbol = '+';
        x = rand()%100+1;
        y = rand()%100+1;
        do
        {
            x = rand()%100+1;
            y = rand()%100+1;
        }while(x<y&&symbol == '-');
        if(symbol == '-')
            result = x-y;
        else
            result = x+y;
        cout<<x<<symbol<<y<<" = ";
        cin>>result_in;
        if(result == result_in)
        {
            cout<<"   correct!"<<endl;
            sum+=10;
        }
        else
            cout<<"   error!"<<endl;

    }
    cout<<"your total socre is "<<sum<<endl;
    ofstream fout("D:\score.txt");
    fout << "Number: " << num << "\n";
    fout << "Name: " << name<<"\n";
    fout << "Score: " << sum << "\n";
    fout << flush; fout.close();

    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扈怀炜4h
2015-06-23 · TA获得超过6038个赞
知道大有可为答主
回答量:6907
采纳率:67%
帮助的人:1304万
展开全部
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int test(int c)
{
  int a, b;
  //int c;
  int answer;
  while(true)
  {
    a=rand()*100;
    b=rand()*100;
    if(a+b<=100 && a-b>=0)
      break;
   }
   char op;
   op=(c==0)?'+':'-';
   cout<<a<<" "<<op<<" "<<b<<" = ";
   cin>>answer;
   int result;
   if(op=='+')  result=a+b;
   if(op=='-')  result==a-b;
   if(answer==result)
      return 10;
   else
      return 0;   
}

int main()
{
   int num;
   int score=0;
   string name;
   cout<<"请输入学号:";cin>>num;
   cout<<"请输入姓名:";cin<<name;
   int c;
   int add=0;
   int sub=0;
   
   for(int i=0;i<10;i++)
   { 
     c=rand()*2;
     if(c==0) add++;
     if(add>7)
        c=1;
     if(c==1)  sub++;
     if(sub>3)
        c=0;
     score=score+test(c);
    }
   ofstream  f;
   f.open("score.txt",ios::out);
   if(!f) {cerr<<"文件打开失败";exit(0);}
   f<<"学号\t姓名\t成绩\n";
   f<<num<<"\t"<<name<<"\t"<<score<<endl;  
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式