程式設計課程設計報告

2022-04-06 04:55:32 字數 3251 閱讀 8260

程式設計與演算法

課程設計

課程名稱: 程式設計與演算法

姓名 :

學號 :

專業 :

所在院系 :

指導教師:

日期年月日

注:1、無評閱人簽名成績無效;

2、必須用鋼筆或原子筆批閱,用鉛筆閱卷無效;

3、如有平時成績,必須在上面評分表中標出,並計算入總成績。

課程設計評語 2

目錄 3

1.課程**題目 4

2.程式設計思路 4

3.功能模組圖 5

4.資料結構設計 5

5.演算法設計 6

6.程式** 13

7.程式執行結果 22

8.程式設計中遇到的困難及解決方法 25

9.總結及建議 26

10.致謝 26

【要求】

實驗裝置資訊包括:裝置編號,裝置種類(如:微機、印表機、掃瞄器等等),裝置名稱,裝置**,裝置購入日期,是否報廢,報廢日期等。試設計一實驗裝置資訊管理系統,使之能提供以下功能:

(1)能夠完成對裝置的錄入和修改。

(2)對裝置進行分類統計。

(3)裝置的查詢。

【提示】

需求分析:實驗室裝置資訊用檔案儲存,提供檔案的輸入輸出操作;要能夠完成裝置的錄入和修改,需要提供裝置新增和修改操作;實現對裝置進行分類統計,需要提供排序操作;實現對裝置的插敘需要提供查詢操作,裝置的查詢可根據裝置編號、裝置種類、裝置名稱、裝置購入日期、正常裝置(未報廢的)等多種方式查詢;另外還要提供鍵盤式選擇選單以實現功能選擇。

根據需求分析,可將系統的設計分為四個模組:輸入模組,修改模組,統計模組,查詢模組;實驗室裝置資訊用檔案儲存,提供檔案的輸入輸出;建立實驗裝置資訊結構體,結構體成員包括:裝置編號,裝置種類,裝置名稱,裝置**,裝置購入日期,是否報廢,報廢日期。

(1)主函式設計

主函式提供輸入,處理,輸出部分的函式呼叫,其中各功能模組用選單方式選擇,即主函式裡顯示一系列功能選項,判斷後,是否呼叫個功能模組用了switch()選擇功能。

(2)各功能模組設計

輸入模組:定義了檔案型指標變數,開啟檔案輸入使用者要輸入裝置的個數,輸入裝置的各項詳細資訊,將輸入的資訊儲存到檔案的中;用到fopen(檔名,使用檔案方式);fclose(檔案指標);fprintf(檔案指標,格式字串,輸出列表)。

修改模組:輸入要修改的裝置編號,是否找到該裝置資料,如果找到記錄,呼叫修改函式,對該裝置的資訊進行修改;如果沒有找到,返回主選單。在尋找的過程中用了字串的比較strcmp(字串1,字串2),如果字串1=字串2,則函式值為0。

如果字串1>字串2,則函式值為乙個正整數。

如果字串1《字串2,則函式值為乙個負整數。

比較時,只能用if(strcmp(str1,str2)>0)。

還用到feof()若到檔案末尾,函式值為「真」。

統計模組:開啟檔案,並對檔案中的裝置資訊進行統計計算型別數目,總**,平均**;此程式中將char型別轉化成double型,用到了pc=atof();fscanf(檔案指標,格式字串,輸入列表);同樣也用到了字串的比較strcmp(字串1,字串2),feof()。

查詢模組:詢問使用者想要選擇的搜尋方式,分三種型別查詢(裝置名稱,裝置型號,裝置**),再用switch()的選擇功能,每一種型別有用到了feof()控制迴圈,字串的比較strcmp(字串1,字串2),

(1) 輸入模組

(2) 修改模組

(3)統計模組

(4)查詢模組

此程式中用到了

1)基本型別:1)常量的使用#define n 50,

2)整型(int),

3)字元型(char),

4)浮點型(雙精度double

2)構造型別:1)陣列型別 (equipcode[10] ,equiptype[20],equipname[20]

equipprice[10],equipover[20], equipyesno[10], equiptime[10] )

2)結構體型別: struct equip

char equipcode[10];

char equiptype[20];

char equipname[20];

char equipprice[10];

char equipover[20];

char equipyesno[10];

char equiptime[10];

equ[n],temp;

3)指標型別:file *fp,檔案型指標變數,fp是乙個指向flie型別結構

的指標變數。

見源程式檔案附件。

(1)主函式

(2)輸入模組

(3)修改模組

(4)統計模組

(5)查詢模組

由於自己時間過長的遺忘及知識的侷限性使得在程式的編譯中存在一些問題,對每個功能模組的理解,以及主函式的功能,都是在老師的講解下有了更深的了解。編寫主函式根據一些例題的模式以及自己的所要實現的功能來完成;每乙個子模組,也是根據例題模組,以及要實現的功能編寫,用到了檔案,結構體型別,陣列,型別的裝換等等,檔案以及結構體型別,通過檢視書本完成的,型別的裝換是通過老師和同學的幫忙解決的。在執行過程中,每個模組執行後不能接著下乙個模組,也是在老師的幫助下完成的,總體程式還是比較簡單的。

經過這幾天的實習使我了解到c語言的重要性,之前接觸到的c語言內容都是理論上的,理論知識知道的比較多,但是沒怎麼用到實際操作當中。這次上機實習給了我一次真正認識c語言的機會,剛開始我一臉的迷茫,不知道從**開始動手,覺得c語言是一種很深奧的東西,對於剛開始接觸這門課程的我來說非常的不適應。很多東西都是第一次:

第一次真正認真的投入c語言當中,第一次用自己在課堂上學習的東西逐步的去解決實際問題,這次是完成實驗裝置資訊的管理。經過這次實習,我知道自己的計算機知識還是相當有限的,在這次的程式編譯過程中遇到了很多自己無法解決的問題,可是通過老師的指導,上網檢視資料,問高年級的學長學姐等方法,最終問題都基本解決了。

這次c語言課程設計給我的幫助是很大的。雖然到現在我還掌握得不好。所以在以後的學習生活中我會更加注重這方面的實際操作,提高自己的實際動手操作能力,解決實際問題的能力以及提公升自己的計算機水平。

c語言課程設計是一門非常重要的計算機基礎課,學得好與否對我們以後都很重要。真誠的感謝老師在這次課程設計中給予的種種幫助,是我從對該課程的懵懂一步步到了解以及深入的學習。為以後的學習打下良好的基礎。

雖然只有短短的這幾天,但我收穫很多,而且讓我慢慢的對計算機產生了興趣。

[1][2][3]

程式設計課程設計報告

設計人 電氣q1142 李豔平 11150038 日期 2012 11 29 指導教師 桂超 設計題目 鍊錶操作 一 設計任務 1 建立乙個單鏈表,並返回頭結點的位址head 2 編寫函式circulachain,將上述單鏈表改為單迴圈鍊錶 3 編寫函式addnode,在資料為x的結點之後插入資料為...

《C物件導向程式設計》課程設計報告

題目 分數計算器設定 班級 k0312415 專業 電腦科學與技術 學號 k031241521 k031241535 姓名 周林 指導教師 小組成員 周林,張齊滿 二o一三年 10 月 15 日 一 課程設計問題描述 分數計算器設計是高等學校教務管理的重要組成部分,其內容較多,為了簡化計論,要求設計...

遊戲程式設計課程設計實驗報告

任課教師 李新弘 2014 2015學年第1學期 實驗 報告學號 2012329700002 姓名 陳潔 班級 數字 與技術12 1 班 日期 2015.1.22 一 實驗目的 unity是一種新型的it引擎。這次製作3d保齡球的課程設計,旨在進一步熟悉對於這款遊戲引擎的使用和開發,鍛鍊綜合運用學期...