C語言程序設(shè)計(jì)綜合性實(shí)驗(yàn)項(xiàng)目教學(xué)大綱_第1頁
C語言程序設(shè)計(jì)綜合性實(shí)驗(yàn)項(xiàng)目教學(xué)大綱_第2頁
C語言程序設(shè)計(jì)綜合性實(shí)驗(yàn)項(xiàng)目教學(xué)大綱_第3頁
C語言程序設(shè)計(jì)綜合性實(shí)驗(yàn)項(xiàng)目教學(xué)大綱_第4頁
C語言程序設(shè)計(jì)綜合性實(shí)驗(yàn)項(xiàng)目教學(xué)大綱_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計(jì)綜合性實(shí)驗(yàn)項(xiàng)目教學(xué)大綱(CProgrammingLanguage)實(shí)驗(yàn)項(xiàng)目名稱:綜合應(yīng)用 計(jì)劃學(xué)時(shí):6學(xué)時(shí)課程類型:公共基礎(chǔ)課 適用專業(yè):理工類非計(jì)算機(jī)專業(yè)所涉及相關(guān)課程:《C語言程序設(shè)計(jì)》、《計(jì)算機(jī)文化基礎(chǔ)》、《高等數(shù)學(xué)》等一、實(shí)驗(yàn)?zāi)康呐c要求1.實(shí)驗(yàn)?zāi)康摹禖語言程序設(shè)計(jì)》綜合性實(shí)驗(yàn)是實(shí)驗(yàn)教學(xué)的重要組成部分,通過設(shè)計(jì)和開發(fā)適當(dāng)?shù)木C合性實(shí)驗(yàn)項(xiàng)目,使學(xué)生綜合運(yùn)用C語言編程知識,應(yīng)用綜合的方法分析問題、解決問題,培養(yǎng)綜合考慮問題的思維方式和一定的程序開發(fā)能力。具體包括:(1)利用所學(xué)的三種程序基本結(jié)構(gòu)以及數(shù)組、用戶自定義函數(shù)等進(jìn)行一個(gè)小型項(xiàng)目的開發(fā),進(jìn)一步理解和掌握C語言的語法以及模塊化程序設(shè)計(jì)方法。(2)通過程序中涉及到的排序、查找等操作加深對常用數(shù)據(jù)類型(數(shù)據(jù)結(jié)構(gòu))、算法、程序設(shè)計(jì)思路、常用程序設(shè)計(jì)技巧的理解與掌握,逐步培養(yǎng)學(xué)生的程序開發(fā)能力。2.實(shí)驗(yàn)要求(1)根據(jù)實(shí)驗(yàn)內(nèi)容,認(rèn)真編寫源程序代碼、上機(jī)調(diào)試程序,書寫實(shí)驗(yàn)報(bào)告。(2)本大綱僅列出了二個(gè)實(shí)驗(yàn)項(xiàng)目,授課教師可根據(jù)教學(xué)情況及實(shí)驗(yàn)項(xiàng)目的工作量與難度進(jìn)行分組安排實(shí)驗(yàn)。由于實(shí)際教學(xué)中,可選擇的C語言綜合性實(shí)驗(yàn)項(xiàng)目有很多,授課教師也可以另行給出其它實(shí)驗(yàn)項(xiàng)目,但要求有一定工作量,并能夠綜合考察學(xué)生對知識的掌握程度和解決實(shí)際問題的能力。(3)本大綱列出的實(shí)驗(yàn)項(xiàng)目可以采用集中式和分散式兩種形式進(jìn)行。采用集中式形式的,在學(xué)期未安排相對集中的時(shí)間進(jìn)行實(shí)驗(yàn);采用分散式形式的,可以根據(jù)實(shí)驗(yàn)項(xiàng)目的特點(diǎn)將其分解到相應(yīng)的章節(jié),再讓學(xué)生利用實(shí)驗(yàn)課時(shí)間和課外時(shí)間進(jìn)行實(shí)驗(yàn),并要求在學(xué)期未形成完整的項(xiàng)目程序設(shè)計(jì)報(bào)告,此時(shí)也需要教師適當(dāng)調(diào)整理論與實(shí)踐課時(shí)。二、實(shí)驗(yàn)條件微型計(jì)算機(jī),TC2.0或VisualC++6.0軟件。三、實(shí)驗(yàn)內(nèi)容1.學(xué)生成績管理系統(tǒng)學(xué)生成績管理系統(tǒng)主要完成一個(gè)班級的學(xué)生成績相關(guān)信息的管理,具體完成的功能包括:(1)學(xué)生信息(學(xué)號、姓名、成績等)的顯示(數(shù)據(jù)結(jié)構(gòu)要求用數(shù)組);(2)按姓名查找學(xué)生(數(shù)據(jù)結(jié)構(gòu)要求用數(shù)組);(3)計(jì)算各門課程的平均分(數(shù)據(jù)結(jié)構(gòu)要求用數(shù)組);(4)計(jì)算學(xué)生總成績,并按總成績進(jìn)行排序(數(shù)據(jù)結(jié)構(gòu)要求用數(shù)組);(5)按總成績降序顯示學(xué)生信息;(6)學(xué)生記錄的插入;(7)用單鏈表(結(jié)構(gòu)體)處理班級學(xué)生信息(學(xué)號、姓名、成績等),包括學(xué)生信息輸入(添加)、學(xué)生信息瀏覽、學(xué)生總成績計(jì)算和將學(xué)生信息存入文件。其中第(7)為選作內(nèi)容,如果學(xué)生能夠做出來,實(shí)驗(yàn)成績應(yīng)給予加分獎(jiǎng)勵(lì)。另外,授課教師也可以讓學(xué)生全部采用結(jié)構(gòu)體數(shù)組或者單鏈表等數(shù)據(jù)結(jié)構(gòu),進(jìn)行相應(yīng)的學(xué)生成績管理系統(tǒng)的開發(fā),此時(shí)教師可以參照本大綱,給出相應(yīng)的實(shí)驗(yàn)要求。2.二分查找在主函數(shù)中輸入n個(gè)元素存儲在數(shù)組a中,要求先對該數(shù)組按升序排序,再在這n個(gè)元素中找出一特定元素x。其中排序與查找操作要求用函數(shù)實(shí)現(xiàn)。四、實(shí)驗(yàn)步驟1.學(xué)生成績管理系統(tǒng)的實(shí)驗(yàn)步驟每位學(xué)生記錄包含的信息有:姓名,學(xué)號和各門功課(假設(shè)有三門課程)的成績、課程總成績;并假設(shè)班級學(xué)生數(shù)不超過120人(一個(gè)班級的最大人數(shù))。定義的主要數(shù)據(jù)結(jié)構(gòu)和函數(shù)說明如下:用到的全局變量或數(shù)組有:#defineMmax120/*記錄最大學(xué)生數(shù)*/#defineNmax3/*記錄學(xué)生選課最大課程數(shù)目*//*以全局變量的形式給出各門課程的名稱*/charcourse[Nmax][50]={"Chinese","Mathematic","English"};學(xué)生記錄的結(jié)構(gòu)體類型如下:structstudent{ charcode[11]; /*假設(shè)學(xué)號有10位數(shù)字*/ char name[20];/*姓名*/ floatscore[Nmax]; /*各課程成績*/ floattotal; /*總分*/ structstudent*next;};用到的局部變量或數(shù)組(在main函數(shù)中定義)如下:charsno[Mmax][11];/*存儲學(xué)生學(xué)號,可事先加入初始數(shù)據(jù)若干條,假設(shè)學(xué)號有10位數(shù)字(注意此時(shí)要求存儲空間要11個(gè)字節(jié)),例如2011023102表示入學(xué)年份為2011年,023是專業(yè)編碼,102是學(xué)生在班級中的排號*/charname[Mmax][20];/*存儲學(xué)生姓名,可事先加入初始數(shù)據(jù)若干條*/floatscore[Mmax][Nmax];/*存儲學(xué)生成績;假設(shè)至多有M名學(xué)生,N門課程,可事先加入初始數(shù)據(jù)若干條*/floattscore[Mmax];/*存儲每位學(xué)生成績的總分*/floatavescore[Nmax];/*存儲單科成績的平均分*/intindex[Mmax];/*排名索引(約定為降序),即存儲每位學(xué)生總成績在tscore數(shù)組中的名次(由高分到低分)*//*M實(shí)際學(xué)生數(shù)*//*N實(shí)際課程數(shù)*/主要函數(shù)說明如下:(1)voidaveragemark(float(*pscore)[Nmax],float*pavecourse,intm,intn)//計(jì)算課程平均分(2)voidtotalmark(float(*pscore)[Nmax],float*ptscore,intm,intn)//計(jì)算每位學(xué)生總分(3)voiddisplaystu(char(*psno)[11],char(*pname)[20],float(*pscore)[Nmax],float*ptscore,intm,intn)//用于顯示m名學(xué)生的信息(4)voidsortscore(float*ptscore,int*pindex,intm)//對學(xué)生總分進(jìn)行排序(按降序),形成排名索引(5)voiddisplaystusort(char(*psno)[11],char(*pname)[20],float(*pscore)[Nmax],float*ptscore,int*pindex,intm,intn)//從高分到低分顯示學(xué)生信息(6)voidinsert(char(*psno)[11],char(*pname)[20],float(*pscore)[Nmax],float*ptscore,int*pm,intn)//添加(插入)學(xué)生記錄,可以添加多條;同時(shí)要求添加的學(xué)生記錄要與原有學(xué)生記錄不可重復(fù)(根據(jù)學(xué)號來判斷);(7)intretrievebyn(char(*pname)[20],char*pnamesearch,intm)//按姓名檢索學(xué)生,若找到則返回該學(xué)生的學(xué)號,否則返回-1;(8)voidlinkprocess():用單鏈表進(jìn)行學(xué)生成績管理的子菜單程序,調(diào)用如下函數(shù):structstudent*appendstuinfo(structstudent*head):輸入和添加學(xué)生信息,在輸入新數(shù)據(jù)的同時(shí),計(jì)算學(xué)生總成績;voiddisplaylist(structstudent*head):瀏覽學(xué)生信息;voidsavestuinfo(structstudent*head):保存學(xué)生信息(保存到文件stuinfo.txt)。2.二分查找的實(shí)驗(yàn)步驟規(guī)定數(shù)組a的最多元素個(gè)數(shù)為N,用#define進(jìn)行定義如下:#defineN100/*記錄數(shù)組a的最多元素個(gè)數(shù)*/在main函數(shù)中輸入數(shù)組a和要查找的元素x,利用排序函數(shù)sort對數(shù)組a按升序排序,再調(diào)用二分查找函數(shù)binarySearch查找x。主要函數(shù)說明如下:(1)voidsort(int*a,intn)//對數(shù)據(jù)a進(jìn)行排序(按升序)(2)intbinarySearch(int*a,intx,intn)//在數(shù)組a中利用二分查找法查找元素x,若找到則返回x在數(shù)組a中對應(yīng)的位置下標(biāo),否則返回-1。五、考核形式根

溫馨提示

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

評論

0/150

提交評論