




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)論文課程名稱(chēng): 數(shù)據(jù)構(gòu)造課程設(shè)計(jì) 題 目: 學(xué)生成績(jī)管理系統(tǒng) 院 系: 信息與控制系 專(zhuān)業(yè)班級(jí): 計(jì)算機(jī)1202 姓 名: 陳 安 學(xué) 號(hào): 2 指導(dǎo)教師: 張 帆 2021年 11 月 14 日西安建筑科技大學(xué)華清學(xué)院課程設(shè)計(jì)論文任務(wù)書(shū)專(zhuān)業(yè)班級(jí): 計(jì)算機(jī)1202 學(xué)生姓名: 陳安 指導(dǎo)教師簽名: 一、課程設(shè)計(jì)論文題目學(xué)生成績(jī)管理二、本次課程設(shè)計(jì)論文應(yīng)到達(dá)的目的數(shù)據(jù)構(gòu)造是實(shí)踐性很強(qiáng)的課程。課程設(shè)計(jì)是加強(qiáng)學(xué)生實(shí)踐能力的一個(gè)強(qiáng)有力手段。課程設(shè)計(jì)要求學(xué)生在完成程序設(shè)計(jì)的同時(shí)能夠?qū)懗霰葦M標(biāo)準(zhǔn)的設(shè)計(jì)報(bào)告。嚴(yán)格實(shí)施課程設(shè)計(jì)這一環(huán)節(jié),對(duì)于學(xué)生根本程序設(shè)計(jì)素養(yǎng)的培養(yǎng)和軟件工作者工作作風(fēng)的訓(xùn)練,將起到顯
2、著的促進(jìn)作用。此題目要到達(dá)目的:熟練掌握鏈表構(gòu)造的實(shí)現(xiàn)與應(yīng)用。 三、本次課程設(shè)計(jì)論文任務(wù)的主要內(nèi)容和要求包括原始數(shù)據(jù)、技術(shù)參數(shù)、設(shè)計(jì)要求等 實(shí)現(xiàn)輸入、輸出、插入、刪除、查找、追加、讀入、顯示、保存、拷貝、排序、索引、分類(lèi)合計(jì)、退出等功能。輸入數(shù)據(jù):學(xué)生姓名;學(xué)生證號(hào);學(xué)生所在院系;學(xué)生所修課程名;學(xué)生成績(jī);實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的如下操作:1. 輸入、輸出;2. 各種數(shù)據(jù)操作:插入、刪除、查找、追加;3. 排序、索引、分類(lèi)合計(jì);4. 優(yōu)化界面設(shè)計(jì)(用到菜單、命令按鈕等)。四、應(yīng)收集的資料及主要參考文獻(xiàn): 由于本課程沒(méi)有安排“課內(nèi)上機(jī)學(xué)時(shí),因此,在課程設(shè)計(jì)之前必須自己已經(jīng)上機(jī)練習(xí)了“線性表的根本操作。
3、參考文獻(xiàn):2. 數(shù)據(jù)構(gòu)造與算法,科學(xué)出版社,2005.08,趙文靜 祁飛等編著3. 數(shù)據(jù)構(gòu)造-C+語(yǔ)言描述,西安交通大學(xué)出版社,1999.01,趙文靜編著4.VC+深入詳解,電子工業(yè)出版社,2007.7,孫鑫,于安萍編著5.C+程序設(shè)計(jì), 清華大學(xué)出版社, 2005.8,COHOON & DAVIDSON編著五、審核批準(zhǔn)意見(jiàn)教研室主任簽字 摘要 本課程設(shè)計(jì)是對(duì)學(xué)生信息(包括學(xué)號(hào)、姓名、性別、高數(shù)、英語(yǔ)、C語(yǔ)言、平均分)進(jìn)展管理,包括學(xué)生成績(jī)的信息輸入、顯示、添加、刪除、修改、查詢(xún)、退出.將學(xué)生的成績(jī)信息進(jìn)展記錄,信息內(nèi)容包含:1學(xué)生的學(xué)號(hào)2學(xué)生的姓名3學(xué)生的成績(jī)。假設(shè),現(xiàn)收集到了一個(gè)班學(xué)生的所
4、有成績(jī)信息,要求用C語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)單的成績(jī)管理系統(tǒng),可進(jìn)展錄入、查詢(xún)、修改和瀏覽等功能關(guān)鍵詞:學(xué)生成績(jī)管理系統(tǒng)目錄 TOC o 1-3 h z u HYPERLINK l _Toc334440224 一、需求分析1 HYPERLINK l _Toc334440225 二、概要設(shè)計(jì)1 HYPERLINK l _Toc334440226 三、詳細(xì)設(shè)計(jì)2 HYPERLINK l _Toc334440227 四、調(diào)試分析7 HYPERLINK l _Toc334440228 五、使用說(shuō)明10 HYPERLINK l _Toc334440229 六、課設(shè)總結(jié)10 HYPERLINK l _Toc3344
5、40230 參考文獻(xiàn)11一、需求分析主要表達(dá)軟件必須具備的功能和要求。本課程設(shè)計(jì)是用于對(duì)學(xué)生的成績(jī)進(jìn)展管理。通過(guò)本系統(tǒng),可以將各個(gè)學(xué)生的成績(jī)記錄輸入到系統(tǒng)中,保存到文件,便于查閱和相關(guān)管理。此外,該系統(tǒng)還能實(shí)現(xiàn)對(duì)學(xué)生成績(jī)記錄的顯示,查詢(xún)以及插入或刪除學(xué)生的成績(jī)記錄等功能。二、概要設(shè)計(jì)主要說(shuō)明對(duì)軟件中有關(guān)信息設(shè)計(jì)的數(shù)據(jù)構(gòu)造;畫(huà)出整個(gè)軟件的系統(tǒng)構(gòu)造圖,說(shuō)明各個(gè)模塊的功能。1利用的數(shù)據(jù)構(gòu)造內(nèi)容:以c語(yǔ)言和數(shù)據(jù)構(gòu)造為根底知識(shí),應(yīng)用構(gòu)造體把學(xué)生信息學(xué)號(hào)、姓名、性別、高數(shù)成績(jī)、英語(yǔ)成績(jī)、C語(yǔ)言成績(jī)連接起來(lái)組成一個(gè)整體,建立雙向循環(huán)鏈表,運(yùn)用主函數(shù)調(diào)用鏈表的功能函數(shù),用鏈表的建立、遍歷、修改、添加、刪除、輸
6、出等操作實(shí)現(xiàn)各個(gè)功能。功能描述 針對(duì)學(xué)生具體情況,進(jìn)展學(xué)生成績(jī)管理。采用鏈表和文件存儲(chǔ)構(gòu)造進(jìn)展學(xué)生信息的存儲(chǔ);對(duì)學(xué)生的信息可以進(jìn)展修改、刪除、添加、查詢(xún);菜單函數(shù)輸入學(xué)生成績(jī)顯示學(xué)生成績(jī)添加學(xué)生成績(jī)將文件內(nèi)信息插入鏈表刪除學(xué)生成績(jī)修改學(xué)生成績(jī) 主函數(shù)查詢(xún)學(xué)生成績(jī)退出系統(tǒng) 三、詳細(xì)設(shè)計(jì)主要寫(xiě)出所設(shè)計(jì)數(shù)據(jù)構(gòu)造的詳細(xì)定義和組成;各個(gè)模塊的算法流程圖或偽碼表示。3.1學(xué)生成績(jī)的構(gòu)造體類(lèi)型定義為:定義與系統(tǒng)需求有關(guān)的構(gòu)造體:姓名;性別:高數(shù)成績(jī):英語(yǔ)成績(jī),C語(yǔ)言成績(jī)struct student/學(xué)生信息 int no; char name20;/學(xué)生姓名 char sex4;/學(xué)生性別 float ga
7、oshu;/學(xué)生高數(shù)成績(jī) float yingyu;/學(xué)生英語(yǔ)成績(jī) float cyuyan;/學(xué)生C語(yǔ)言成績(jī) float ave; float sum; ;struct student stuMAX,*p;3.2 主函數(shù): 運(yùn)行出菜單,然后根據(jù)菜單項(xiàng)選擇擇執(zhí)行的功能,1輸入學(xué)生成績(jī),2顯示學(xué) 生成績(jī)3添加學(xué)生成績(jī),4刪除學(xué)生成績(jī),5修改學(xué)生成績(jī),6查詢(xún)學(xué)生成績(jī) head=(DuLNode*)malloc(sizeof(DuLNode);/*分配頭結(jié)點(diǎn)的空間*/ if(!head)/*判斷頭結(jié)點(diǎn)空間分配是否成功*/3.3 DuLNode *save(DuLinkList head) 保存函數(shù),
8、將文件中的內(nèi)容保存在鏈表 里面:利用鏈?zhǔn)酱鎯?chǔ)把有關(guān)的相應(yīng)信息:姓名,性別,高數(shù)成績(jī),英語(yǔ)成績(jī), C語(yǔ)言成績(jī)存儲(chǔ)起來(lái)。建立一個(gè)txt格式的文本文檔,定義并建立指針,利用指針把這些信息存儲(chǔ) 到這個(gè)文本文檔里面。 DuLNode *save(DuLinkList head) DuLinkList p,q;/*定義結(jié)點(diǎn)類(lèi)型指針*/ FILE *fp ;/*定義文件指針*/ if(fp=fopen(consumer.txt,r+)=NULL) printf(cannot open this file.n); fflush(stdin); getch(); exit(0); 3.4 DuLNode *fi
9、nd(DuLinkList&head,int n),查找函數(shù),根據(jù)學(xué)生的姓名信息,對(duì)鏈表進(jìn)展遍歷,然后將指針指向查找結(jié)點(diǎn),將結(jié)點(diǎn)內(nèi)的信息讀出:調(diào)用查找函數(shù),輸入要查詢(xún)的學(xué)生學(xué)號(hào),系統(tǒng)給出所要查找學(xué)生的資料返 回 主 菜 單輸 出學(xué) 生資 料 輸 入 要查 詢(xún) 對(duì)的 學(xué) 生姓 名 查詢(xún) 學(xué)生 資料 printf(輸入要查詢(xún)的學(xué)生姓名:); fflush(stdin); gets(str); for(i=0;inow;i+) if(!strcmp(,str) printf(t學(xué)號(hào)t姓名t性別t高數(shù)t英語(yǔ)tC語(yǔ)言t平均值n); printf(t%dt%st%st%.2ft%.2ft
10、%.2ft%.2fn,stui.no,,stui.sex,stui.gaoshu,stui.yingyu,stui.cyuyan,stui.ave); printf(tt按任意鍵返回主菜單.); fflush(stdin); as=getch();3.5 DuLNode *alter(DuLinkList&head)更改函數(shù),根據(jù)學(xué)生學(xué)號(hào)利用鏈表的遍 歷找到存儲(chǔ)想要更改學(xué)生信息的鏈表,然后再鏈表內(nèi)更改學(xué)生信息,最后 利用文件指針將鏈表內(nèi)的信息重新輸入文件中:修改學(xué)生資 料返回主菜單判斷姓名是否正確輸入要修改學(xué)生姓名 不正確 正確進(jìn)展學(xué)生信息修改 int i; char str
11、20; printf(輸入要修改的學(xué)生姓名:); fflush(stdin); gets(str); for(i=0;inow;i+) if(!strcmp(,str) system(cls); printf(ntt輸入修改學(xué)生信息n); printf(n輸入學(xué)生學(xué)號(hào):); fflush(stdin); scanf(%d,&stui.no); printf(n輸入學(xué)生性別:); fflush(stdin); gets(stui.sex); printf(n輸入學(xué)生高數(shù):); fflush(stdin); scanf(%f,&stui.gaoshu); printf(n輸入學(xué)生
12、英語(yǔ):); fflush(stdin); scanf(%f,&stui.yingyu); printf(n輸入學(xué)生C語(yǔ)言:); fflush(stdin); scanf(%f,&stui.cyuyan); printf(nn); break; 3.6 DuLNode *add(DuLinkList&head)添加函數(shù),在頭結(jié)點(diǎn)和末端結(jié)點(diǎn)之間添加新的結(jié)點(diǎn),存儲(chǔ)新的學(xué)生信息,并且刪除文件中的內(nèi)容,將鏈表內(nèi)的新信息寫(xiě)入文件: 返回主菜單判斷是否繼續(xù)輸入輸入學(xué)生的學(xué)號(hào)姓名成績(jī)信息添加學(xué)生成績(jī) 否 是 printf(ntt輸入新插入學(xué)生隊(duì)信息n); printf(n輸入學(xué)生學(xué)號(hào):); scanf(%d,
13、&stunow.no); fflush(stdin); printf(n輸入學(xué)生姓名:); fflush(stdin); gets(); printf(n輸入學(xué)生性別:); fflush(stdin); gets(stunow.sex); printf(n輸入學(xué)生高數(shù):); fflush(stdin); scanf(%f,&stunow.gaoshu); printf(n輸入學(xué)生英語(yǔ):); fflush(stdin); scanf(%f,&stunow.yingyu); printf(n輸入學(xué)生C語(yǔ)言:); fflush(stdin); scanf(%f,&stunow.
14、cyuyan); printf(nn); now=now+1; printf(是否繼續(xù)輸入?(Y/N); fflush(stdin); ch=getch(); system(cls); 3.7. DuLNode *del(DuLinkList&head)刪除函數(shù),對(duì)鏈表進(jìn)展遍歷,找到存儲(chǔ)想 要?jiǎng)h除信息的結(jié)點(diǎn),然后在鏈表中刪除該結(jié)點(diǎn),最后刪除文件中的舊信息, 將鏈表中的全部信息輸入文件中:輸入要?jiǎng)h除的學(xué)生學(xué)號(hào)刪除學(xué)生資料返回主菜單刪 除資 料 int inum,i; printf(請(qǐng)輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào):); fflush(stdin); scanf(%d,&inum); for(i=0;in
15、ow;i+) if(stui.no=inum) if(i=now)now-=1; else stui=stunow-1; now-=1; break; system(cls);四、調(diào)試分析包括: 測(cè)試數(shù)據(jù); 測(cè)試輸出的結(jié)果;時(shí)間復(fù)雜度分析;算法的改良設(shè)想。 運(yùn)行開(kāi)場(chǎng)圖4.1 選擇1輸入成績(jī)(圖4.2) 選擇2顯示成績(jī)圖4.3 選擇3添加學(xué)生信息圖4.4 選擇4刪除學(xué)生信息輸入學(xué)號(hào)1圖4.5 選擇5修改學(xué)生信息修改謝海洋同學(xué)的圖4.6 選擇6查詢(xún)學(xué)生信息輸入姓名張瑜圖4.7 選擇7退出如圖4.8五、使用說(shuō)明應(yīng)該寫(xiě)明程序的主要程序文件名,如果需要安裝,要有程序的安裝使用說(shuō)明;#include#in
16、clude#include #include/頭文件#define MAX 80void input();void display();void insert();void del();void average();void find();void average();void modify(); /聲明錄入(input),顯示(display),排序(sort),添加(insert),刪除(del),修改(modify),查詢(xún)(find)函數(shù)。六、課設(shè)總結(jié)包括: 課程設(shè)計(jì)過(guò)程的收獲;遇到的問(wèn)題,解決問(wèn)題過(guò)程的思考存在問(wèn)題?問(wèn)題如何解決?;程序調(diào)試能力的思考; 對(duì)數(shù)據(jù)構(gòu)造這門(mén)課程的思考; 在課程設(shè)計(jì)過(guò)程中對(duì)?數(shù)據(jù)構(gòu)造?課程的認(rèn)識(shí)等內(nèi)由于本課題中的許多知識(shí)點(diǎn)都沒(méi)有學(xué)過(guò)都要靠自己到課外的資料中去查找。在用的時(shí)候難免出現(xiàn)這樣那樣的錯(cuò)誤。如開(kāi)場(chǎng)設(shè)計(jì)出來(lái)的菜單不是預(yù)想的那樣,而是總個(gè)窗中出現(xiàn)混亂。解決的這個(gè)問(wèn)題的方法是調(diào)整。一個(gè)系統(tǒng)的菜單和提示信息非常重要。如果沒(méi)有這些用戶(hù)根本不知道怎么用你設(shè)計(jì)的這個(gè)系統(tǒng)。在設(shè)計(jì)的調(diào)試過(guò)程中也無(wú)法順利的完成調(diào)試工作。有了一個(gè)清晰簡(jiǎn)單的菜單和一些提示信息這后,調(diào)試過(guò)程完成的非常順利。總結(jié)出了一
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省無(wú)棣縣魯北高新技術(shù)開(kāi)發(fā)區(qū)實(shí)驗(yàn)學(xué)校2024-2025學(xué)年中考押題預(yù)測(cè)卷(生物試題文)試卷含解析
- 吉林省長(zhǎng)春二道區(qū)七校聯(lián)考2025年初三5月階段測(cè)試化學(xué)試題含解析
- 我們能否建立生物醫(yī)學(xué)研究的系統(tǒng)規(guī)范二
- 藍(lán)色扁平簡(jiǎn)約財(cái)務(wù)知識(shí)培訓(xùn)
- 服務(wù)標(biāo)準(zhǔn)化與咖啡廳服務(wù)質(zhì)量考核試卷
- 太陽(yáng)能光伏電站項(xiàng)目管理流程考核試卷
- 消費(fèi)金融市場(chǎng)的監(jiān)管科技應(yīng)用考核試卷
- 皮革護(hù)理行業(yè)服務(wù)標(biāo)準(zhǔn)制定考核試卷
- 有機(jī)化學(xué)專(zhuān)題習(xí)題課專(zhuān)題部分課件
- 白酒釀造過(guò)程中的糖化與酒化考核試卷
- 培養(yǎng)好習(xí)慣成就好人生主題班會(huì)
- 華為信用管理手冊(cè)
- 駐村工作隊(duì)員工作總結(jié)
- 第三章水肥一體化或灌溉施肥
- 《辦公用品管理》課件
- 《壽險(xiǎn)的功能與意義》課件
- 地鐵保潔安全培訓(xùn)
- 延伸護(hù)理服務(wù)的課件
- 污水處理設(shè)施運(yùn)維服務(wù)投標(biāo)方案(技術(shù)方案)
- 冠脈搭橋術(shù)個(gè)案查房
- 駕駛員日常安全教育培訓(xùn)大綱
評(píng)論
0/150
提交評(píng)論