《軟體課程設計》實驗報告

2021-04-12 21:46:18 字數 4434 閱讀 7837

編號:( )字型大小

班級姓名

學號指導老師

職稱電腦科學與技術學院

二〇〇八年月

軟體課程設計任務書

專業年級

學生姓名

任務下達日期:

課程設計日期:

課程設計題目: 面向過程

題目七:

一. 需求分析

設計任務:

1.將輸入的羅馬資料化為10進製數。假設羅馬資料中只使用如下7個「基值」字母:

m、d、c、l、x、v、i,分別用來表示1000、500、100、50、10、5、1。如,羅馬資料l***vii表示10進製的87。

2.將輸入的10進製正整數轉換為羅馬資料。假設羅馬資料中只使用「基值」字母:m、d、c、l、x、v、i,分別用來表示1000、500、100、50、10、5、1。

主要介面為:

輸入1或2可以選擇功能。

輸出的形式

如上所示:當輸入大寫或小寫的阿拉伯字母時。

程式能計算出十進位制。

程式所能達到的功能

測試的資料:當輸入mvii羅馬數字時輸出十進位制

1007

當輸入十進位制數4535時相應輸出 mmmmd***v。

二.概要設計

程式中主要在開頭用了乙個死迴圈來實現功能的不斷迴圈。通過exit函式退出程式。

主程式的流程以及各程式模組之間的層次(呼叫)關係。

三.詳細設計

實現概要設計中定義的資料型別和操作。以增加程式的可讀性,關鍵演算法部分畫出程式流程圖。

主函式的流程圖如右圖示:

四.除錯分析

實驗時遇到的問題有:

獲得字元的c=getchar().時出錯。由於自己第一次用到該語句時是在判斷他不是』\n』,但是自己忘記使用他,便對他進行第二次的賦值。

從而使最後總是出錯。最後通過仔細檢查,發現問題,通過解決。問題不再有。

五.使用者使用說明

a.選擇1或2後按回車鍵便可選擇相應的功能,1是羅馬轉化為十進位制,2是十進位制轉化為羅馬數字。

b.如果選擇a這時輸入羅馬字母後按回車,程式便輸出相應的十進位制數。

c.如果選擇b這時輸入十進位制數後按回車,程式便輸出相應的羅馬數字。

d.輸入0後,便可以安全退出程式。

六.設計體會

在這個實驗中,自己學會了用while(1)來實現功能的不斷實現。

然後分別設定兩個函式完成不同的功能。

在主函式中呼叫這兩個函式。

當使用者選擇0時。呼叫exit()退出程式。

題目八:

一. 需求分析

設計任務:

程式設計序,迴圈進行如下的處理過程:由計算機生成簡單的四則運算題;使用者給出答案;計算機判斷對錯。直到使用者回答說不再繼續做了時結束程式。

提示:可讓使用者選擇指定出加、減、乘、除哪一種運算題,以及出一位數還是兩位數的運算題;而後通過使用「rand()%10」或「rand()%100」來獲得乙個0到9的一位整數隨機值或得到0到99的兩位整數隨機值來為使用者出題。還可進一步對使用者所做算術題的對錯次數進行記錄,結束程式時給出乙個某種形式的成績。

主要介面為:

輸入1, 2,3,4,5,0可以選擇相應的功能。

輸出的形式為等式讓使用者做題目,如下:

如上所示:當輸入答案時。

程式能計算結果。並且記錄使用者的答題正確數目。

程式所能達到的功能:

1.加法一位數與二位數的運算。如下:

2.減法一位數與二位數的運算。如下:

3.乘法一位數與二位數的運算。如下:

4.除法一位數與二位數的運算。如下:

二.概要設計

主程式的流程以及各程式模組之間的層次(呼叫)關係。

三.詳細設計

實現概要設計中定義的資料型別和操作。以增加程式的可讀性,關鍵演算法部分畫出程式流程圖。

主函式的流程圖如下頁圖示:

四.除錯分析

實驗時遇到的問題有:

問題一:由於自己不會使用隨機數,所以,產生了一些錯誤。

例如:沒有放種子,最後使得自己每次產生的隨機數都一樣。

最後看了老師的參考程式,知道了還得傳種子放上種子後隨機數就能用了。

問題二:這道題目,目的是一道檢測小學生四則運算的,所以在除法部分,自己剛開始,美注意到,出現了1/3=0的問題。最後自己讓產生的兩個隨機數相乘作為被除數,然後以兩個隨機數中的乙個為除數。

這樣的話就不會出現除完後是分數的情況了。但是問題有產生了:除數太大,超過二位。

問題三:由於問題二而產生的問題三,是:除數太大,超過二位。

對也此問題我的解決方法是對隨機數篩選。知道他們產生的隨機數的成績為二位時再使用。此解決方法有乙個缺點是:

系統產生符合條件的隨機數需要等待太長的時間。

五.使用者使用說明

a.進入程式後選擇1.2.3.4.5.0就可以進入相應的功能。

b.例如選擇1後:又有相應的選單可選擇:

選擇。1.2.3.0.就可進行相應操作:

出現2+8=?答案:----這個地方填入自己的答案。

c.選擇換一種運算就能進入主介面:又可進行相應操作:如評分。

如下:得分為一百分。

d.此時又進入主介面。可進行操作。選擇0可以退出程式。

六.設計體會

在這個實驗中,自己學會了隨機數的使用。

並且,在評分上自己使用的是全域性變數作為分數。以傳引用的方式,將分數傳入每乙個函式。累計積分。

在使用者使用方面,對軟體的功能與實用性也進行了考慮。對出現的問題進行了解決。

switch(order)

物件導向 3.1 用三種方法通過虛函式求fibonacci數列

一、 需求分析:

本程式主要解決的是:利用虛函式手段,按照3種不同的計算方法來求出fibonacci數列的第n項(的具體項值)並輸出。具體地說,可通過在基類basecla及其派生類fib1cla、fib2cla和fib3cla中說明如下的同乙個虛函式「virtual double fib(int n);」,來實現求fibonacci數列第n項值並返回的3種不同求解方法。.

本程式輸入為整數,輸出為用三種方法算出的fibonacci數列。

二、 概要設計:

本程設計思路: 本程式主要是虛函式的使用。先設定乙個虛函式,然後再不同的類裡面實現,fun函式中有乙個指標是指向每個類中的這個函式,傳入類名和變數到fun中便可實現。

三種求的方法為:1.變數平移。

2.陣列。3.

遞迴。在陣列中自己使用了動態陣列。

三、 詳細設計與編碼:

見上傳程式。

四、除錯分析:

在除錯過程中陣列部分出現問題,主要原因是由於陣列不能在初始化未知長度,於是,我想起了老師資料裡的動態陣列。自己看了以後就採用了它。問題就解決了。

另外的乙個問題是陣列實現的時候,自己太粗心了,第一次沒把演算法寫好,以至後來用各種方法找錯誤,有乙個心得是:可以多用」cout<<」語句輸出中間變數。.

五、使用者使用說明:

根據軟體提示:輸入非零數,軟體可用三種不同的方法實現fibonacci數列。輸入0時結束程式。剛開始時。我們會呈現出缺省資料。

六、 設計心得:

在這個程式中,自己由於粗心,出了錯誤,但是最後還是解決了。自己很高興。自己學會了動態陣列的建立。

對虛函式的使用也更加熟悉。。第三種方法用的是遞迴。設計時很好設計。

但是執行上有點慢。

物件導向 8 程式設計實現**簿管理

一、需求分析:

編寫程式實現乙個簡單的**記錄簿,要求記錄的個人資訊包括:

姓名,單位,家庭**,移動**。具體功能如下:

1.建立資訊鍊錶並以磁碟檔案儲存。

2.讀取磁碟檔案並顯示輸出所有人的移動**。

3.按姓名或單位查詢家庭**。

4.通過姓名和單位確定個人,修改其**資訊並存檔

二、概要設計:

本程設計思路: 本程式主要是設定兩個類,乙個是node類用來存放**資訊,乙個是tellist類。用來對node類進行操作。

因為telist類為node的友元類。本程式只要用的是鍊錶的資料結構,用二進位制的儲存方法儲存檔案。

三、 詳細設計與編碼:

見上傳程式。

四、除錯分析:

在除錯過程中主要的問題:(1).是儲存與讀出檔案。

由於在node節點中有string型別的變數。而string類的變數長度不定,所以讀入的資料長度可能不等,致使讀出時出錯。解決方法是自己將char代替了string.

(2)還有的問題是在插入node時出過錯。主要是因為自己的鍊錶使用還不熟悉。最後經過修改正確了。

(3)讀入檔案時,有一次出錯是因為沒有判斷檔案是否為空,致使「記憶體不可讀」的錯誤出現。解決方法是自己在load()中加了乙個判空語句。問題便解決了。

五、使用者使用說明:

如上示:選擇相應的數字。1。2。3。4。5。0。可進行操作。

此視窗是我已經輸入了自己的資訊,然後用system(「cls」)清屏。

用2.輸出自己的資訊。

輸入0時推出程式。並且將資訊存到了。「**薄.dat「中。下次再開啟時自動呼叫load()讀入資訊。

軟體工程課程設計實驗報告

重慶郵電大學軟體 工程課程設計實驗報告 網上選課系統 姓名 雷雷 學號 08500329 專業 電腦科學與技術 班級 0410801 指導老師 鄒洋 教室 s331 a 時間 2011 5 30 2011 6 3 一 實驗題目 網上選課系統 主要功能描述 系統首先維護校內所有課程的資訊 課程分為研究...

軟體工程課程設計實驗報告

軟體工程綜合實驗報告 學號姓名 組長 09261041 謝瑤 學號姓名 09261004 左蕾蕾 學號姓名 09261031 柯豔紅 學號姓名 09261034 陶翠翠 班級 09計11 教師 孟倩 徐州師範大學 電腦科學與技術學院 問題定義 學生選課系統是乙個學校不可缺少的部分,它的內容對於學校的...

課程設計實驗報告

上海應用技術學院 課程設計 2011 2012學年第二學期 設計題目成績記錄簿 院 系 電腦科學與資訊工程學院 專業計算機應用技術 班級 12104006 學號 1210400631 學生姓名溫源 設計時間 2013.07.1 2012.07.12 指導教師宋智禮 提交日期 上海應用技術學院課程設計...