C語言--小學生電腦輔助教學系統__C語言

來源:互聯網
上載者:User

小學生電腦輔助教學系統V2.0

開發一個小學生電腦輔助教學系統。使用隨機書產生函數產生1~10之間的隨機數作為運算元,隨機產生一道四則運算題,配合使用switch語句和print()函數調用,來為學生輸入的正確或者錯誤的答案輸出不同的評價。若10道題做完之後正確率低於75%,則重新做10道題,直到回答正確率高於75%時才退出程式。要求用模組化程式設計方法來編程。

#include<stdio.h>#include<stdlib.h>#include<time.h>int Calculate(int x,char op,int y);/*聲明函數Calculate(),計算(x,y)的四則運算(由op定)*/int CreateRandomNumber();          /*聲明函數CreateRandomNumber(),產生一個1-10的隨機整數*/char CreateRandomOperator();       /*聲明函數CreateRandomOperator(),隨機產生一個運算子號(+、-、*、/)*/void PrintRandomRightEvaluation(); /*聲明函數PrintRandomRightEvaluation(),產生一個題目做對的隨機提示*/void PrintRandomWrongEvaluation(); /*聲明函數PrintRandomWrongEvaluation(),產生一個題目做錯的隨機提示*/int main(){    int a,b,userAnswer,i,rightNumber=0,flag=0;    /*a,b隨機整數,userAnswer是使用者答案,i是控制迴圈的變數,rightNumber是正確答案數,flag成績標誌,當成績<75分,其值為1*/    char opChar;                                  /*opChar是運算子*/    srand(time(NULL));                           /*time(NULL)的傳回值作為產生隨機數的種子*/    do{        for(i=0;i<10;i++)                        /*迴圈10次,做10道題*/        {            a=CreateRandomNumber();              /*產生一個隨機數賦值給整型變數a*/            b=CreateRandomNumber();              /*產生一個隨機數賦值給整型變數b*/            opChar=CreateRandomOperator();       /*產生一個隨機運算子賦值給字元變數opChar*/            printf("%d%c%d=?\n",a,opChar,b);     /*輸出一個四則運算運算式=。*/            scanf("%d",&userAnswer);             /*使用者輸入答案*/            if(userAnswer==Calculate(a,opChar,b))/*如果答案正確*/            {                PrintRandomRightEvaluation();    /*輸出一個題目做對的隨機提示*/                rightNumber++;                   /*回答正確題數加1*/            }            else                                 /*如果回答不正確*/            {                PrintRandomWrongEvaluation();    /*輸出一個題目做錯的隨機提示*/            }        }        printf("Total score is %d\n",rightNumber*10);         printf("Rate of correctness is %d%%\n",rightNumber*10);        if(rightNumber*10<75)                    /*如果成績低於75分*/        {            printf("Once Again!\n");            rightNumber=0;                       /*正確答案數清零*/            flag=1;        }    }while(flag);    return 0;}/*函數功能:計算兩個數(x,y)的四則運算(運算子由op確定。),返回計算結果值*/int Calculate(int x,char op,int y){    switch(op)    {    case '+': return x+y;    case '-': return x-y;    case '*': return x*y;    case '/': return x/y;    default:printf("Operator error!\n");return 0;    }}/*函數功能:產生一個1-10的隨機整數*/int CreateRandomNumber(){    return rand()%10+1;}/*函數功能:隨機產生一個運算子號(+,-,*,/)*/char CreateRandomOperator(){    int op;    op=rand()%4+1;    switch(op)    {    case 1:return '+';    case 2:return '-';    case 3:return '*';    case 4:return '/';    }    return 0;}/*函數功能:產生一個題目做對的隨機提示*/void PrintRandomRightEvaluation(){    int i;    i=rand()%4+1;    switch(i)    {        case 1:printf("Very good!\n");               break;        case 2:printf("Excellent!\n");               break;        case 3:printf("Nice work!\n");               break;        case 4:printf("Keep up the good work!\n");               break;        default:printf("Wrong type!");    }}/*函數功能:產生一個題目做錯的隨機提示*/void PrintRandomWrongEvaluation(){    int i;    i=rand()%4+1;    switch(i)    {        case 1:printf("No.Please try again.\n");               break;        case 2:printf("Wrong.Try once more.\n");               break;        case 3:printf("Don't give up!\n");               break;        case 4:printf("Not correct.Keep trying.\n");               break;        default:printf("Wrong type!");    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.