C語言課程設計參考設計題目
1、學生資訊管理
(1)問題描述
學生資訊包括:學號,姓名,年齡,性別,出生年月,地址,電話,E-mail等。試設計一學生資訊管理系統,使之能提供以下功能:
●系統以選單方式工作
●學生資訊錄入功能(學生資訊用檔案儲存)---輸入
●學生資訊瀏覽功能——輸出
●查詢、排序功能——演算法
1、按學號查詢
2、按姓名查詢
(2)功能要求
●介面簡單明了;
●有一定的容錯能力,比如輸入的成績不在0~100之間,就提示不合法,要求重新輸入;
●最好用連結串列的方式實現。
(3)演算法分析
首先,一個學生包括這麼多的屬性,應該考慮定義一個結構,其次,我們應該考慮資料的儲存形式:是定義一個數組來儲存,還是定義一個連結串列呢?在這裡假如我們以陣列的方式來儲存,當然可以,但是我們知道,假如我們定義一個數組的話,我們首先必須知道學生人數大概是多少,以便我們確定陣列的大小,但是題目中沒有給出,而且題目要求中有大量的刪除、插入操作,所以用連結串列的方式比較方便。
對於選單的實現,其實也比較簡單,首先我們用printf語句把程式的功能列出來,然後等待使用者輸入而執行不同的函式,執行完了一個功能後又回到選單。檔案的讀寫操作大家參照書中的有關檔案的章節。
2、學生綜合測評系統
每個學生的資訊為:學號、姓名、性別、家庭住址、聯絡電話、語文、數學、外語三門單科成績、考試平均成績、考試名次、同學互評分、品德成績、任課教師評分、綜合測評總分、綜合測評名次。考試平均成績、同學互評分、品德成績、任課教師評分分別佔綜合測評總分的60%,10%,10%,20%。
A、學生資訊處理
(1) 輸入學生資訊、學號、姓名、性別、家庭住址、聯絡電話,按學號以小到大的順序存入檔案中。
提示:學生資訊可先輸入到陣列中,排序後可寫到檔案中。
(2) 插入(修改)同學資訊:
提示:先輸入將插入的同學資訊,然後再開啟原始檔並建立新檔案,把原始檔和輸入的資訊合併到新檔案中(保持按學號有序)若存在該同學則將新記錄內容替換源內容,
(4) 瀏覽學生資訊:
提示:開啟檔案,顯示該檔案的學生資訊。
(1) 按考試科目錄入學生成績並且按公式:考試成績=(語文+數學+外語)/3 計算考試成績,並計算考試名次,提示:先把學生資訊讀入陣列,然後按提示輸入每科成績,計算考試成績,求出名次,最後把學生記錄寫入一個檔案中。
(2) 學生測評資料輸入並計算綜合測評總分及名次。
提示:綜合測評總分=(考試成績)*0.6+(同學互評分)*0.1+品德成績*0.1+任課老師評分*0.2。
(3) 學生資料管理
提示:輸入學號,讀出並顯示該同學資訊,輸入新資料,將改後資訊寫入檔案
(4) 學生資料查詢:
提示:輸入學號或其他資訊,即讀出所有資料資訊,並顯示出來。
C、學生綜合資訊輸出
提示:輸出學生資訊到螢幕。
3、圖書管理系統
主要包括管理圖書的庫存資訊、每一本書的借閱資訊以及每一個人的借書資訊。每一種圖書的庫存資訊包括編號、書名、作者、出版社、出版日期、金額、類別、總入庫數量、當前庫存量、已借出本數等。每一本被借閱的書都包括如下資訊:編號、書名、金額、借書證號、借書日期、到期日期、罰款金額等。每一個人的借書資訊包括借書證號、姓名、班級、學號等。
系統功能包括以下方面:
A、借閱資料管理
(1) 借出操作
(2) 還書操作
(3) 續借處理
提示:以上處理需要互相配合以及賠、罰款金額的編輯等操作完成圖書借還業務的各種登記。例如:讀者還書時不僅更新圖書的庫存資訊,還應該自動計算該書應罰款金額。並顯示該讀者所有至當日內到期未還書資訊。
C、讀者管理
讀者等級:對借閱讀者進行分類處理,例如可分為教師和學生兩類。並定義每類讀者的可借書數量和相關的借閱時間等資訊。
讀者管理:對讀者資訊可以錄入,並且可對讀者進行掛失或登出、查詢等服務的作業。
D、統計分析
隨時可以進行統計分析,以便及時了解當前的借閱情況和相關的資料狀態,統計分析包括借閱排行榜、資料狀態統計和借閱統計、顯示所有至當日內到期未還書資訊等功能分析。
E 系統引數設定:可以設定相關的罰款金額,最多借閱天數等系統伺服器引數。
4、學校運動會管理系統
問題描述:
(1) 初始化輸入:N-參賽院系總數,M-男子競賽專案數,W-女子競賽專案數;
(2) 各專案名次取法有如下幾種:
取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;
(3) 由程式提醒使用者填寫比賽結果,輸入各專案獲獎運動員的資訊。
(4) 所有資訊記錄完畢後,使用者可以查詢各個院系或個人的比賽成績,生成團體總分報表,檢視參賽院系資訊、獲獎運動員、比賽專案資訊等。
5、個人通訊錄管理系統
功能要求
(1) 通訊錄的每一條資訊包括姓名、單位、固定電話、移動手機、分類(如同事、朋友、同學、家人等)、EMAIL、QQ等。
(2) 輸入功能:可以一次完成若干條資訊的輸入。
(3) 顯示功能:完成全部通訊錄資訊的顯示(一屏最多顯示10條,超過十條應能夠自動分屏顯示)
(4) 查詢功能:可以按姓名等多種方式查詢通訊資訊
6、教師工資管理系統
每個教師的資訊為:教師號、姓名、性別、單位名稱、家庭住址、聯絡電話、基本工資、津貼、生活補貼、應發工資、電話費、水電費、房租、所得稅、衛生費、公積金、合計扣款、實發工資。注:應發工資=基本工資+津貼+生活補貼;合計扣款=電話費+水電費+房租+所得稅+衛生費+公積金;實發工資=應發工資 - 合計扣款。
A、教師資訊處理
(1) 輸入教師資訊
(2) 插入(修改)教師資訊:
(4) 瀏覽教師資訊:
提示:具體功能及操作參考題1。
(1) 按教師號錄入教師基本工資、津貼、生活補貼、電話費、水電費、房租、所得稅、衛生費、公積金等基本資料。
(2) 教師實發工資、應發工資、合計扣款計算。
提示:計算規則如題目。
(3) 教師資料管理
提示:輸入教師號,讀出並顯示該教師資訊,輸入新資料,將改後資訊寫入檔案
(4) 教師資料查詢:
提示:輸入教師號或其他資訊,即讀出所有資料資訊,並顯示出來。
(5) 教師綜合資訊輸出
提示:輸出教師資訊到螢幕。
7、教師工作量管理系統
計算每個老師在一個學期中所教課程的總工作量。(教師單個教學任務的資訊為:教師號、姓名、性別、職稱、認教課程、班級、班級數目、理論課時、實驗課時、單個教學任務總課時)
(1) 輸入教師授課教學資訊,包括教師號、姓名、性別、職稱、認教課程、班級、班級數目、理論課時、實驗課時。
(2) 插入(修改)教師授課教學資訊:
(4) 瀏覽教師授課教學資訊:
(1) 計算單個教學任務總課時。計算原則如下表:
班級數目
單個教學任務總課時
2
1.5*(理論課時+實驗課時)
3
2*(理論課時+實驗課時)
>=4
2.5*(理論課時+實驗課時)
(2) 計算一個教師一個學期總的教學工作量。總的教學工作量=所有單個教學任務總課時之和。
(3)教師資料查詢:
C、教師綜合資訊輸出
8、趣味小遊戲
要求:有一定遊戲規則,圖形顯示,資料使用陣列、結構體、連結串列等均可。鍵盤操作或滑鼠均可。
(1)貪吃蛇遊戲
(2)潛艇大戰遊戲
(3)掃雷遊戲
(4)黑白棋遊戲
(5)俄羅斯方塊
基本要求
1、課程設計可採取每人一題,可任選一題進行設計, 至少包含五個功能模組。或者每組完成一個課題,每組成員(不得超過5人)分工合作完成一個課程設計,每個人的任務不同。分組情況請於5月17日上報給老師。
2、可以選擇老師提供的參考選題,也可以自選,如果自選,需要將自選題目的詳細內容以及實現要求提供給老師,老師批准後方可採用。
3、要求利用結構化程式設計方法以及C的程式設計思想來完成系統的設計。
4、要求有選單、檔案操作,資料使用陣列、結構體、連結串列等均可,鍵盤操作或滑鼠操作均可。
5、模組化程式設計:要求在設計的過程中,按功能定義函式或書寫多個檔案,進行模組化設計,各個功能模組用函式的形式來實現。
6、所選課題必須上機通過,並獲得滿意的結果。
7、程式書寫風格:鋸齒型書寫格式。
8、完成課程設計報告書(格式見附錄一)。
評價標準
課程設計成績評定的依據有設計文件資料、具體實現設計方案的程式及課程設計考勤登記表。
優(90分以上):必須要有一定的創意,有自己獨特的演算法。按要求完成課題的全部功能,有完整的符合標準的文件,文件有條理、文筆通順,格式正確,其中有總體設計思想的論述,有正確的流程圖,程式完全實現設計方案,設計方案先進,軟體可靠性好;
良(80-89分):完成課題規定的功能,有完整的符合標準的文件,文件有條理、文筆通順,格式正確;有完全實現設計方案的軟體,設計方案較先進,無明顯錯誤;
中(70-79分):完成課題規定的功能,有完整的符合標準的文件,有基本實現設計方案的軟體,設計方案正確,但有少數失誤;
及格:完成課題規定的大部分功能,有完整的符合標準的文件,有基本實現設計方案的軟體,設計方案基本正確,個別功能沒有實現,但錯誤不多;
不及格:沒有完成課題規定的功能,沒有完整的符合標準的文件,軟體沒有基本實現設計方案,設計方案不正確。
附錄一:
(封面樣式)
C語言課程設計
題目名稱:
姓 名
學 號
專 業
班 級
指導教師
編寫日期
(正文部分)
一、需求分析(標題均為小三號,宋體)
(正文均為小四號,宋體,行距1.5倍)
(對所選擇題目進行分析,描述問題。簡述課題要解決的問題是什麼,有什麼要求和限制條件。列出參與人員進行本設計時要達到的具體的目標。)
二、總體設計
(對設計目標進行總體分析,說明要採用的基本思路,說明遇到的問題和解決方法。說明完成本次課程設計的完整過程。要描述程式的設計思想,畫出本次課程設計完整的程式框圖或流程圖。)
三、詳細設計
(要求列出所有編寫的函式清單,說明每個函式的功能,各形式引數的意義,畫出各函式的呼叫關係圖。即模組功能說明(如函式功能、入口及出口引數說明,函式呼叫關係描述等)。)
四、程式執行結果測試與分析
(要針對程式處理的不同情況列出有代表性的輸入和輸出,用足夠多的例項說明程式完成了設計任務和目標。)
五、結論與心得
(主要說明程式除錯中發現的問題和解決辦法,包括你在該設計中主要承擔什麼任務,在設計中學到了什麼,哪裡遇到了困難,解決的辦法,可能但因時間關係沒有來得及完成的想法,今後的目標等。)該部分要求參與人員分別寫,格式如下
王二:
張三:
李四:
陳五:
六、致謝
C語言課程設計參考設計題目
1、學生資訊管理
(1)問題描述
學生資訊包括:學號,姓名,年齡,性別,出生年月,地址,電話,E-mail等。試設計一學生資訊管理系統,使之能提供以下功能:
●系統以選單方式工作
●學生資訊錄入功能(學生資訊用檔案儲存)---輸入
●學生資訊瀏覽功能——輸出
●查詢、排序功能——演算法
1、按學號查詢
2、按姓名查詢
(2)功能要求
●介面簡單明了;
●有一定的容錯能力,比如輸入的成績不在0~100之間,就提示不合法,要求重新輸入;
●最好用連結串列的方式實現。
(3)演算法分析
首先,一個學生包括這麼多的屬性,應該考慮定義一個結構,其次,我們應該考慮資料的儲存形式:是定義一個數組來儲存,還是定義一個連結串列呢?在這裡假如我們以陣列的方式來儲存,當然可以,但是我們知道,假如我們定義一個數組的話,我們首先必須知道學生人數大概是多少,以便我們確定陣列的大小,但是題目中沒有給出,而且題目要求中有大量的刪除、插入操作,所以用連結串列的方式比較方便。
對於選單的實現,其實也比較簡單,首先我們用printf語句把程式的功能列出來,然後等待使用者輸入而執行不同的函式,執行完了一個功能後又回到選單。檔案的讀寫操作大家參照書中的有關檔案的章節。
2、學生綜合測評系統
每個學生的資訊為:學號、姓名、性別、家庭住址、聯絡電話、語文、數學、外語三門單科成績、考試平均成績、考試名次、同學互評分、品德成績、任課教師評分、綜合測評總分、綜合測評名次。考試平均成績、同學互評分、品德成績、任課教師評分分別佔綜合測評總分的60%,10%,10%,20%。
A、學生資訊處理
(1) 輸入學生資訊、學號、姓名、性別、家庭住址、聯絡電話,按學號以小到大的順序存入檔案中。
提示:學生資訊可先輸入到陣列中,排序後可寫到檔案中。
(2) 插入(修改)同學資訊:
提示:先輸入將插入的同學資訊,然後再開啟原始檔並建立新檔案,把原始檔和輸入的資訊合併到新檔案中(保持按學號有序)若存在該同學則將新記錄內容替換源內容,
(4) 瀏覽學生資訊:
提示:開啟檔案,顯示該檔案的學生資訊。
(1) 按考試科目錄入學生成績並且按公式:考試成績=(語文+數學+外語)/3 計算考試成績,並計算考試名次,提示:先把學生資訊讀入陣列,然後按提示輸入每科成績,計算考試成績,求出名次,最後把學生記錄寫入一個檔案中。
(2) 學生測評資料輸入並計算綜合測評總分及名次。
提示:綜合測評總分=(考試成績)*0.6+(同學互評分)*0.1+品德成績*0.1+任課老師評分*0.2。
(3) 學生資料管理
提示:輸入學號,讀出並顯示該同學資訊,輸入新資料,將改後資訊寫入檔案
(4) 學生資料查詢:
提示:輸入學號或其他資訊,即讀出所有資料資訊,並顯示出來。
C、學生綜合資訊輸出
提示:輸出學生資訊到螢幕。
3、圖書管理系統
主要包括管理圖書的庫存資訊、每一本書的借閱資訊以及每一個人的借書資訊。每一種圖書的庫存資訊包括編號、書名、作者、出版社、出版日期、金額、類別、總入庫數量、當前庫存量、已借出本數等。每一本被借閱的書都包括如下資訊:編號、書名、金額、借書證號、借書日期、到期日期、罰款金額等。每一個人的借書資訊包括借書證號、姓名、班級、學號等。
系統功能包括以下方面:
A、借閱資料管理
(1) 借出操作
(2) 還書操作
(3) 續借處理
提示:以上處理需要互相配合以及賠、罰款金額的編輯等操作完成圖書借還業務的各種登記。例如:讀者還書時不僅更新圖書的庫存資訊,還應該自動計算該書應罰款金額。並顯示該讀者所有至當日內到期未還書資訊。
C、讀者管理
讀者等級:對借閱讀者進行分類處理,例如可分為教師和學生兩類。並定義每類讀者的可借書數量和相關的借閱時間等資訊。
讀者管理:對讀者資訊可以錄入,並且可對讀者進行掛失或登出、查詢等服務的作業。
D、統計分析
隨時可以進行統計分析,以便及時了解當前的借閱情況和相關的資料狀態,統計分析包括借閱排行榜、資料狀態統計和借閱統計、顯示所有至當日內到期未還書資訊等功能分析。
E 系統引數設定:可以設定相關的罰款金額,最多借閱天數等系統伺服器引數。
4、學校運動會管理系統
問題描述:
(1) 初始化輸入:N-參賽院系總數,M-男子競賽專案數,W-女子競賽專案數;
(2) 各專案名次取法有如下幾種:
取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;
(3) 由程式提醒使用者填寫比賽結果,輸入各專案獲獎運動員的資訊。
(4) 所有資訊記錄完畢後,使用者可以查詢各個院系或個人的比賽成績,生成團體總分報表,檢視參賽院系資訊、獲獎運動員、比賽專案資訊等。
5、個人通訊錄管理系統
功能要求
(1) 通訊錄的每一條資訊包括姓名、單位、固定電話、移動手機、分類(如同事、朋友、同學、家人等)、EMAIL、QQ等。
(2) 輸入功能:可以一次完成若干條資訊的輸入。
(3) 顯示功能:完成全部通訊錄資訊的顯示(一屏最多顯示10條,超過十條應能夠自動分屏顯示)
(4) 查詢功能:可以按姓名等多種方式查詢通訊資訊
6、教師工資管理系統
每個教師的資訊為:教師號、姓名、性別、單位名稱、家庭住址、聯絡電話、基本工資、津貼、生活補貼、應發工資、電話費、水電費、房租、所得稅、衛生費、公積金、合計扣款、實發工資。注:應發工資=基本工資+津貼+生活補貼;合計扣款=電話費+水電費+房租+所得稅+衛生費+公積金;實發工資=應發工資 - 合計扣款。
A、教師資訊處理
(1) 輸入教師資訊
(2) 插入(修改)教師資訊:
(4) 瀏覽教師資訊:
提示:具體功能及操作參考題1。
(1) 按教師號錄入教師基本工資、津貼、生活補貼、電話費、水電費、房租、所得稅、衛生費、公積金等基本資料。
(2) 教師實發工資、應發工資、合計扣款計算。
提示:計算規則如題目。
(3) 教師資料管理
提示:輸入教師號,讀出並顯示該教師資訊,輸入新資料,將改後資訊寫入檔案
(4) 教師資料查詢:
提示:輸入教師號或其他資訊,即讀出所有資料資訊,並顯示出來。
(5) 教師綜合資訊輸出
提示:輸出教師資訊到螢幕。
7、教師工作量管理系統
計算每個老師在一個學期中所教課程的總工作量。(教師單個教學任務的資訊為:教師號、姓名、性別、職稱、認教課程、班級、班級數目、理論課時、實驗課時、單個教學任務總課時)
A、教師資訊處理
(1) 輸入教師授課教學資訊,包括教師號、姓名、性別、職稱、認教課程、班級、班級數目、理論課時、實驗課時。
(2) 插入(修改)教師授課教學資訊:
(4) 瀏覽教師授課教學資訊:
(1) 計算單個教學任務總課時。計算原則如下表:
班級數目
單個教學任務總課時
2
1.5*(理論課時+實驗課時)
3
2*(理論課時+實驗課時)
>=4
2.5*(理論課時+實驗課時)
(2) 計算一個教師一個學期總的教學工作量。總的教學工作量=所有單個教學任務總課時之和。
(3)教師資料查詢:
提示:輸入教師號或其他資訊,即讀出所有資料資訊,並顯示出來。
C、教師綜合資訊輸出
提示:輸出教師資訊到螢幕。
8、趣味小遊戲
要求:有一定遊戲規則,圖形顯示,資料使用陣列、結構體、連結串列等均可。鍵盤操作或滑鼠均可。
(1)貪吃蛇遊戲
(2)潛艇大戰遊戲
(3)掃雷遊戲
(4)黑白棋遊戲
(5)俄羅斯方塊
基本要求
1、課程設計可採取每人一題,可任選一題進行設計, 至少包含五個功能模組。或者每組完成一個課題,每組成員(不得超過5人)分工合作完成一個課程設計,每個人的任務不同。分組情況請於5月17日上報給老師。
2、可以選擇老師提供的參考選題,也可以自選,如果自選,需要將自選題目的詳細內容以及實現要求提供給老師,老師批准後方可採用。
3、要求利用結構化程式設計方法以及C的程式設計思想來完成系統的設計。
4、要求有選單、檔案操作,資料使用陣列、結構體、連結串列等均可,鍵盤操作或滑鼠操作均可。
5、模組化程式設計:要求在設計的過程中,按功能定義函式或書寫多個檔案,進行模組化設計,各個功能模組用函式的形式來實現。
6、所選課題必須上機通過,並獲得滿意的結果。
7、程式書寫風格:鋸齒型書寫格式。
8、完成課程設計報告書(格式見附錄一)。
評價標準
課程設計成績評定的依據有設計文件資料、具體實現設計方案的程式及課程設計考勤登記表。
優(90分以上):必須要有一定的創意,有自己獨特的演算法。按要求完成課題的全部功能,有完整的符合標準的文件,文件有條理、文筆通順,格式正確,其中有總體設計思想的論述,有正確的流程圖,程式完全實現設計方案,設計方案先進,軟體可靠性好;
良(80-89分):完成課題規定的功能,有完整的符合標準的文件,文件有條理、文筆通順,格式正確;有完全實現設計方案的軟體,設計方案較先進,無明顯錯誤;
中(70-79分):完成課題規定的功能,有完整的符合標準的文件,有基本實現設計方案的軟體,設計方案正確,但有少數失誤;
及格:完成課題規定的大部分功能,有完整的符合標準的文件,有基本實現設計方案的軟體,設計方案基本正確,個別功能沒有實現,但錯誤不多;
不及格:沒有完成課題規定的功能,沒有完整的符合標準的文件,軟體沒有基本實現設計方案,設計方案不正確。
附錄一:
(封面樣式)
C語言課程設計
題目名稱:
姓 名
學 號
專 業
班 級
指導教師
編寫日期
(正文部分)
一、需求分析(標題均為小三號,宋體)
(正文均為小四號,宋體,行距1.5倍)
(對所選擇題目進行分析,描述問題。簡述課題要解決的問題是什麼,有什麼要求和限制條件。列出參與人員進行本設計時要達到的具體的目標。)
二、總體設計
(對設計目標進行總體分析,說明要採用的基本思路,說明遇到的問題和解決方法。說明完成本次課程設計的完整過程。要描述程式的設計思想,畫出本次課程設計完整的程式框圖或流程圖。)
三、詳細設計
(要求列出所有編寫的函式清單,說明每個函式的功能,各形式引數的意義,畫出各函式的呼叫關係圖。即模組功能說明(如函式功能、入口及出口引數說明,函式呼叫關係描述等)。)
四、程式執行結果測試與分析
(要針對程式處理的不同情況列出有代表性的輸入和輸出,用足夠多的例項說明程式完成了設計任務和目標。)
五、結論與心得
(主要說明程式除錯中發現的問題和解決辦法,包括你在該設計中主要承擔什麼任務,在設計中學到了什麼,哪裡遇到了困難,解決的辦法,可能但因時間關係沒有來得及完成的想法,今後的目標等。)該部分要求參與人員分別寫,格式如下
王二:
張三:
李四:
陳五:
六、致謝