C語言實(shí)驗(yàn)大作業(yè)學(xué)生成績(jī)管理.doc_第1頁(yè)
C語言實(shí)驗(yàn)大作業(yè)學(xué)生成績(jī)管理.doc_第2頁(yè)
C語言實(shí)驗(yàn)大作業(yè)學(xué)生成績(jī)管理.doc_第3頁(yè)
C語言實(shí)驗(yàn)大作業(yè)學(xué)生成績(jī)管理.doc_第4頁(yè)
C語言實(shí)驗(yàn)大作業(yè)學(xué)生成績(jī)管理.doc_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

學(xué) 院班 級(jí)學(xué) 號(hào)姓 名目錄1 摘要31.1 設(shè)計(jì)題目31.2 設(shè)計(jì)內(nèi)容31.3 開發(fā)工具31.4 應(yīng)用平臺(tái)32 詳細(xì)設(shè)計(jì)32.1 程序結(jié)構(gòu)32.2 主要功能32.3 函數(shù)實(shí)現(xiàn)32.4 開發(fā)日志43 程序調(diào)試及運(yùn)行43.1 程序運(yùn)行結(jié)果43.2 程序使用說明43.3 程序開發(fā)總結(jié)44 附件(源程序)4/*在后面的文檔編寫中,請(qǐng)你不要修改各個(gè)標(biāo)題的內(nèi)容,從而確保報(bào)告內(nèi)容和風(fēng)格一致。完成全部?jī)?nèi)容后,你只需要在上面的目錄上右鍵“更新域”,選擇“只更新頁(yè)碼”就可以更新正確的目錄頁(yè)碼。注意:目錄的左邊距為6.5厘米。*/1 摘要1.1 設(shè)計(jì)題目學(xué)成績(jī)管理程序1.2 設(shè)計(jì)內(nèi)容為了便于對(duì)學(xué)生星系進(jìn)行管理,這里設(shè)計(jì)了學(xué)生信息管理程序。該程序主要通過對(duì)鏈表的相關(guān)操作運(yùn)用菜單的形式實(shí)現(xiàn)對(duì)學(xué)生基本信息的管理。首先用戶要輸入三個(gè)學(xué)生的基本信息,程序即據(jù)此建立了一個(gè)有三個(gè)學(xué)生的鏈表,每個(gè)結(jié)點(diǎn)包括學(xué)號(hào)、姓名、3門課的成績(jī)(英語、數(shù)學(xué)、計(jì)算機(jī),其中成績(jī)精確到小數(shù)點(diǎn)后兩位)。菜單為: 1顯示。(即顯示所建立的鏈表及當(dāng)前鏈表內(nèi)容) 2排序。(即將用戶所輸入的學(xué)生信息按學(xué)號(hào)大小對(duì)原有鏈表內(nèi)容進(jìn)行排序,并將經(jīng)排序所產(chǎn)生的新鏈表展示給用戶) 3插入。(用戶根據(jù)需要可增加原鏈表中學(xué)生的數(shù)量,輸入一個(gè)學(xué)生的基本信息,即將其插入原鏈表中,且新鏈表按學(xué)號(hào)有序排列并展現(xiàn)給用戶) 4查找。(輸入一個(gè)學(xué)號(hào),輸出各種成績(jī)) 5刪除。(輸入一個(gè)學(xué)號(hào),從鏈表中刪除該學(xué)生,并展示新鏈表) 6統(tǒng)計(jì)。(若按1,則輸入該學(xué)生的學(xué)號(hào)統(tǒng)計(jì)該學(xué)生的總分及平均分;若按2,則輸入課程(1.英語 2.數(shù)學(xué) 3.計(jì)算機(jī))求該門課程的總分及平均分) 7存盤。(將建立起來的鏈表以文件的形式存儲(chǔ)) 8讀入。(將原來已將存盤的文件讀入內(nèi)存,進(jìn)行管理)1.3 開發(fā)工具Visual C+ 6.0和Win32。1.4 應(yīng)用平臺(tái)Windows XP/Vista 32位2 詳細(xì)設(shè)計(jì)2.1 程序結(jié)構(gòu)程序的流程:該程序首先定義了一個(gè)記錄學(xué)生基本信息的結(jié)構(gòu)體,和全局變量鏈表的頭指針“*head”,自定義了13個(gè)函數(shù),然后是主函數(shù)通過調(diào)用以上自定義函數(shù)來實(shí)現(xiàn)程序的功能。這樣做的好處是,在調(diào)用自定義函數(shù)時(shí)不必再對(duì)其申明。主函數(shù)第一行首先在程序運(yùn)行界面中央輸出“歡迎進(jìn)入學(xué)生管理”,接著是輸出“按回車鍵進(jìn)入”(在界面中央),以提醒用戶進(jìn)一步操作程序。按回車鍵后程序執(zhí)行創(chuàng)建鏈表函數(shù)(create(),這時(shí)出現(xiàn)界面需要用戶輸入三個(gè)學(xué)生的基本信息,按回車鍵后創(chuàng)建成功,同時(shí)進(jìn)入while循環(huán)體。該循環(huán)提以“system(cls)”開始,作用是在每次循環(huán)結(jié)束進(jìn)入下一次循環(huán)時(shí)對(duì)上一次循環(huán)的運(yùn)行結(jié)果進(jìn)行清除,以保證本次循環(huán)的結(jié)果能清晰展示。該循環(huán)第二行執(zhí)行函數(shù)“printfmenu()”,輸出當(dāng)前鏈表內(nèi)容。接著進(jìn)入菜單選擇界面,此時(shí)需輸入數(shù)字(08)進(jìn)行菜單選擇。若輸入8,該循環(huán)結(jié)束;否則繼續(xù)。然后執(zhí)行菜單選擇函數(shù),用戶通過菜單上執(zhí)行不同的操作調(diào)用不同的函數(shù)。執(zhí)行完菜單函數(shù)后,按回車鍵本次循環(huán)結(jié)束,并進(jìn)入下一次循環(huán)。循環(huán)結(jié)束后,又一次執(zhí)行清屏程序,最后輸出“謝謝使用,愿你開心度過每一天”字樣,至此整個(gè)程序結(jié)束。自定義函數(shù):一、顯示菜單函數(shù):void printfmenu()。用輸出管理菜單:. 顯示. 排序. 插入. 查找. 刪除. 統(tǒng)計(jì). 存盤. 讀入. 結(jié)束二、鏈表輸出函數(shù):void printfform()。用來將已經(jīng)創(chuàng)建鏈表或當(dāng)前所建鏈表進(jìn)行輸出顯示。三、鏈表創(chuàng)建函數(shù):void create()。該函數(shù)用來創(chuàng)建一個(gè)動(dòng)態(tài)鏈表,期間需要用戶輸入學(xué)生基本信息。四、排序函數(shù):void arrange()。該函數(shù)用來對(duì)所創(chuàng)建的鏈表或當(dāng)前存在的鏈表中的結(jié)構(gòu)體按學(xué)號(hào)遞增排序。排序結(jié)束調(diào)用“鏈表輸出函數(shù)”,將新產(chǎn)生的鏈表進(jìn)行輸出。五、插入函數(shù):void insert()調(diào)用該函數(shù)時(shí),由用戶輸入一個(gè)學(xué)生的信息,將產(chǎn)生一個(gè)新的結(jié)構(gòu)體,并將其按學(xué)號(hào)插入當(dāng)前鏈表中。調(diào)用鏈表輸出函數(shù),將新鏈表輸出。六、查找函數(shù):void find()。輸入一個(gè)學(xué)號(hào),將鏈表中該學(xué)生的信息輸出。若鏈表中無該學(xué)號(hào),則輸出“未找到”。七、刪除函數(shù):void delet()。輸入一個(gè)學(xué)號(hào),將鏈表中該學(xué)號(hào)學(xué)生信息刪除,并調(diào)用鏈表輸出函數(shù)將刪除后的鏈表輸出。若輸入學(xué)號(hào)不存在,輸出“未找到”。八、按學(xué)生統(tǒng)計(jì)函數(shù):void studentcount()。輸入一個(gè)學(xué)號(hào),計(jì)算該學(xué)號(hào)學(xué)生的總分和平均分并輸出。若學(xué)號(hào)不存在,輸出“未找到”。九、按科目統(tǒng)計(jì)函數(shù):void subjectcount()。輸入一個(gè)科目序號(hào)(.英語.數(shù)學(xué).計(jì)算機(jī)),計(jì)算該科目的總分和平均并輸出。十、統(tǒng)計(jì)函數(shù):void count()。當(dāng)輸入,調(diào)用“按學(xué)生統(tǒng)計(jì)函數(shù)”;當(dāng)輸入,調(diào)用“按科目統(tǒng)計(jì)函數(shù)”。分別進(jìn)行統(tǒng)計(jì)操作。十一、存盤函數(shù):void save()。將鏈表中的內(nèi)容以文件的形式存放在磁盤中。十二、讀入函數(shù):void read()。將已經(jīng)存盤的文件讀入內(nèi)存,進(jìn)行管理。十三、選擇菜單函數(shù):void menu(char t)。主函數(shù)輸入實(shí)參變量t,該函數(shù)通過選擇判斷調(diào)用以上函數(shù)來實(shí)現(xiàn)該程序的管理功能。參數(shù)傳遞:該程序包括主函數(shù)總共有14個(gè)函數(shù),只有選擇菜單函數(shù)是有參函數(shù),其他均是無參函數(shù)。選擇菜單函數(shù)運(yùn)用switch選擇結(jié)構(gòu),形參的傳遞用來選擇執(zhí)行調(diào)用相應(yīng)的菜單功能函數(shù)。如從主函數(shù)輸入1,主函數(shù)調(diào)用該函數(shù),并把1傳遞給該函數(shù),該函數(shù)則調(diào)用“排序函數(shù)”執(zhí)行菜單中的排序操作。2.2 主要功能程序功能:1、該程序主要用來對(duì)數(shù)量較少的學(xué)生基本信息進(jìn)行管理(初始學(xué)生數(shù)為三)。 2、顯示輸入的學(xué)生基本信息。 3、對(duì)學(xué)生按學(xué)號(hào)進(jìn)行排序、,并將信息以鏈表的形式進(jìn)行保存。 4、可通過插入操作增加所要處理的學(xué)生信息數(shù)量。 5、顯示所要查找的學(xué)生的基本信息。 6、刪除不必要的信息。 7、統(tǒng)計(jì)學(xué)生成績(jī)的相關(guān)數(shù)據(jù),總分和平均分。 8、將經(jīng)過處理的信息存盤管理。 9、以文件的形式將以存盤信息讀入內(nèi)存進(jìn)行管理。原理和方法:1、該程序的要通過對(duì)鏈表進(jìn)行操作來實(shí)現(xiàn)管理。 2、用循環(huán)結(jié)構(gòu)和指針對(duì)已存在鏈表輸出顯示,調(diào)用輸出函數(shù)“printf”。 3、排序時(shí)先把鏈表中的學(xué)好數(shù)據(jù)存放在一位數(shù)組中,再用選擇排序法對(duì)數(shù)組中的元素排序,最后用while循環(huán)結(jié)構(gòu)把數(shù)組中的元素與結(jié)構(gòu)體逐一配對(duì),從而實(shí)現(xiàn)對(duì)鏈表的排序。 4、先用while找到插入位置,然后是鏈表的插入操作。 5、while循環(huán)執(zhí)行查找操作。 6、while循環(huán)找到刪除對(duì)象,鏈表的刪除操作。 7、while循環(huán)找到操作對(duì)象,在執(zhí)行相應(yīng)操作。 8、文件的存儲(chǔ)。 9、文件的讀取。2.3 函數(shù)實(shí)現(xiàn)函數(shù)主要運(yùn)用了while、do。while、for循環(huán)結(jié)構(gòu),還有選擇排序法。函數(shù)大多為無參類型,自函數(shù)之間有少量調(diào)用。如排序、插入、刪除、統(tǒng)計(jì)等函數(shù)都是較為簡(jiǎn)單的函數(shù),只需根據(jù)醫(yī)學(xué)知識(shí)稍加修改即可。數(shù)據(jù)結(jié)構(gòu)方面,主要事項(xiàng)是函數(shù)調(diào)用,主函數(shù)調(diào)用菜單函數(shù),菜單函數(shù)又調(diào)用其它類型函數(shù),其他自定義函數(shù)之間也有調(diào)用。2.4 開發(fā)日志關(guān)于該程序的設(shè)計(jì),首先根據(jù)題目的要求考慮實(shí)現(xiàn)該函數(shù)所需的函數(shù)??紤]把自定義函數(shù)放在整個(gè)程序的前面,這樣在主函數(shù)調(diào)用時(shí)就不必再對(duì)其進(jìn)行申明。比如必須的一些基本函數(shù)鏈表輸出函數(shù)、鏈表創(chuàng)建函數(shù)、鏈表排序函數(shù)、查詢函數(shù)、鏈表刪除函數(shù)、統(tǒng)計(jì)函數(shù)等,先把這些基本函數(shù)建立起來之后,程序的整體結(jié)構(gòu)。考慮到程序的整體結(jié)構(gòu)通過函數(shù)調(diào)用來實(shí)現(xiàn)較為方便,由此增加設(shè)計(jì)了一些函數(shù),如鏈表輸出函數(shù)、顯示菜單函數(shù)、存盤函數(shù)、讀入函數(shù)等。函數(shù)的的創(chuàng)建過程實(shí)在是一個(gè)繁瑣的工作,編譯時(shí)常要去翻看課本去查找已經(jīng)遺忘的C語言的相關(guān)語法知識(shí),特別是一些細(xì)節(jié)上的設(shè)計(jì),更不敢輕易放過。如轉(zhuǎn)義字符“t”的使用回事程序界面更加美觀整潔好看,期間也對(duì)結(jié)構(gòu)體鏈表的知識(shí)作了較好的復(fù)習(xí)掌握。在做到排序函數(shù)時(shí)突然忘了選擇排序法的算法,于是通過查資料對(duì)其進(jìn)行了重新的掌握,其中插入函數(shù)的算法較為復(fù)雜,通過分析發(fā)現(xiàn),須先查找然后再插入,查找的算法編號(hào)之后,后面的統(tǒng)計(jì)、刪除函數(shù)也就迎刃而解了。調(diào)試的過程是最令人糾結(jié)的,覺得完好的程序卻總是調(diào)不出來,經(jīng)過復(fù)雜的心理腦力斗爭(zhēng)最終發(fā)現(xiàn)卻總是一些不該有的失誤,而不是算法上問題。調(diào)試的過程是用時(shí)最長(zhǎng)的,同時(shí)也磨練了我的耐性,讓我對(duì)頻頻出現(xiàn)的錯(cuò)誤更加理智、更加淡定、更加耐心。而且在調(diào)試的過程中也積累了一些常見的錯(cuò)誤經(jīng)驗(yàn),對(duì)部分調(diào)試的錯(cuò)誤能大體上感知其錯(cuò)誤的原因及位置。影響最深的是對(duì)排序函數(shù)的調(diào)試,指針數(shù)組的地址代碼寫錯(cuò)導(dǎo)致程序運(yùn)行時(shí)不能讀入,還有創(chuàng)建鏈表函數(shù)出現(xiàn)的問題,輸入函數(shù)多打了幾個(gè)“%lf”導(dǎo)致鏈表創(chuàng)建時(shí)出現(xiàn)亂碼。程序的整體結(jié)構(gòu)設(shè)計(jì)參考了“C語言課程設(shè)計(jì)”一書,再次申明??傊绦虻倪\(yùn)行過程看是簡(jiǎn)單,作用也非常單一,但對(duì)于像我這樣的智商不是很高的初學(xué)者而言,編程、調(diào)試過程是相當(dāng)?shù)钠D辛與繁瑣,其間個(gè)中滋味,汗水、辛酸只能把它埋在心底。3 程序調(diào)試及運(yùn)行3.1 程序運(yùn)行結(jié)果程序開始運(yùn)行界面程序運(yùn)行過程界面如下:程序結(jié)束界面:3.2 程序使用說明該程序較為簡(jiǎn)單,根據(jù)程序運(yùn)行時(shí)的提示即可完成操作。在第一次進(jìn)行顯示操作時(shí),需按兩次0才能顯示所建鏈表。在完成一次菜單操作后,應(yīng)按回車鍵返回主菜單。3.3 程序開發(fā)總結(jié)大作業(yè)的編寫,是一個(gè)對(duì)所學(xué)知識(shí)綜合應(yīng)用的過程,也是對(duì)所學(xué)知識(shí)掌握情況的檢驗(yàn)過程,更是對(duì)所學(xué)知識(shí)系統(tǒng)復(fù)習(xí)的過程。其間涉及除程序設(shè)計(jì)外多方面技能應(yīng)用,能夠很好訓(xùn)練一個(gè)人的整體思維能力,體現(xiàn)其綜合素質(zhì)。同時(shí)在完成作業(yè)的過程中,也讓我體驗(yàn)了當(dāng)一個(gè)程序員的神奇感受。當(dāng)然我編的程序很簡(jiǎn)單,用途也很有限,其實(shí)就當(dāng)前的程序來看根本沒什么實(shí)際用途。但是設(shè)計(jì)工作的過程還是讓我體會(huì)到了其艱辛其難度,編完之后油然而生的小小成就感是相當(dāng)美妙的。在編程設(shè)計(jì)過程中遇到過很多問題和困難,也讓我深刻認(rèn)識(shí)到自己知識(shí)的欠缺,感受到自己離一個(gè)真正的程序設(shè)計(jì)人員的差距還是相當(dāng)之遠(yuǎn),自己還有很多只是要學(xué)習(xí)和掌握。更重要的是過程激發(fā)了我對(duì)計(jì)算機(jī)編程的興趣,雖然這門課程即將結(jié)束,當(dāng)我想我對(duì)其的學(xué)習(xí)與熱愛絕不會(huì)停止。限于本人智商和時(shí)間的原因,該程序存在一定的缺陷和一些需要完善提高的地方,現(xiàn)在此處指出如下:1、在鏈表的創(chuàng)建上,包含的信息量較少,僅有三個(gè)學(xué)生,其實(shí)據(jù)此方法可適當(dāng)增加學(xué)生數(shù)量,以增強(qiáng)程序的實(shí)用性。2、再刪除操作上,僅有對(duì)單個(gè)學(xué)生的刪除功能,缺乏相應(yīng)的全部刪除功能,限于時(shí)間的原因未能增加。3、在對(duì)學(xué)生信息處理上,功能較少,缺乏最高分最低分的統(tǒng)計(jì)以及對(duì)于程序的排序。4、在統(tǒng)計(jì)功能的程序設(shè)計(jì)上,在選擇完成一種統(tǒng)計(jì)操作后,程序即回到主菜單而不能回到統(tǒng)計(jì)界面繼續(xù)進(jìn)行統(tǒng)計(jì)操作,此不足之處未能改善。 當(dāng)然通過對(duì)大作業(yè)的撰寫,打字水平也有了較大的提高??傊?,完成大作業(yè),無論是思想上、能力上還是知識(shí)上都有了較大的飛躍,各方面都受益匪淺。4 附件(源程序)#include #include #include struct studentlong num;char name80; double score3;struct student *next;struct student *head; /定義全局變量head,各個(gè)函數(shù)中均可用#define LEN sizeof(struct student)struct student *stu;void printfmenu() /將菜單列出函數(shù)printf(tttt0.顯示n);printf(tttt1.排序n);printf(tttt2.插入n);printf(tttt3.查找n);printf(tttt4.刪除n);printf(tttt5.統(tǒng)計(jì)n);printf(tttt6.存盤n);printf(tttt7.讀入n);printf(tttt8.結(jié)束n);void printfform() /用于每次將鏈表列出struct student *p;printf(t學(xué)號(hào)t姓名t數(shù)學(xué)成績(jī)t英語成績(jī)t計(jì)算機(jī)成績(jī)n);p=head;if(head!=NULL)doprintf(t%ldt%s t%.2f t%.2f t%.2fn,p-num,p-name,p-score0,p-score1,p-score2);p=p-next;while(p!=NULL);else return;void create() /創(chuàng)建三人構(gòu)成的初始表int i=0,j,k;struct student *p1,*p2;char name1380;long num13;double score133;head=p1=p2=(struct student *)malloc(LEN);printf(請(qǐng)輸入3個(gè)所要處理的學(xué)生信息,包括學(xué)號(hào)、姓名,英語、數(shù)學(xué)、計(jì)算機(jī)的成績(jī)n); /賦予三個(gè)學(xué)生的信息for(k=0;k3;k+)scanf(%ld%s,&num1k,name1k);for(j=0;j3;j+)scanf(%lf,&score1kj); while(inext=p1;p1-num=num1i;strcpy(p1-name,name1i);for(j=0;jscorej=score1ij;p2=p1;if(i=2)p1-next=NULL; /鏈表結(jié)束else p1=(struct student *)malloc(LEN); /開辟一個(gè)新的單元i+;void arrange() /排序函數(shù)void printfform();struct student *p1,*p2,*p3;long s3;p2=p1=head;int i,j,t,k;for(i=0;inum;p1=p1-next;for(i=0;i3;i+)k=i;for(j=i+1;jsj)k=j;if(k!=i)t=sk;sk=si;si=t;for(i=0;inum!=si&p2!=NULL)p2=p2-next;pi=p2;p2=head;head=p0;p0-next=p1;p1-next=p2;p2-next=NULL;printfform(); void insert() /插入函數(shù)struct student *p0,*p1,*p2;char t;printf(溫馨提示:需要進(jìn)行排序后才可進(jìn)行插入,輸入9返回主菜單,按回車鍵繼續(xù)n);t=getchar();if(t=9) return;printf(請(qǐng)輸入要插入的學(xué)號(hào),姓名,數(shù)學(xué)成績(jī),英語成績(jī),計(jì)算機(jī)成績(jī)n);stu=(struct student *)malloc(LEN); scanf(%ld%s%lf%lf%lf,&stu-num,stu-name,&stu-score0,&stu-score1,&stu-score2); p0=stu; /p0指向要插入的節(jié)點(diǎn)p1=head; /p1指向首節(jié)點(diǎn)while(p0-nump1-num)&(p1-next!=NULL) /找插入位置p2=p1;p1=p1-next;if(p0-numnum)if(head=p1) /插入到第一個(gè)節(jié)點(diǎn)前head=p0;elsep2-next=p0;p0-next=p1;else /插入到最后一個(gè)節(jié)點(diǎn)后p1-next=p0;p0-next=NULL;printfform(); /顯示鏈表void find() /查找函數(shù)struct student *p1;long num1;p1=head;printf(請(qǐng)輸入要查找的學(xué)號(hào));scanf(%ld,&num1);while(p1!=NULL)if(p1-num=num1)printf(t學(xué)號(hào)t姓名t數(shù)學(xué)成績(jī)t英語成績(jī)t計(jì)算機(jī)成績(jī)n);printf(t%ldt%s t%.2f t%.2f t%.2fn,p1-num,p1-name,p1-score0,p1-score1,p1-score2);break;p1=p1-next;if(p1=NULL)printf(未找到);void delet() /刪除指定學(xué)號(hào)的函數(shù)long num;struct student *p1,*p2;p1=head;printf(請(qǐng)輸入要?jiǎng)h的學(xué)生的學(xué)號(hào)); scanf(%d,&num);while(num!=p1-num&p1-next!=NULL) /p1指向的不是所要的節(jié)點(diǎn),并且后面還有節(jié)點(diǎn)p2=p1;p1=p1-next;if(num=p1-num) /找到了if(p1=head) /對(duì)首節(jié)點(diǎn)特殊處理head=p1-next;else p2-next=p1-next;printfform();elseprintf(學(xué)號(hào)為%ld的同學(xué)未找到n,num);void studentcount() /按學(xué)生統(tǒng)計(jì)函數(shù)double aver,zong;struct student *p1; long num;printf(請(qǐng)輸入學(xué)號(hào));scanf(%ld,&num);p1=head;while(p1!=NULL)if(p1-num=num) zong=p1-score0+p1-score1+p1-score2;aver=zong/3;printf(學(xué)號(hào)為%ld的總分=%.2f,平均分=%.2f,p1-num,zong,aver);break;p1=p1-next;if(p1=NULL)printf(未找到);void subjectcount() /按科目統(tǒng)計(jì)函數(shù)double aver,zong=0;struct student *p1;int i,n=0;printf(t請(qǐng)選擇科目(13);printf(t1.數(shù)學(xué));printf(t2.英語);printf(t3.計(jì)算機(jī));scanf(%d,&i);p1=head;while(p1!=NULL)zong=zong+p1-scorei-1;n+;p1=p1-next;aver=zong/n;printf(該科目的總分=%.2f,平均分=%.2f,zong,aver);void count() /統(tǒng)計(jì)函數(shù)int t;printf(tt1.求學(xué)生總分平均分ntt2.求科目總分平均分n);printf(請(qǐng)輸入); scanf(%d,&t);switch(t) case 1:studentcount();break; case 2:subjectcount();break;void save() /存盤函數(shù)FILE *fp;struct student *p1;p1=head;if(fp=fopen(score.dat,wb)=NULL) /不能打開時(shí) printf(Cannot open file); exit(1); while(p1!=NULL)fwrite(p1,LEN,1,fp);p1=p1-next;fclose(fp);printf(已存到c:/score.dat);void read() /讀入函數(shù)FILE *fp;struct student *p1,*p2;char filename80; p1=p2

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論