C語言程序設(shè)計與實驗指導(dǎo) 實訓(xùn)任務(wù)工單匯 張光桃 1 熟悉開發(fā)環(huán)境-項目總體需求分析-11 綜合實訓(xùn)-設(shè)計并實現(xiàn)學(xué)生成績管理系統(tǒng)_第1頁
C語言程序設(shè)計與實驗指導(dǎo) 實訓(xùn)任務(wù)工單匯 張光桃 1 熟悉開發(fā)環(huán)境-項目總體需求分析-11 綜合實訓(xùn)-設(shè)計并實現(xiàn)學(xué)生成績管理系統(tǒng)_第2頁
C語言程序設(shè)計與實驗指導(dǎo) 實訓(xùn)任務(wù)工單匯 張光桃 1 熟悉開發(fā)環(huán)境-項目總體需求分析-11 綜合實訓(xùn)-設(shè)計并實現(xiàn)學(xué)生成績管理系統(tǒng)_第3頁
C語言程序設(shè)計與實驗指導(dǎo) 實訓(xùn)任務(wù)工單匯 張光桃 1 熟悉開發(fā)環(huán)境-項目總體需求分析-11 綜合實訓(xùn)-設(shè)計并實現(xiàn)學(xué)生成績管理系統(tǒng)_第4頁
C語言程序設(shè)計與實驗指導(dǎo) 實訓(xùn)任務(wù)工單匯 張光桃 1 熟悉開發(fā)環(huán)境-項目總體需求分析-11 綜合實訓(xùn)-設(shè)計并實現(xiàn)學(xué)生成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

任務(wù)工單1熟悉開發(fā)環(huán)境——項目總體需求分析班級姓名任務(wù)成績實訓(xùn)地點日期小組編號任務(wù)名稱熟悉開發(fā)環(huán)境——項目總體需求分析學(xué)時2任務(wù)目標1.了解學(xué)生成績管理系統(tǒng)的功能需求2.了解結(jié)構(gòu)化程序的設(shè)計思路3.掌握VisualC++2010開發(fā)環(huán)境任務(wù)導(dǎo)入為了方便學(xué)?;蚪逃龣C構(gòu)對學(xué)生的學(xué)業(yè)成績進行管理和統(tǒng)計,可以使用C語言設(shè)計一個學(xué)生成績管理系統(tǒng)。該系統(tǒng)旨在提供一個集中管理學(xué)生信息、錄入成績、生成成績報表等功能的平臺,以便教師、學(xué)校管理人員能夠方便地獲取和分析學(xué)生成績數(shù)據(jù),從而更好地進行教學(xué)和管理工作。任務(wù)分析對于學(xué)生成績管理系統(tǒng),需要生成或者輸入學(xué)生信息、存儲學(xué)生基本信息和成績信息,并提供成績統(tǒng)計和查詢服務(wù),具體需要實現(xiàn)以下功能:(1)保存、讀取學(xué)生信息;(2)顯示學(xué)生基本信息及各科成績;(3)基本信息管理,包括添加、刪除、修改學(xué)生信息及成績;(4)學(xué)生成績管理,包括計算學(xué)生成績總分、根據(jù)總分排名;(5)考試成績統(tǒng)計,包括輸出課程最高分、最低分和平均分;(6)根據(jù)條件查詢,包括根據(jù)學(xué)號、姓名或名次等信息進行查詢;(7)隨機生成學(xué)生信息及成績。任務(wù)準備熟悉MicrosoftVisualC++2010集成開發(fā)環(huán)境。任務(wù)實施使用MicrosoftVisualC++2010環(huán)境創(chuàng)建項目。(學(xué)生補充)任務(wù)總結(jié)通過本任務(wù)的學(xué)習(xí),對所學(xué)、所獲進行總結(jié)。(學(xué)生補充)任務(wù)評價評價方式評價內(nèi)容分值成績自我評價課前任務(wù)的預(yù)習(xí)情況10對知識和技能的掌握程度20任務(wù)實施的完成情況50是否勝任小組內(nèi)的工作20合計小組評價小組的本次任務(wù)完成質(zhì)量30個人本次任務(wù)完成工作量20個人本次任務(wù)完成質(zhì)量30個人的合作精神和溝通能力20合計教師評價個人所在小組的任務(wù)完成質(zhì)量30個人本次任務(wù)完成質(zhì)量30個人在所在小組的參與度20個人對本次任務(wù)的貢獻度20合計總評=自我評價×()%+小組評價×()%+教師評價×()%=任務(wù)工單2順序結(jié)構(gòu)——輸出菜單內(nèi)容班級姓名任務(wù)成績實訓(xùn)地點日期小組編號任務(wù)名稱順序結(jié)構(gòu)——輸出菜單內(nèi)容學(xué)時2任務(wù)目標1.掌握C語言中輸入、輸出的常用格式2.掌握printf函數(shù)和scanf函數(shù)的調(diào)用形式3.掌握C語言中順序結(jié)構(gòu)程序設(shè)計的一般思路4.進一步熟悉C語言程序的處理過程任務(wù)導(dǎo)入學(xué)生成績管理系統(tǒng)提供了豐富的管理功能,為了更好地分類展示這些功能,方便用戶直接操作,增強用戶體驗,本系統(tǒng)將設(shè)計菜單選擇界面,在控制臺輸出如圖所示的效果。任務(wù)分析根據(jù)項目功能,使用printf函數(shù)在控制臺輸出菜單界面所顯示的內(nèi)容。因為printf函數(shù)為庫函數(shù),所以需要使用預(yù)編譯命令#include包含頭文件stdio.h。任務(wù)準備1.輸出函數(shù)printf2.輸入函數(shù)scanf任務(wù)實施1.在控制臺輸出菜單內(nèi)容;2.從鍵盤輸入0~6作為選擇值。(學(xué)生補充)任務(wù)總結(jié)通過本任務(wù)的學(xué)習(xí),對所學(xué)、所獲進行總結(jié)。(學(xué)生補充)任務(wù)評價評價方式評價內(nèi)容分值成績自我評價課前任務(wù)的預(yù)習(xí)情況10對知識和技能的掌握程度20任務(wù)測試的完成情況20任務(wù)實施的完成情況40是否勝任小組內(nèi)的工作10合計小組評價小組的本次任務(wù)完成質(zhì)量30個人本次任務(wù)完成工作量20個人本次任務(wù)完成質(zhì)量30個人的合作精神和溝通能力20合計教師評價個人所在小組的任務(wù)完成質(zhì)量30個人本次任務(wù)完成質(zhì)量30個人在所在小組的參與度20個人對本次任務(wù)的貢獻度20合計總評=自我評價×()%+小組評價×()%+教師評價×()%=任務(wù)工單3選擇結(jié)構(gòu)——輸出成績等級班級姓名任務(wù)成績實訓(xùn)地點日期小組編號任務(wù)名稱選擇結(jié)構(gòu)——輸出成績等級學(xué)時2任務(wù)目標1.能使用if語句的單分支和多分支結(jié)構(gòu)2.能使用switch語句實現(xiàn)分支結(jié)構(gòu)3.能嵌套使用if語句和switch語句任務(wù)導(dǎo)入假如某班學(xué)生期末考試除了語文、數(shù)學(xué)、英語科目外,還有一門勞動課程,勞動課是考查課,成績須按五分制打分,即90~100分為A,80~89分為B,70~79分為C,60~69分為D,60分以下為E。請通過鍵盤輸入百分制分數(shù),在控制臺輸出相應(yīng)等級。任務(wù)分析使用scanf函數(shù)可以從鍵盤輸入整數(shù),但是需要判斷該整數(shù)值是不是合法的百分制分數(shù),0~100范圍內(nèi)的整數(shù)是合法的,如果不合法須給出錯誤提示。將合法的百分制成績轉(zhuǎn)換為五分制,既可以使用多分支if語句實現(xiàn),也可以使用switch語句實現(xiàn)。根據(jù)五分制規(guī)則,很容易使用多分支if語句進行實現(xiàn)。使用switch語句實現(xiàn)時,需要注意switch的多分支特點,要將百分制的成績轉(zhuǎn)換為對應(yīng)的十位整數(shù),并靈活應(yīng)用break語句控制各分支的共享執(zhí)行或獨立執(zhí)行。任務(wù)準備1.if語句2.switch語句任務(wù)實施1.使用多分支if語句實現(xiàn):2.使用switch語句實現(xiàn)(學(xué)生補充)任務(wù)總結(jié)通過本任務(wù)的學(xué)習(xí),對所學(xué)、所獲進行總結(jié)。(學(xué)生補充)任務(wù)評價評價方式評價內(nèi)容分值成績自我評價課前任務(wù)的預(yù)習(xí)情況10對知識和技能的掌握程度20任務(wù)測試的完成情況20任務(wù)實施的完成情況40是否勝任小組內(nèi)的工作10合計小組評價小組的本次任務(wù)完成質(zhì)量30個人本次任務(wù)完成工作量20個人本次任務(wù)完成質(zhì)量30個人的合作精神和溝通能力20合計教師評價個人所在小組的任務(wù)完成質(zhì)量30個人本次任務(wù)完成質(zhì)量30個人在所在小組的參與度20個人對本次任務(wù)的貢獻度20合計總評=自我評價×()%+小組評價×()%+教師評價×()%=任務(wù)工單4循環(huán)結(jié)構(gòu)——滾動顯示菜單班級姓名任務(wù)成績實訓(xùn)地點日期小組編號任務(wù)名稱循環(huán)結(jié)構(gòu)——滾動顯示菜單學(xué)時2任務(wù)目標1.理解循環(huán)的概念2.掌握while語句、do-while語句和for語句的語法3.掌握break語句和continue語句的用法4.熟悉循環(huán)嵌套的使用方法任務(wù)導(dǎo)入為了方便用戶進行功能操作,學(xué)生成績管理系統(tǒng)的選擇菜單在操作后需要再次顯示,直到用戶選擇退出系統(tǒng)時結(jié)束。因此,用戶可以根據(jù)需要不限次數(shù)地重復(fù)選擇相關(guān)選項,實現(xiàn)菜單的滾動顯示。任務(wù)分析在使用學(xué)生成績管理系統(tǒng)時,因為菜單的選擇次數(shù)是未知的,所以更適合使用while循環(huán),使用while(1)表示條件永真的無限循環(huán)。由于該算法必須具備“有窮性”,即在執(zhí)行有限步后能夠結(jié)束,因此while(1)需和break語句配合使用,使系統(tǒng)能在一定條件下結(jié)束運行。任務(wù)準備1.while循環(huán)2.do-while循環(huán)3.for循環(huán)4.break語句和continue語句任務(wù)實施(1)在控制臺輸出菜單內(nèi)容;(2)從鍵盤輸入0~6作為選擇值;(3)若輸入1~6,執(zhí)行步驟(4);若輸入0,執(zhí)行步驟(5);(4)根據(jù)輸入值在屏幕顯示相應(yīng)選項的提示文字,再返回步驟(1);(5)結(jié)束循環(huán)。(學(xué)生補充)任務(wù)總結(jié)通過本任務(wù)的學(xué)習(xí),對所學(xué)、所獲進行總結(jié)。(學(xué)生補充)任務(wù)評價評價方式評價內(nèi)容分值成績自我評價課前任務(wù)的預(yù)習(xí)情況10對知識和技能的掌握程度20任務(wù)測試的完成情況20任務(wù)實施的完成情況40是否勝任小組內(nèi)的工作10合計小組評價小組的本次任務(wù)完成質(zhì)量30個人本次任務(wù)完成工作量20個人本次任務(wù)完成質(zhì)量30個人的合作精神和溝通能力20合計教師評價個人所在小組的任務(wù)完成質(zhì)量30個人本次任務(wù)完成質(zhì)量30個人在所在小組的參與度20個人對本次任務(wù)的貢獻度20合計總評=自我評價×()%+小組評價×()%+教師評價×()%=任務(wù)工單5數(shù)組——學(xué)生成績排序班級姓名任務(wù)成績實訓(xùn)地點日期小組編號任務(wù)名稱數(shù)組——學(xué)生成績排序?qū)W時2任務(wù)目標1.掌握一維數(shù)組的定義、使用方法2.掌握二維數(shù)組的定義、使用方法3.掌握和數(shù)組相關(guān)的簡單算法和應(yīng)用任務(wù)導(dǎo)入在學(xué)生成績管理系統(tǒng)中,對大量學(xué)生的成績進行排序是常用的操作?,F(xiàn)給出10名學(xué)生的數(shù)學(xué)成績,請按從大到小的順序?qū)?shù)學(xué)成績進行排序。任務(wù)分析10名學(xué)生的數(shù)學(xué)成績雖然可以定義10個整型變量,但是更好的解決方法是定義一個長度為10的整型數(shù)組,將10名學(xué)生的數(shù)學(xué)成績記錄到數(shù)組元素中。對數(shù)組中的數(shù)據(jù)進行排序有很多算法可以實現(xiàn),以冒泡排序為例,它的算法思想是相鄰的兩個數(shù)組元素相比較,逆序則交換。根據(jù)需求,要求對成績從大到小進行排序,所以這里的逆序是指下標相鄰的數(shù)組元素a[j]和a[j+1],其中下標j<j+1,若其值a[j]>=a[j+1]則滿足從大到小的排序要求,若其值a[j]<a[j+1]則不滿足排序要求,需將a[j]與a[j+1]交換。任務(wù)準備1.一維數(shù)組2.二維數(shù)組3.排序算法任務(wù)實施(1)定義并初始化一維數(shù)組;(2)在控制臺輸出排序前的一維數(shù)組元素值;(3)用冒泡排序法對數(shù)組中的元素從大到小排序;(4)在控制臺輸出排序后的一維數(shù)組元素值。(學(xué)生補充)任務(wù)總結(jié)通過本任務(wù)的學(xué)習(xí),對所學(xué)、所獲進行總結(jié)。(學(xué)生補充)任務(wù)評價評價方式評價內(nèi)容分值成績自我評價課前任務(wù)的預(yù)習(xí)情況10對知識和技能的掌握程度20任務(wù)測試的完成情況20任務(wù)實施的完成情況40是否勝任小組內(nèi)的工作10合計小組評價小組的本次任務(wù)完成質(zhì)量30個人本次任務(wù)完成工作量20個人本次任務(wù)完成質(zhì)量30個人的合作精神和溝通能力20合計教師評價個人所在小組的任務(wù)完成質(zhì)量30個人本次任務(wù)完成質(zhì)量30個人在所在小組的參與度20個人對本次任務(wù)的貢獻度20合計總評=自我評價×()%+小組評價×()%+教師評價×()%=任務(wù)工單6指針——優(yōu)化輸入與輸出班級姓名任務(wù)成績實訓(xùn)地點日期小組編號任務(wù)名稱指針——優(yōu)化輸入與輸出學(xué)時2任務(wù)目標1.掌握指針變量的定義和使用2.熟練使用指針操作一維數(shù)組3.熟練使用指針操作二維數(shù)組4.掌握函數(shù)間的地址傳值任務(wù)導(dǎo)入使用指針優(yōu)化10名學(xué)生數(shù)學(xué)成績的輸入與輸出,要求分別用數(shù)組下標和指針變量兩種方法從鍵盤輸入數(shù)學(xué)成績至數(shù)組,再從數(shù)組輸出到控制臺。任務(wù)分析指針是C語言的精華,指針變量的值為內(nèi)存地址,因為數(shù)組名是數(shù)組在內(nèi)存中的首地址,所以數(shù)組與指針有著天然的聯(lián)系。因此對于數(shù)組,既可以使用下標操作,也可以使用指針操作,學(xué)生不僅需要掌握使用數(shù)組下標操作數(shù)組,還要求熟練使用指針法對數(shù)組元素進行各種操作。若存入數(shù)組元素中,使用數(shù)組下標,須通過取地址運算符“&”求出數(shù)組元素在內(nèi)存中的地址,即&a[i],而指針變量的值就是內(nèi)存地址,所以直接使用指針變量p即可。任務(wù)準備1.指針變量2.指針與一維數(shù)組3.指針與二維數(shù)組4.函數(shù)值傳遞和地址傳遞任務(wù)實施(1)用數(shù)組下標實現(xiàn)學(xué)生數(shù)學(xué)成績的輸入與輸出。①定義一維數(shù)組;②使用for循環(huán),從鍵盤輸入10個學(xué)生的成績;③使用for循環(huán),在控制臺輸出10個學(xué)生的成績。(2)用指針變量實現(xiàn)學(xué)生數(shù)學(xué)成績的輸入與輸出。①定義一維數(shù)組;②使用for循環(huán),從鍵盤輸入10個學(xué)生的成績;③使用for循環(huán),在控制臺輸出10個學(xué)生的成績。(學(xué)生補充)任務(wù)總結(jié)通過本任務(wù)的學(xué)習(xí),對所學(xué)、所獲進行總結(jié)。(學(xué)生補充)任務(wù)評價評價方式評價內(nèi)容分值成績自我評價課前任務(wù)的預(yù)習(xí)情況10對知識和技能的掌握程度20任務(wù)測試的完成情況20任務(wù)實施的完成情況40是否勝任小組內(nèi)的工作10合計小組評價小組的本次任務(wù)完成質(zhì)量30個人本次任務(wù)完成工作量20個人本次任務(wù)完成質(zhì)量30個人的合作精神和溝通能力20合計教師評價個人所在小組的任務(wù)完成質(zhì)量30個人本次任務(wù)完成質(zhì)量30個人在所在小組的參與度20個人對本次任務(wù)的貢獻度20合計總評=自我評價×()%+小組評價×()%+教師評價×()%=任務(wù)工單7函數(shù)——計算學(xué)生總分班級姓名任務(wù)成績實訓(xùn)地點日期小組編號任務(wù)名稱函數(shù)——計算學(xué)生總分學(xué)時4任務(wù)目標1.理解函數(shù)的概念2.掌握函數(shù)定義與調(diào)用的方法3.理解參數(shù)傳遞與程序的執(zhí)行過程4.掌握遞歸函數(shù)的應(yīng)用任務(wù)導(dǎo)入請用rand()庫函數(shù)為10名學(xué)生隨機分配語文、數(shù)學(xué)、英語分數(shù),再自定義calTotal()函數(shù)計算每位同學(xué)三門課程的總分。任務(wù)分析rand()函數(shù)是C語言提供的庫函數(shù),在調(diào)用該函數(shù)前需使用預(yù)編譯命令#include包含頭文件stdlib.h。calTotal()函數(shù)是用戶自定義函數(shù),須先定義,后使用。函數(shù)的定義包括兩部分——函數(shù)的頭部與函數(shù)體。分析calTotal()函數(shù)的功能,函數(shù)的輸入?yún)?shù)為10名學(xué)生的三門課程分數(shù),須將它們存放于二維數(shù)組中,因為當(dāng)數(shù)組作為函數(shù)參數(shù)時,C語言會自動將該參數(shù)轉(zhuǎn)換為指向該數(shù)組在內(nèi)存首地址的指針,所以形參還需要繼續(xù)給出二維數(shù)組的行數(shù)與列數(shù)。在calTotal()函數(shù)的函數(shù)體中,可使用for循環(huán)計算出每一個學(xué)生三門課程的總分。任務(wù)準備1.函數(shù)的定義2.函數(shù)的調(diào)用3.遞歸函數(shù)任務(wù)實施(1)自定義函數(shù)calTotal(),實現(xiàn)對二維數(shù)組中每行的列下標為0、1、2的元素值求和的功能,得到的結(jié)果賦給該行的列下標為3的元素;(2)在main函數(shù)中定義二維數(shù)組stu;(3)使用for循環(huán)為二維數(shù)組賦隨機值;(4)將每行的列下標為3的元素賦值為0;(5)使用for循環(huán),在控制臺輸出二維數(shù)組的數(shù)據(jù);(6)調(diào)用calTotal函數(shù),計算每位同學(xué)三門課程的總分;(7)使用for循環(huán),在控制臺輸出計算總分后二維數(shù)組的數(shù)據(jù)。(學(xué)生補充)任務(wù)總結(jié)通過本任務(wù)的學(xué)習(xí),對所學(xué)、所獲進行總結(jié)。(學(xué)生補充)任務(wù)評價評價方式評價內(nèi)容分值成績自我評價課前任務(wù)的預(yù)習(xí)情況10對知識和技能的掌握程度20任務(wù)測試的完成情況20任務(wù)實施的完成情況40是否勝任小組內(nèi)的工作10合計小組評價小組的本次任務(wù)完成質(zhì)量30個人本次任務(wù)完成工作量20個人本次任務(wù)完成質(zhì)量30個人的合作精神和溝通能力20合計教師評價個人所在小組的任務(wù)完成質(zhì)量30個人本次任務(wù)完成質(zhì)量30個人在所在小組的參與度20個人對本次任務(wù)的貢獻度20合計總評=自我評價×()%+小組評價×()%+教師評價×()%=任務(wù)工單8字符串——查詢學(xué)生姓名班級姓名任務(wù)成績實訓(xùn)地點日期小組編號任務(wù)名稱字符串——查詢學(xué)生姓名學(xué)時4任務(wù)目標1.理解字符串與字符數(shù)組的區(qū)別2.掌握使用字符數(shù)組處理字符串的方法3.掌握使用字符指針處理字符串的方法4.熟練使用常用的字符串處理函數(shù)5.理解字符串?dāng)?shù)組的使用方法任務(wù)導(dǎo)入現(xiàn)給出10名學(xué)生的姓名,請自定義searchByName()函數(shù)實現(xiàn)按學(xué)生的姓名進行模糊查詢的功能。任務(wù)分析查詢是一個非常實用的操作,在學(xué)生成績管理系統(tǒng)中可以根據(jù)條件查詢,實現(xiàn)按學(xué)號、姓名、排名查詢,其中按姓名的查詢難度較大。首先,中文姓名中的中文字符與英文字符不同,它在內(nèi)存中占2個字節(jié);其次,在現(xiàn)實生活中,我們經(jīng)常需要模糊查詢,例如,想查詢姓“王”的同學(xué),或想查詢姓名中有一個“心”字的同學(xué)。在具體實現(xiàn)時,將10名學(xué)生的姓名保存在字符串?dāng)?shù)組中,待查詢的字符串需要與字符串?dāng)?shù)組中的每一個姓名字符串匹配,如果匹配成功,返回數(shù)組中的姓名,如果沒有匹配成功,則給出相應(yīng)提示。任務(wù)準備1.常用的字符串處理函數(shù)2.指向字符串的指針任務(wù)實施(1)自定義函數(shù)searchByName(),其形參包括兩個數(shù)組,一個是姓名數(shù)組,一個是待查詢的姓名,功能為在姓名數(shù)組中對要查詢的姓名進行模糊查詢;(2)在main函數(shù)中定義姓名數(shù)組并賦初值;(3)從鍵盤輸入待查詢的姓名;(4)調(diào)用searchByName()函數(shù),實現(xiàn)姓名的模糊查詢。(學(xué)生補充)任務(wù)總結(jié)通過本任務(wù)的學(xué)習(xí),對所學(xué)、所獲進行總結(jié)。(學(xué)生補充)任務(wù)評價評價方式評價內(nèi)容分值成績自我評價課前任務(wù)的預(yù)習(xí)情況10對知識和技能的掌握程度20任務(wù)測試的完成情況20任務(wù)實施的完成情況40是否勝任小組內(nèi)的工作10合計小組評價小組的本次任務(wù)完成質(zhì)量30個人本次任務(wù)完成工作量20個人本次任務(wù)完成質(zhì)量30個人的合作精神和溝通能力20合計教師評價個人所在小組的任務(wù)完成質(zhì)量30個人本次任務(wù)完成質(zhì)量30個人在所在小組的參與度20個人對本次任務(wù)的貢獻度20合計總評=自我評價×()%+小組評價×()%+教師評價×()%=任務(wù)工單9結(jié)構(gòu)體——制作學(xué)生成績單班級姓名任務(wù)成績實訓(xùn)地點日期小組編號任務(wù)名稱結(jié)構(gòu)體——制作學(xué)生成績單學(xué)時2任務(wù)目標1.理解結(jié)構(gòu)體的概念2.掌握結(jié)構(gòu)體類型的定義方法3.掌握結(jié)構(gòu)體變量成員的引用方法4.理解結(jié)構(gòu)體作為函數(shù)參數(shù)的使用方法5.了解單鏈表結(jié)構(gòu)的簡單操作任務(wù)導(dǎo)入學(xué)生成績管理系統(tǒng)中每名學(xué)生的信息包括學(xué)號、姓名、性別、三門課程的成績、總分和排名,請為10名學(xué)生生成隨機數(shù)據(jù),計算三門課程的總分后,按總分從高到低的順序排名輸出成績單。任務(wù)分析每名學(xué)生包含信息的數(shù)據(jù)類型并不完全一樣,例如姓名是字符數(shù)組類型、三門課程的成績是整數(shù)類型,我們需要自定義結(jié)構(gòu)體類型,將它們組合成為一個整體,而10名學(xué)生的信息則需要定義結(jié)構(gòu)體數(shù)組。編程時,我們先自定義結(jié)構(gòu)體類型并起別名為STUDENT類型,完成隨機數(shù)據(jù)的生成后觀察學(xué)生的原始數(shù)據(jù),然后計算每名學(xué)生的三門課程的總分,最后按總分從大到小排序后列出排名,再輸出學(xué)生成績單。任務(wù)準備1.結(jié)構(gòu)體類型的定義2.結(jié)構(gòu)體數(shù)組的定義任務(wù)實施(1)自定義結(jié)構(gòu)體類型并起別名為STUDENT;(2)自定義函數(shù)randStu,實現(xiàn)生成隨機數(shù)據(jù)的功能;(3)自定義函數(shù)showStudentInfo,實現(xiàn)在控制臺輸出學(xué)生信息的功能;(4)自定義函數(shù)calTotal,實現(xiàn)計算學(xué)生三門課程總分的功能;(5)自定義函數(shù)calRank,實現(xiàn)按總分從高到低排序并排名的功能;(6)在main函數(shù)中定義STUDENT類型的數(shù)組stu;(7)分別調(diào)用randStu函數(shù)、calTotal函數(shù)、calRank函數(shù)、showStudentInfo函數(shù),觀察生成的學(xué)生成績單。(學(xué)生補充)任務(wù)總結(jié)通過本任務(wù)的學(xué)習(xí),對所學(xué)、所獲進行總結(jié)。(學(xué)生補充)任務(wù)評價評價方式評價內(nèi)容分值成績自我評價課前任務(wù)的預(yù)習(xí)情況10對知識和技能的掌握程度20任務(wù)測試的完成情況20任務(wù)實施的完成情況40是否勝任小組內(nèi)的工作10合計小組評價小組的本次任務(wù)完成質(zhì)量30個人本次任務(wù)完成工作量20個人本次任務(wù)完成質(zhì)量30個人的合作精神和溝通能力20合計教師評價個人所在小組的任務(wù)完成質(zhì)量30個人本次任務(wù)完成質(zhì)量30個人在所在小組的參與度20個人對本次任務(wù)的貢獻度20合計總評=自我評價×()%+小組評價×()%+教師評價×()%=任務(wù)工單10文件——存取學(xué)生信息班級姓名任務(wù)成績實訓(xùn)地點日期小組編號任務(wù)名稱文件——存取學(xué)生信息學(xué)時2任務(wù)目標1.理解文本文件與二進制文件的區(qū)別2.掌握文件操作的過程3.掌握文本文件的讀寫函數(shù)4.掌握二進制文件的讀寫函數(shù)任務(wù)導(dǎo)入請將10名學(xué)生的隨機數(shù)據(jù)保存到文件,再從文件中讀取數(shù)據(jù),并在控制臺顯示。任務(wù)分析在前面的編程項目中,C語言程序的變量、數(shù)組等數(shù)據(jù)都保存在計算機內(nèi)存里,程序運行結(jié)束后數(shù)據(jù)就丟失了。在實際應(yīng)用中,我們需要將數(shù)據(jù)以文件的形式保存在計算機外存中,實現(xiàn)對數(shù)據(jù)的長期保存與訪問。通過隨機函數(shù)生成學(xué)生信息后,數(shù)據(jù)保存在數(shù)組stu中,可以自定義saveFile()函數(shù)將數(shù)據(jù)保存到文件,先調(diào)用fopen()庫函數(shù)打開文件,再調(diào)用fwrite()庫函數(shù)將數(shù)組stu寫入文件中,最后調(diào)用fclose()函數(shù)關(guān)閉文件。從文件中讀取數(shù)據(jù),可以自定義readFile()函數(shù),先調(diào)用fopen()庫函數(shù)打開文件,再調(diào)用fread()庫函數(shù)將文件中每名學(xué)生的數(shù)據(jù)逐個讀入數(shù)組中,為了與數(shù)組stu區(qū)別,可以定義一個新的數(shù)組stuNew,最后調(diào)用fclose()函數(shù)關(guān)閉文件。任務(wù)準備1.文件操作過程2.文件的打開與關(guān)閉3.文件的字符讀寫4.文件的字符串讀寫5.文件的格式化讀寫6.文件的塊數(shù)據(jù)讀寫任務(wù)實施(1)自定義結(jié)構(gòu)體類型并起別名為STUDENT;(2)自定義函數(shù)randStu,實現(xiàn)生成學(xué)生相關(guān)數(shù)據(jù)的功能;(3)自定義函數(shù)showStudentInfo,實現(xiàn)在控制臺輸出學(xué)生信息的功能;(4)自定義函數(shù)saveFile,實現(xiàn)將學(xué)生信息保存至文件的功能;(5)自定義函數(shù)readFile,實現(xiàn)從文件讀取數(shù)據(jù)至結(jié)構(gòu)體數(shù)組的功能;(6)在main函數(shù)中定義STUDENT類型的數(shù)組stu、stuNew;(7)分別調(diào)用randStu函數(shù)、showStudentInfo函數(shù)、saveFile函數(shù)、readFile函數(shù),觀察學(xué)生信息的存取。(學(xué)生補充)任務(wù)總結(jié)通過本任務(wù)的學(xué)習(xí),對所學(xué)、所獲進行總結(jié)。(學(xué)生補充)任務(wù)評價評價方式評價內(nèi)容分值成績自我評價課前任務(wù)的預(yù)習(xí)情況10對知識和技能的掌握程度20任務(wù)測試的完成情況20任務(wù)實施的完成情況40是否勝任小組內(nèi)的工作10合計小組評價小組的本次任務(wù)完成質(zhì)量30個人本次任務(wù)完成工作量20個人本次任務(wù)完成質(zhì)量30個人的合作精神和溝通能力20合計教師評價個人所在小組的任務(wù)完成質(zhì)量30個人本次任務(wù)完成質(zhì)量30個人在所在小組的參與度20個人對本次任務(wù)的貢獻度20合計總評=自我評價×()%+小組評價×()%+教師評價×()%=任務(wù)工單11綜合實訓(xùn)——設(shè)計并實現(xiàn)學(xué)生成績管理系統(tǒng)班級姓名任務(wù)成績實訓(xùn)地點日期小組編號任務(wù)名稱綜合實訓(xùn)——設(shè)計并實現(xiàn)學(xué)生成績管理系統(tǒng)學(xué)時4任務(wù)目標1.了解項目設(shè)計的基本步驟2.理解系統(tǒng)的模塊化設(shè)計3.掌握C語言程序設(shè)計的知識任務(wù)導(dǎo)入設(shè)計并實現(xiàn)學(xué)生成績管理系統(tǒng)。1.主菜單運行后程序從主函數(shù)進入,讀取數(shù)據(jù)、顯示歡迎信息,進入循環(huán),不斷顯示主菜單進行選擇操作,直到用戶輸入“0”時保存數(shù)據(jù),退出系統(tǒng),結(jié)束程序。2.隨機生成信息并顯示在主菜單中輸入“6”后回車,隨機產(chǎn)生若干條學(xué)生信息,再輸入“1”,顯示學(xué)生的基本信息。3.基本信息管理在主菜單中輸入“2”后回車,進入基本信息管理模塊,顯示基本信息管理子菜單。(1)添加學(xué)生記錄。在基本信息管理子菜單中輸入“1”后回車,按照提示依次輸入學(xué)生的學(xué)號、姓名、性別、語文成績、數(shù)學(xué)成績、英語成績,然后回車,顯示“添加成功!”,輸入“0”后回車,返回主菜單,繼續(xù)輸入“1”,顯示學(xué)生的基本信息,可以看到已經(jīng)包含了剛添加的學(xué)生記錄。(2)刪除學(xué)生記錄。在基本信息管理子菜單中輸入“2”后回車,按照提示輸入要刪除學(xué)生的學(xué)號。如果學(xué)號不存在,將顯示“刪除失敗,學(xué)號不存在!”;如果學(xué)號存在,將執(zhí)行刪除操作并顯示“刪除成功!”,輸入“0”后回車,返回主菜單,繼續(xù)輸入“1”,顯示學(xué)生的基本信息,可以看到該學(xué)生記錄已被刪除。(3)修改學(xué)生記錄。在基本信息管理子菜單中輸入“3”后回車,按照提示輸入要修改的學(xué)生學(xué)號。如果學(xué)號不存在,將顯示“修改失敗,學(xué)號不存在!”;如果學(xué)號存在,需要繼續(xù)輸入修改后的學(xué)生信息,然后回車,顯示“修改成功!”,輸入“0”后回車,返回主菜單,繼續(xù)輸入“1”,顯示學(xué)生的基本信息,可以看到學(xué)生記錄已被修改。4.學(xué)生成績管理在主菜單中輸入“3”后回車,進入學(xué)生成績管理模塊,顯示學(xué)生成績管理子菜單。在學(xué)生成績管理子菜單中輸入“1”后回車,將計算所有學(xué)生相關(guān)課程的總分,完成后顯示“完成計算總分!”,繼續(xù)輸入“2”后回車,將執(zhí)行總分排名操作,完成后顯示“完成排名!”,輸入“0”后回車,返回主菜單,繼續(xù)輸入“1”,顯示學(xué)生的基本信息,可以查看學(xué)生的總分與排名結(jié)果。5.考試成績統(tǒng)計在主菜單中輸入“4”后回車,進入考試成績統(tǒng)計模塊,顯示考試成績統(tǒng)計子菜單。在考試成績統(tǒng)計子菜單中輸入“

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論