C語言大作業(yè)答題系統(tǒng)-創(chuàng)新互聯(lián)

這是一個選擇題答題程序,分為三個模塊,第一個模塊是登陸,第二個模塊是答題,第三個模塊是查看成績.

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比玉樹網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式玉樹網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋玉樹地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。

1.登錄模塊

這個模塊主要是讓用戶登錄到這個程序里面,使用全局變量記錄用戶信息在答題時輸出用戶信息,完成登錄時,才可以開始下一步,缺點是沒有驗證功能,只能記錄當前用戶的答題記錄。

1.1運行界面:

1.2代碼:

void login()
{

    flag=1;
    printf("\n\t\t\t注:年齡請輸入數(shù)字\n");
    printf("\t\t\t請輸入你的姓名:");
    scanf("%s",name);
    printf("\t\t\t請輸入你的性別:");
    scanf("%s",sex);
    printf("\t\t\t請輸入你的年齡:");
    scanf("%d",&age);
    printf("\t\t\t請輸入你的學校:");
    scanf("%s",sch);
}

2.答題模塊

這個功能模塊主要是用于答題,它會從題庫中隨機抽取20個題目,完成一道題目之后才會輸出下一道題目,當輸入的答案正確時會出現(xiàn)一個勾提醒你答對了,同時答案兼容大小寫,回答錯誤時會用一個叉來提示你答錯了,答完這一題后,會繼續(xù)從題庫中抽取一個隨機但是不重復的題目繼續(xù)答題。當完成了下一題后,會繼續(xù)輸出,如果已經(jīng)答完20道題,它會退出答題系統(tǒng),可以在查看成績模塊查詢成績。

2.1運行界面

2.2代碼

2.2.1隨機抽題

void random_question()
{
    int x,i;
    int a[20];
    memset(a,-1,sizeof(a));
    srand((unsigned)time(NULL));
    file_read();
    for(i=0;i<20;i++){
       x=rand()%20;

       while(judge_repeat(a,x))x=rand()%20;
       a[i]=x;
       random[i]=arr[x];
    }
}

2.2.2答案兼容

void changestr(char *s)
{
     int i;
     for(i=0;s[i]!='\0';i++){
          if(s[i]>='A'&&s[i]<='D'||s[i]>='a'&&s[i]<='d'){
                s[0]=s[i];
                break;
        }
    }
        switch (s[0])
        {
            case 'a':
                s[0]='A';break;
            case 'b':
                s[0]='B';break;
            case 'c':
                s[0]='C';break;
            case 'd':
                s[0]='D';break;
        }
    s[1]='\0';
}

2.2.3題目不重復

int judge_repeat(int *a,int x)
{
    int i;
    for(i=0;i<20;i++)
        if(a[i]==x)return 1;
    return 0;
}

3.查看成績模塊

這個模塊主要是查看成績的功能,題目按順序輸出,每題都有正誤,最后兩行總結(jié)本次答題情況,一行為成績,一行為鼓勵的話.

3.1運行界面

3.2代碼

void find_scores()
{

    int i;


    for(i=0;i<20;i++){
        printf("\t\t\t第%d題\n",i+1);
        printf("\t\t\t");
        printf("%s",random[i].question);
        printf("\t\t\t");
        printf("%s",random[i].choice);
        if(situation[i]==1){
             printf("\t\t\t( √ )\n");
             printf("\t\t\t你的答案:%s\n",in_answer[i]);
        }
        else if(situation[i]==0){
            printf("\t\t\t( × )\n");
            printf("\t\t\t你的答案:%s\n",in_answer[i]);
        }
            printf("\t\t\t");
            printf("正確答案:%s\n\n",random[i].answer);
    }

    int k=scores/10;
    printf("\t\t\t你的得分為:%d\n",scores);
    switch(k)
    {
        case 0:
        case 2:
        case 4:
            printf("\t\t\t");
            printf("很遺憾!你沒有及格!別氣餒,下次加油哦!\n");
            break;
        case 6:
            printf("\t\t\t");
            printf("恭喜你!及格了!但還要繼續(xù)努力哦!\n");
            break;
        case 8:
            printf("\t\t\t");
            printf("你取得的良好的成績!繼續(xù)向滿分沖刺吧!\n");
            break;
        case 10:
            printf("\t\t\t");
            printf("你實在太優(yōu)秀了!\n");
            break;
    }
}

4.總結(jié)與體會

從拿到題目到完成整個編程,從理論到實踐,學到了很多很多的的東西,不僅鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次大作業(yè)使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體……通過這次課程設計之后,一定把以前所學過的知識重新溫故。

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享名稱:C語言大作業(yè)答題系統(tǒng)-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://muchs.cn/article30/coehpo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計企業(yè)網(wǎng)站制作、做網(wǎng)站動態(tài)網(wǎng)站、網(wǎng)站策劃、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設