![C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/5/d8a9d4e4-3dd3-420c-8420-079213507340/d8a9d4e4-3dd3-420c-8420-0792135073401.gif)
![C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/5/d8a9d4e4-3dd3-420c-8420-079213507340/d8a9d4e4-3dd3-420c-8420-0792135073402.gif)
![C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/5/d8a9d4e4-3dd3-420c-8420-079213507340/d8a9d4e4-3dd3-420c-8420-0792135073403.gif)
![C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/5/d8a9d4e4-3dd3-420c-8420-079213507340/d8a9d4e4-3dd3-420c-8420-0792135073404.gif)
![C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/5/d8a9d4e4-3dd3-420c-8420-079213507340/d8a9d4e4-3dd3-420c-8420-0792135073405.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語言程序設(shè)計(jì)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告一、設(shè)計(jì)名稱 :學(xué)生成績(jī)管理查詢系統(tǒng)實(shí)驗(yàn)項(xiàng)目性質(zhì): 綜合性所涉及課程:c語言程序設(shè)計(jì)計(jì)劃學(xué)時(shí):實(shí)驗(yàn)學(xué)時(shí) 12二、設(shè)計(jì)目的 :1. 通過本課程設(shè)計(jì),培養(yǎng)上機(jī)動(dòng)手能力,使學(xué)生鞏固 C 語言程序設(shè)計(jì)課 程學(xué)習(xí)的內(nèi)容, 掌握工程軟件設(shè)計(jì)的基本方法, 強(qiáng)化上機(jī)動(dòng)手能力, 闖過 編程關(guān);2. 為后續(xù)各門計(jì)算機(jī)課程的學(xué)習(xí)打下堅(jiān)實(shí)基礎(chǔ)。3. 理解程序設(shè)計(jì)的思路,掌握結(jié)構(gòu)化程序設(shè)計(jì)的方法,綜合使用C語言進(jìn)行 程序編寫,鞏固常用的C語言概念,如數(shù)組、指針、結(jié)構(gòu)體、鏈表、文件 操作等, 注意良好的程序設(shè)計(jì)風(fēng)格的培養(yǎng)。提高編寫程序解決實(shí)際問題的 能力、調(diào)試程序的技能。三、設(shè)計(jì)環(huán)境(軟件、
2、硬件及條件)1. 硬件: PC 機(jī)2. 軟件: Turbo C+四、設(shè)計(jì)說明:程序系統(tǒng)的結(jié)構(gòu):用一系列圖表列出本程序系統(tǒng)內(nèi)的每個(gè)程序(包括每個(gè)模塊和子程序)的名稱、標(biāo)識(shí)符和它們之間 的層次結(jié)構(gòu)關(guān)系主程序:新建:輸入記錄(遇 # 號(hào)時(shí)停止輸入)。插入:在指定位置插入記錄。顯示:列出所有記錄。查詢:1、按學(xué)號(hào)查詢;2、按名字排序。刪除:1、按學(xué)號(hào)刪除;2、按名字刪除;3、刪除所有記錄。排序:1、按語文成績(jī)排序;2、按英語成績(jī)排序;3、按數(shù)學(xué)成績(jī)排序。保存:保存為任意名字,系統(tǒng)自動(dòng)加后綴名為 .txt 。讀?。鹤x取程序目錄下的后綴名為 .txt 的文件。退出:退出程序。五、各功能模塊的具體實(shí)現(xiàn),用圖
3、表表示。輸入記錄顯示按學(xué)號(hào)(姓名)查詢信息按學(xué)號(hào)(姓名)刪除信息刪除輸出不能找到該學(xué)生返回讀取文件head=a 仁 a2=NULL; n=0;head=a1a2->n ext=a1a2=a1;開辟新單元 al;讀取fp;a2-> next=NULL返回保存文件head=a 仁 a2=NULL; n=0;輸入文件名字(自動(dòng)添加后綴名字4xQ保存完畢六、各模塊(函數(shù))的功能介紹,數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)描述,參數(shù)說明等。STUDENT *init(); /* 初始化鏈表 */STUDENT *create(); /* 新建鏈表 */STUDENT *del_no(STUDENT *h);/* 按學(xué)
4、號(hào)刪除信息 */STUDENT *del_name(STUDENT *h); /* 按姓名刪除信息 */ void print(STUDENT *h); /*顯示信息函數(shù) */void search_no(STUDENT *h); /* 按學(xué)號(hào)搜索 */ void search_name(STUDENT *h); /* 按姓名搜索 */ STUDENT *insert(STUDENT *h); /* 插入信息函數(shù) */ void sort(STUDENT *h);/* 排序函數(shù) */ void save(STUDENT *h);/* 保存數(shù)據(jù)到文件 */ void load(STUDENT *
5、h); /* 從文件讀取數(shù)據(jù) */int menu_main(); /* 菜單函數(shù) */void inputs(char *prompt,char *s,int count);/* 輸出信息 */七、程序代碼:En ter records'n ”);printf(" 2. Add records'n"); printf(" 3. List records'n"); prin tf(" 4. Search records'n"); prin tf(" 5. Delete records'
6、n"); prin tf(" 6. Sort records'n");printf(" 7. Save files'n"); printf(" 8. Load files'n");prin tf(" 9. Quit'n'n");prin tf("*n");do printf("n Enter you choice(19):"); /*提示輸入選項(xiàng) */scanf("%s",s); /* 輸入選擇項(xiàng) */ c
7、=atoi(s); /* 將輸入的字符串轉(zhuǎn)化為整型數(shù) */while(c<1|c>9); /* 選擇項(xiàng)不在 19之間重輸 */return c; /* 返回選擇項(xiàng),主程序根據(jù)該數(shù)調(diào)用相應(yīng)的函數(shù) */Search records on numbern");printf(" 2. Search records on namen");printf(" 3. Backnn");printf("f*n");do printf("n Enter you choice(13):"); /*提示輸入選項(xiàng) */
8、scanf("%s",s); /* 輸入選擇項(xiàng) */c=atoi(s); /* 將輸入的字符串轉(zhuǎn)化為整型數(shù) */ while(c<1|c>3);return c; /* 返回選擇項(xiàng),主程序根據(jù)該數(shù)調(diào)用相應(yīng)的函數(shù) */Chinesen");printf(" 2. Englishn"); printf(" 3. Mathn");printf(" 4. Backnn");printf("f*n");do printf("n Enter you choice(14):&q
9、uot;); /*提示輸入選項(xiàng) */scanf("%s",s); /* 輸入選擇項(xiàng) */c=atoi(s); /* 將輸入的字符串轉(zhuǎn)化為整型數(shù) */ while(c<1|c>4);return c; /* 返回選擇項(xiàng),主程序根據(jù)該數(shù)調(diào)用相應(yīng)的函數(shù) */ Delete records on numbern");printf(" 2. Delete records on namen");printf(" 3. Delete all recordsn");printf(" 4. Backnn");p
10、rintf("*n");do printf("n Enter you choice(14):"); /*提示輸入選項(xiàng) */scanf("%s",s); /* 輸入選擇項(xiàng) */c=atoi(s); /* 將輸入的字符串轉(zhuǎn)化為整型數(shù) */ while(c<1|c>4);return c; /* 返回選擇項(xiàng),主程序根據(jù)該數(shù)調(diào)用相應(yīng)的函數(shù) */ .");/* 提示 */getch(); /* 讀入任意字符 */.n");getch(); /* 讀入任意字符 */if(p=h)h=p->next;elseq
11、->next=p->next;free(p); /* 釋放 */printf("n%s had been deletedn",s);printf("nPress any key to continue.");getch(); /* 讀入任意字符 */return h;.n");getch();if(p=h)h=p->next;else q->next=p->next;free(p); /* 釋放 */ printf("n%s had been deletedn",s);printf("
12、nPress any key to continue."); getch(); /* 讀入任意字符 */return h;.");getch(); /* 讀入任意字符 */.");getch(); /* 讀入任意字符 */xt"STUDENT *p;FILE *fp; /* 指向文件的指針 */printf("n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if(fp=fopen(outfile,"wb")=NUL
13、L) /* 打開文件,并判斷打開是否正常 */ printf("nCannot open file!n");exit(1); /* 退出 */ p=h;while(p!=NULL) if(fwrite(p,sizeof(STUDENT)-sizeof(p->next),1,fp)!=1) printf("Error!n");exit(1); /* 寫入 */p=p->next;fclose(fp); /* 關(guān)閉文件 */printf("nOKn");printf("Press any key to continu
14、e.");getch(); /* 讀入任意字符 */xt"STUDENT *p,*a1=NULL,*a2=NULL;FILE *fp;/* 定義文件指針 */printf("n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if(fp=fopen(outfile,"rb")=NULL)/* 打開文件 */printf("nCannot open file!n");exit(1); /* 退出 */p=h;a1=a2=
15、(STUDENT *)malloc(LEN); fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp); while(!feof(fp)n+;if(n=1)h=a1;else a2->next=a1;a2=a1;a1=(STUDENT *)malloc(LEN); fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp);a2->next=NULL;printf("nOKn");printf("Press any key to continue.");g
16、etch(p); /* 讀入任意字符 */void sort(STUDENT *h) /* 排序函數(shù) */int i=0,j;STUDENT *p,*q,*t,*h1,*z;clrscr(); /* 清屏 */printf("Enter you choice :n");scanf("%d",&j);z=h;h1=h->next;h->next=NULL;while(h1!=NULL)t=h1;h1=h1->next;p=h;q=h;while(t->score-j<p->score-j&&p!=
17、NULL)q=p;p=p->next;if(p=q)t->next=p;h=t;elset->next=p;q->next=t;p=h;while(p!=NULL)i+;p=p->next;print(h); /* 調(diào)用 "print" 函數(shù)*/h=z;printf("OKn");/九、體會(huì)、總結(jié)本課程設(shè)計(jì)完成了設(shè)計(jì)一個(gè)學(xué)生成績(jī)管理系統(tǒng),學(xué)生的學(xué)習(xí)成績(jī)進(jìn)行管理, 具有查詢和檢索功能,并且能夠?qū)χ付ㄎ募僮鳌1驹O(shè)計(jì)按照要求編寫有查詢、 排序、插入、刪除、讀取、保存等功能。整個(gè)課程設(shè)計(jì)最大的特色就是使用了動(dòng)態(tài)鏈表這種數(shù)據(jù)結(jié)構(gòu),
18、既節(jié)省了內(nèi)存 空間,也提高了整個(gè)程序的運(yùn)行效率, 對(duì)比起結(jié)構(gòu)體數(shù)組這種數(shù)據(jù)結(jié)構(gòu)來說, 動(dòng) 態(tài)鏈表展現(xiàn)出了它巨大的好處。 在查詢功能上, 運(yùn)用了兩種種查詢方法, 分別是 按學(xué)號(hào)查詢、按名字查詢。 刪除功能與查詢功能相似, 只是多了一個(gè)刪除所有信 息的功能。 顯示信息這項(xiàng)功能, 方便用戶查看所有學(xué)生的信息。 排序功能也是利 用動(dòng)態(tài)鏈表的功能來加以實(shí)現(xiàn)。 在插入功能上, 用戶可以根據(jù)需要隨時(shí)增加學(xué)生 的信息, 隨時(shí)開辟內(nèi)存單元來存放數(shù)據(jù)。 在讀取功能上, 用戶直接把已存在的文 件插入程序中,可以避免重新輸入的麻煩。本程序的另一特色是人性化設(shè)計(jì)。 幾乎在每個(gè)操作之后, 用戶都可以看到操 作后的數(shù)據(jù), 即在所有操作之后, 都會(huì)把所有數(shù)據(jù)顯示出來, 這樣會(huì)方便用戶檢 驗(yàn)是否操作正確。另一方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年立式雙面研磨機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年傳真機(jī)芯片項(xiàng)目可行性研究報(bào)告
- 現(xiàn)代實(shí)驗(yàn)室檢測(cè)技術(shù)教育探討
- 日語詞匯在英語中的對(duì)應(yīng)研究-深度研究
- Ruby函數(shù)式編程趨勢(shì)-深度研究
- 多元化換匯渠道比較研究-深度研究
- 智能家居居間合同批文
- 網(wǎng)絡(luò)安全防護(hù)服務(wù)提供協(xié)議
- 小學(xué)生心理健康成長(zhǎng)征文
- 電子產(chǎn)品買賣合同
- JJG 707-2014扭矩扳子行業(yè)標(biāo)準(zhǔn)
- 2025財(cái)年美國國防預(yù)算概覽-美國國防部(英)
- 2024年江西省南昌市中考一模數(shù)學(xué)試題(含答案)
- 《采暖空調(diào)節(jié)能技術(shù)》課件
- CONSORT2010流程圖(FlowDiagram)【模板】文檔
- 游戲綜合YY頻道設(shè)計(jì)模板
- arcgis軟件操作解析課件
- 中興ZCTP 5GC高級(jí)工程師認(rèn)證考試題庫匯總(含答案)
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)教程PPT全套完整教學(xué)課件
- 小學(xué)科學(xué)項(xiàng)目化作業(yè)的設(shè)計(jì)與實(shí)施研究
- 2020年中考生物試卷及答案
評(píng)論
0/150
提交評(píng)論