版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、沈陽(yáng)航空航天大學(xué) 課程設(shè)計(jì)報(bào)告 課程設(shè)計(jì)名稱: C 語(yǔ)言課程設(shè)計(jì) 課程設(shè)計(jì)題目: 學(xué)生選修課信息管理程序 院(系):計(jì)算機(jī)學(xué)院 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 學(xué) 號(hào): 姓 名:指導(dǎo)教師:完成日期:目錄第 1 章 題目與概要設(shè)計(jì) 11.1 題目的內(nèi)容與要求 11.2概要設(shè)計(jì) 1 第 2 章 詳細(xì)設(shè)計(jì) 22.1主模塊 22.2菜單模塊 32.3輸入模塊 32.4 選擇輸出模塊 4第 3 章調(diào)試分析 錯(cuò)誤!未定義書(shū)簽。第 4 章執(zhí)行結(jié)果 6參考文獻(xiàn) 10 附 錄(程序清單) 11第 1 章 題目與概要設(shè)計(jì)1.1 題目的內(nèi)容與要求主要內(nèi)容:假定有 6 門(mén)選修課程,每門(mén)課程有課程編號(hào), 課程名稱,
2、課程性質(zhì), 總學(xué)時(shí), 授課時(shí)間,實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開(kāi)課學(xué)期等信息。試設(shè)計(jì)一個(gè)選修課程管理 程序,功能包括:1. 課程信息錄入功能;2. 課程信息瀏覽功能;3. 查詢功能:可按學(xué)分,課程性質(zhì)進(jìn)行對(duì)課程查詢;4. 選修課程排序功能。 可按學(xué)分由小到大對(duì)所有選修課程進(jìn)行課程排序輸出。 設(shè)計(jì)要求:1. 采用文本菜單界面選擇相應(yīng)功能;2. 課程信息以磁盤(pán)文件保存。1.2 概要設(shè)計(jì)本程序主要分為五個(gè)模塊(見(jiàn)功能模塊圖 1.1),主模塊,菜單模塊,輸入模塊,瀏覽模塊,選擇輸出模塊。主模塊:定義變量,控制程序的運(yùn)行。顯示模塊: 給出六個(gè)菜單項(xiàng)的內(nèi)容和輸出提示。輸入判斷模塊:判斷輸入的數(shù)字是否符合條 件。選
3、擇輸出模塊:根據(jù)輸入的正確數(shù)字實(shí)現(xiàn)菜單功能管理程序1菜圖單模塊1 功能輸 入塊 模 塊瀏覽模塊選擇性輸出模塊第 2 章 詳細(xì)設(shè)計(jì)2.12.1 主模塊 控制整個(gè)程序的運(yùn)行,控制菜單操作,通過(guò),實(shí)現(xiàn)各項(xiàng)功能,流程如圖 所示。結(jié)束圖 2.1 主模塊流程圖退出注釋:定義課程信息結(jié)構(gòu)體數(shù)組 xubject6, 定義變量 m=0。輸入運(yùn)用 if 語(yǔ)句執(zhí)行選擇操作。2.2 菜單模塊圖 2.3 輸入模塊流程圖2.4 選擇輸出模塊結(jié)束程序按學(xué)分排序按性質(zhì)查詢按學(xué)分查詢顯示所有課程信是否繼續(xù) 查詢結(jié)束第 3 章調(diào)試分析本次課設(shè)在調(diào)試運(yùn)行時(shí)一共發(fā)現(xiàn)了 4 個(gè)問(wèn)題1.在建立結(jié)構(gòu)體時(shí)非法定義結(jié)構(gòu)體。2.編寫(xiě)函數(shù),當(dāng)函數(shù)
4、結(jié)束時(shí)未能及時(shí)釋放指針。3. 在書(shū)寫(xiě)程序過(guò)程中大量運(yùn)用花括號(hào),在幾個(gè)模塊之中都出現(xiàn)了花括號(hào)括錯(cuò) 問(wèn)題。4. 事先定義了許多變量,但是沒(méi)有用。雖然,定義變量對(duì)程序沒(méi)有影響,但 是為了讓程序更清晰合理 ,在調(diào)試完成后進(jìn)行了刪除。第 4 章執(zhí)行結(jié)果運(yùn)行操作及結(jié)果: 菜單顯示如下。輸入 1,錄入課程信息顯示如下錄入課程信息后輸入 2,對(duì)課程進(jìn)行瀏覽。瀏覽完畢輸入 3,對(duì)課程按學(xué)分查詢并輸入學(xué)分范圍查詢完畢輸入 4 對(duì)課程按性質(zhì)查詢并輸入課程性質(zhì)。查詢完畢輸入 5 對(duì)課程按學(xué)分從小到大進(jìn)行排序。最后輸入 0,結(jié)束程序參考文獻(xiàn)1 張長(zhǎng)海,陳娟 . C 語(yǔ)言課程設(shè)計(jì) M . 北京:高等教育出版社, 2004
5、2 譚浩強(qiáng). C 語(yǔ)言程序設(shè)計(jì)(第 4 版) M. 清華大學(xué)出版社, 20103 譚浩強(qiáng). C 程序設(shè)計(jì)題解與上機(jī)指導(dǎo) . 清華大學(xué)出版社, 20054 網(wǎng)冠科技 時(shí)尚編程百例 機(jī)械工業(yè)出版社, 20025 網(wǎng)冠科技 Visual C+6.0 基礎(chǔ)培訓(xùn)百例 機(jī)械工業(yè)出版社, 2006附 錄(程序清單)代碼#include#include#include#include#define N 6struct XUANXIUKEchar name30;int num;char quality100;float time;float class_time;float test_time;float cr
6、edit;char date50;struct XUANXIUKE *next;subjectN;typedef struct XUANXIUKE XXK; void caidan()printf(* 請(qǐng)選擇相應(yīng)功能 * n);printf(1.錄入課程信息 .n);printf(2.課程信息瀏覽 .n);printf(3.按學(xué)分對(duì)課程進(jìn)行查詢.n);printf(4.按課程性質(zhì)對(duì)課程進(jìn)行查詢 .n);printf(5.按學(xué)分大小從小到大對(duì)課程進(jìn)行排序.n);printf( 0.結(jié)束程序 .n);printf( 請(qǐng)輸入要實(shí)現(xiàn)功能的編號(hào) n);XXK *create() int i; FILE
7、*fp;XXK *head,*p1; head=NULL;fp=fopen(D:subject.dat,wb); if (fp=NULL)printf( 無(wú)法建立文件 n);exit(0);fclose(fp);printf( 請(qǐng)輸入課程的編號(hào) 名稱 課程性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 上級(jí)或?qū)嶒?yàn)學(xué)時(shí) 學(xué) 分 學(xué)期: n);for(i=0;inum,p1-name,p1-quality,&p1-time, &p1-class_time,&p1-test_time,&p1-credit,p1-date);fwrite(p1,sizeof(XXK),1,fp);p1-next=head;head=p1;g
8、etchar();fclose(fp);caidan();return(head);void liulan()FILE *fp;XXK *pstu;int i;fp=fopen(D:subject.dat,rb);if (fp=NULL)printf(無(wú)法打開(kāi)文件 n);exit(0); fclose(fp);pstu=(XXK *)malloc(N*sizeof(XXK);fread(pstu,sizeof(XXK),N,fp);printf(n * 對(duì)課程進(jìn)行瀏覽 * n);printf( 課程的編號(hào) 名稱 性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 上機(jī)或?qū)嶒?yàn)學(xué)時(shí) 學(xué)分 開(kāi)學(xué)學(xué)期: n);for(i=0;i
9、N;i+)printf( %-4d %-8s %-8s %.1f %.1f %.1f %.1f %-10sn,pstui.num,,pstui.quality,pstui.time,pstui.class_time,pstu i.test_time,pstui.credit,pstui.date);fclose(fp);free(pstu);caidan();void xuefen()FILE *fp;XXK *pstu;int i;fp=fopen(D:subject.dat,rb);if (fp=NULL)printf(無(wú)法打開(kāi)文件 n);exit(0);fclose(
10、fp);pstu=(XXK *)malloc(N*sizeof(XXK);fread(pstu,sizeof(XXK),N,fp);float min,max;printf(* 請(qǐng)輸入學(xué)分下限和上限 *na b n);scanf(%f %f,&min,&max);getchar();* 對(duì)課程按照學(xué)分進(jìn)行查詢性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 上機(jī)或?qū)嶒?yàn)學(xué)時(shí)printf(nn);printf( 課程的編號(hào) 名稱 學(xué)分 開(kāi)學(xué)學(xué)期: n);for(i=0;iN;i+)if(pstui.credit=min)printf( %-4d %-8s %-8s %.1f %.1f %.1f %.1f%-10sn,pst
11、ui.num,,pstui.quality,pstui.time,pstui.class_time,pstu i.test_time,pstui.credit,pstui.date);fclose(fp);free(pstu);caidan();void xingzhi()FILE *fp;XXK *pstu;int i,n=0;fp=fopen(D:subject.dat,rb);if (fp=NULL)printf(無(wú)法打開(kāi)文件 n);exit(0); fclose(fp);pstu=(XXK *)malloc(N*sizeof(XXK);fread(pstu,size
12、of(XXK),N,fp);printf(* 請(qǐng)輸入課程性質(zhì) *n); char xingzhi100;scanf(%s,xingzhi);getchar();char a100=(xiaoji);char b100=(yuanji);for(i=0;i6;i+)n=strcmp(xingzhi,pstui.quality);if(n=0)break; else n=1;while(n=1)n);printf( 沒(méi)有該性質(zhì)的課程,請(qǐng)重新輸入:scanf(%s,xingzhi);getchar();for(i=0;i6;i+)n=strcmp(xingzhi,pstui.quality);if(
13、n=0)break;elsen=1;printf(n * 對(duì)課程按照學(xué)科性質(zhì)查詢 * n);printf( 課程的編號(hào) 名稱 性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 上機(jī)或?qū)嶒?yàn)學(xué)時(shí) 學(xué)分 開(kāi)學(xué)學(xué)期: n);for(i=0;iN;i+)if(!(strcmp(xingzhi,pstui.quality)printf( %-4d %-8s %-8s %.1f %.1f %.1f %.1f %-10sn,pstui.num,,pstui.quality,pstui.time,pstui.class_time,pstu i.test_time,pstui.credit,pstui.date);fc
14、lose(fp);free(pstu);caidan();void paixu()FILE *fp;XXK *pstu;int i,j;fp=fopen(D:subject.dat,rb);if (fp=NULL)printf(無(wú)法打開(kāi)文件 n);exit(0);fclose(fp);pstu=(XXK *)malloc(N*sizeof(XXK);fread(pstu,sizeof(XXK),N,fp);XXK pstu1;printf(n * 對(duì)課程按照學(xué)分從小到大排序 * n);printf( 課程的編號(hào) 名稱 性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 上機(jī)或?qū)嶒?yàn)學(xué)時(shí) 學(xué)分 開(kāi)學(xué)學(xué)期: n);for(j=
15、0;jN-1;j+)for(i=0;ipstui+1.credit)pstu1=pstui;pstui=pstui+1;pstui+1=pstu1;for(i=0;iN;i+)printf( %-4d %-8s %-8s %.1f %.1f %.1f %.1f %-10sn,pstui.num,,pstui.quality,pstui.time,pstui.class_time,pstu i.test_time,pstui.credit,pstui.date);fclose(fp);free(pstu);caidan();void main ()int n=0;* 歡 迎進(jìn)
16、入學(xué)生選 修課 程管理系 統(tǒng)XXK *head; char m; printf(n* n); caidan(); scanf(%c,&m); getchar(); while(m!=0&m!=1&m!=2&m!=3&m!=4&m!=5) printf( 輸入有誤,請(qǐng)重新輸入: n);scanf(%c,&m); getchar(); while(m!=0)if(m=1)head=create();printf( 如需進(jìn)行其他功能請(qǐng)輸入要實(shí)現(xiàn)的功能的編號(hào) n);scanf(%c,&m); getchar(); while(m!=0&m!=1&m!=2&m!=3&m!=4&m!=5) printf(
17、 輸入有誤,請(qǐng)重新輸入: n); scanf(%c,&m);getchar();if(m=2)liulan();printf( 如需進(jìn)行其他功能請(qǐng)輸入要實(shí)現(xiàn)的功能的編號(hào)scanf(%c,&m);getchar(); while(m!=0&m!=1&m!=2&m!=3&m!=4&m!=5) printf( 輸入有誤,請(qǐng)重新輸入: n); scanf(%c,&m); getchar(); if(m=3)xuefen();printf( 如需進(jìn)行其他功能請(qǐng)輸入要實(shí)現(xiàn)的功能的編號(hào)scanf(%c,&m);getchar(); while(m!=0&m!=1&m!=2&m!=3&m!=4&m!=5) p
18、rintf( 輸入有誤,請(qǐng)重新輸入: n); scanf(%c,&m); getchar(); if(m=4)xingzhi();printf( 如需進(jìn)行其他功能請(qǐng)輸入要實(shí)現(xiàn)的功能的編號(hào)n);n);n);scanf(%c,&m);getchar();while(m!=0&m!=1&m!=2&m!=3&m!=4&m!=5) printf( 輸入有誤,請(qǐng)重新輸入: n);scanf(%c,&m);getchar();if(m=5)paixu();n);printf( 如需進(jìn)行其他功能請(qǐng)輸入要實(shí)現(xiàn)的功能的編號(hào)scanf(%c,&m);getchar();while(m!=0&m!=1&m!=2&m!=3&m!=4&m!=5) printf( 輸入有誤,請(qǐng)重新輸入: n);scanf(%c,&m);getchar();if(m=0)break;課程設(shè)計(jì)總結(jié):這次課程設(shè)計(jì),我獲益良多。 當(dāng)拿到課設(shè)任務(wù)書(shū)時(shí),我感覺(jué)到這次課設(shè)任務(wù) 不簡(jiǎn)單,它用到了我去年幾乎所有的知識(shí)。但是,并沒(méi)有邏輯上的難度,所以我 很快就整理了思路,列出大體框圖。之后去圖書(shū)館查閱資料并進(jìn)行記錄。最后, 用三天時(shí)間對(duì)程序進(jìn)行編寫(xiě)和調(diào)試。 在讓老師初次檢查中, 指導(dǎo)老師指出了我的 不足。之后我有對(duì)程序進(jìn)行不斷完善, 最后在指導(dǎo)老師的指導(dǎo)下完成
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度辦公場(chǎng)地租賃合同標(biāo)準(zhǔn)版3篇
- 2025年度美發(fā)店教育培訓(xùn)股份入股合同
- 課題申報(bào)參考:明代八景圖畫(huà)史料的搜集研究
- 課題申報(bào)參考:面向資源受限場(chǎng)景的語(yǔ)音情緒狀態(tài)學(xué)習(xí)研究
- 課題申報(bào)參考:面向復(fù)雜網(wǎng)絡(luò)環(huán)境的AIGC內(nèi)容標(biāo)識(shí)機(jī)制研究
- 2025年度個(gè)人網(wǎng)絡(luò)虛擬商品購(gòu)買(mǎi)合同示范文本3篇
- 二零二五年度美容美發(fā)行業(yè)美容儀器研發(fā)與銷售合同2篇
- 2025年度個(gè)人私有房屋購(gòu)買(mǎi)合同(精裝修房屋智能安防系統(tǒng)版)4篇
- 二零二五版美容院養(yǎng)生項(xiàng)目開(kāi)發(fā)與推廣合同4篇
- 2025年度個(gè)人與公司間商業(yè)借款合同標(biāo)準(zhǔn)版4篇
- 診所負(fù)責(zé)人免責(zé)合同范本
- 2024患者十大安全目標(biāo)
- 印度與阿拉伯的數(shù)學(xué)
- 會(huì)陰切開(kāi)傷口裂開(kāi)的護(hù)理查房
- 《鋼鐵是怎樣煉成的》選擇題100題(含答案)
- 實(shí)驗(yàn)報(bào)告·測(cè)定雞蛋殼中碳酸鈣的質(zhì)量分?jǐn)?shù)
- 部編版小學(xué)語(yǔ)文五年級(jí)下冊(cè)集體備課教材分析主講
- 電氣設(shè)備建筑安裝施工圖集
- 《工程結(jié)構(gòu)抗震設(shè)計(jì)》課件 第10章-地下建筑抗震設(shè)計(jì)
- 公司法務(wù)部工作細(xì)則(草案)
- 第18課《文言文二則 鐵杵成針》(學(xué)習(xí)任務(wù)單)- 四年級(jí)語(yǔ)文下冊(cè)部編版
評(píng)論
0/150
提交評(píng)論