标题:小学数学测验(C语言)(还差一个要求!)
取消只看楼主
T66TP
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-3-26
 问题点数:0 回复次数:0 
小学数学测验(C语言)(还差一个要求!)
完成一个小学低年级学生整数加减法测试的基本功能。
功能要求:
(1)面向小学1~2年级学生,随机选择一个整数加减法算式,要求学生解答;
(2)电脑随机出10道题,每题10分,程序结束时,显示学生得分;
(3)确保算式进行50以内的加减法,不允许出现负数;
(4)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束,则输出正确答案;
(5)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;
(6)总成绩90分以上显示“SMART”,80-90分显示“GOOD”,70-80分显示“OK”,60-70分显示“PASS”,60分以下“TRY AGAIN”;
(7)将每位被测者的姓名,测试日期和时间,测试成绩信息等存放到磁盘文件中,并随时可查。
下面是前六个已完成要求的程序,还差(7)号这个要求。
求求大神救命啊!!!
#include<iostream>
using namespace std;
#include<time.h>
void Pd(int &sum,int a,int b)
{
    int x=3;
    int y;
    int s=0;
    while(x--)
    {
        s++;
        cout<<a<<"+"<<b<<"=";
        cin>>y;
        if(y==a+b)
        {
            cout<<"计算正确。下一题:";
            if(s==1)
                sum+=10;
            if(s==2)
                sum+=7;
            if(s==3)
                sum+=5;
            return;
        }
        else
        {
            cout<<"计算错误,请重新输入";
            if(s==3)
            {
                cout<<"下面的等式才是正确的哦";
                cout<<a<<"+"<<b<<"="<<a+b<<endl;
            }
        }
    }
}

void Pdl(int &sum,int a,int b)
{
    int x=3;
    int y;
    int s=0;
    while(x--)
    {
        s++;
        cout<<a<<"-"<<b<<"=";
        cin>>y;
        if(y==a-b)
        {
            cout<<"计算正确。下一题:";
            if(s==1)
                sum+=10;
            if(s==2)
                sum+=7;
            if(s==3)
                sum+=5;
            return;
        }
        else
        {
            cout<<"计算错误,请重新计算";
            if(s==3)
            {
            cout<<a<<"-"<<b<<"="<<a-b<<endl;
            }
        }
    }
}
int main()
{
    int n=10;
    int sum=0;
    int a,b,c;
    int s=1;
    srand((int)time(0));
    cout<<"本次测试现在开始,一共十道题目。一题十分,满分为一百分。每个题目有三次机会回答,第一次答对得十分,第二次答对得7分,第三次答对得5分。若三次都不对,则0分。";
    while(n--)
    {
        cout<<"第"<<s++<<"题为:";
        a=rand()%10+15;
        b=rand()%10+15;
        c=rand()%10;
        //cout<<c<<endl;
        if(c%2==0)
        {
            Pd(sum,a,b);
        }
        else
            while(1)
            {
                if(a>=b){Pdl(sum,a,b);break;}
                else
                {
                    a=rand()%10+15;
                    b=rand()%10+15;
                }
            }
            cout<<endl;
    }

     cout<<"您的总成绩为:"<<sum<<endl<<endl;
     while(1)
     {
         if(sum>=90)
         {cout<<"SMART";break;}
         if(sum>=80&sum<90)
         {cout<<"GOOD";break;}
         if(sum>=70&sum<80)
         {cout<<"OK";break;}
         if(sum<60)
         {cout<<"TRY AGAIN";break;}
         else
         {
             cout<<"PASS";break;}
     }
     return 0;
}
搜索更多相关主题的帖子: 要求 cout int 学生 sum 
2020-03-26 22:09



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




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

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