1. 程式人生 > >C++專案參考解答——小學生算術能力測試系統

C++專案參考解答——小學生算術能力測試系統

【專案-小學生算術能力測試系統】通過本題學習一些系統函式。

  設計一個程式,用來實現幫助小學生進行算術運算練習,它具有以下功能:提供10道加、減、乘、除四種基本算術運算的題目,每道題中的運算元是隨機產生的,且運算元不超過2位數的正整數;練習者根據顯示的題目輸入自己的答案,程式自動判斷輸入的答案是否正確並顯示出相應的資訊。最後顯示做對了幾道題。

參考解答:

#include <iostream>
#include<ctime>
#include<cstdlib>
int qa(); //函式宣告,完成一道題的測試並返回評判結果,正確1為,錯誤為0
using namespace std;
int main()
{
    int sum=0;//學生得分
    for(int i=0; i<10; i++)
    {
        cout<<"第"<<i+1<<"題:"<<endl;
        sum+=qa();
        cout<<endl;
    }
    cout<<"共答對了"<<sum<<"道題,得分"<<sum*10<<endl;
    return 0;
}

int qa()
{
    srand(time(0)); //初始化隨機種子
    int a,b,c,d,t;
    a=rand()%100+1;
    b=rand()%100+1;
    c=rand()%4;
    if(a<b&&(c==1||c==3)) //給小學生的題,減和除運算保證大減小和大除以小(額外增加的需求,並非原題中提及)
    {
        d=a;
        a=b;
        b=d;
    }
    if(c==3)//對於除法,調整被除數,以保證能整除(額外增加的需求,並非原題中提及)
        a=(a/b)*b;
    switch(c)
    {
    case 0:
        d=a+b;
        cout<<a<<"+"<<b<<"=";
        break;
    case 1:

        d=a-b;
        cout<<a<<"—"<<b<<"=";
        break;
    case 2:
        d=a*b;
        cout<<a<<"×"<<b<<"=";
        break;
    case 3:
        d=a/b;
        cout<<a<<"÷"<<b<<"=";
        break;
    }
    cin>>t;
    if(t==d)
        cout<<"    right! ";
    else
        cout<<"    wrong! ";
    return t==d;
}