計算機實習報告
面向過程程式設計
用c語言求解實際問題
班級學號姓名
實習時間:2023年7月4日-7月15日
一、問題描述
基礎類第37個任務——**簿的簡單管理:程式設計模擬實現手機**簿的管理。
二、需求分析
(這一部分主要是確定要做什麼,以及問題的邊界。如下例所示,對「姓名手機號碼」**簿管理。具體來說,就是給出程式的基本功能和效能,設計問題的輸入/輸出)
手機**簿管理任務的基本功能是:
(1)建立空**號碼簿。假設**號碼簿中的資訊格式至少是:姓名手機號碼
(2)能完成**號碼的編輯。包括(a)增加新號碼、(b)修改已有號碼,包括修改姓名或**號碼、(c)刪除已有號碼。
(3)查詢。可以快速查詢到已有號碼。
(4)瀏覽號碼簿。能列出號碼簿上全部**號碼。
程式中有如下效能:
(1)用選單方式提供對操作的選擇。
(2)為了防止**號碼簿的破壞,編輯操作必須是有密碼的人才可以完成。查詢和瀏覽,則不用密碼。
(3)刪除操作會破壞有用資訊,將提供多次確認,保證不因為誤操作破壞有用資訊。
三、程式設計
(這一部分主要是說怎麼做,以及語言環境對問題處理的特殊影響。如下例所示,**簿中資訊格式,管理功能,操作限制等。具體來說,就是給出程式的資料結構,模組劃分,主要的演算法流程,主程式結構)
針對需求做如下設計:
(1)資料結構設計
● 假設手機**號碼簿中的資訊結構是:姓名(最多10個漢字) 手機號碼(11個數字)
typedef struct mobilebookm_book;
● 引用stl的vector容器儲存**號碼簿資訊。
vector mybook;
● 為編輯操作設計的密碼是乙個長度為6的字串。其中取值假設是」my1234」
char password[6]= 」my1234」;
(2)模組設計
本任務的主要演算法是一組對**號碼簿mybook的操作函式,由於引用了stl資源,所以:
● 增加乙個新號碼是:
讀入乙個新號碼資訊到臨時變數temp,然後mybook.push(temp),則新號碼新增到號碼簿的末尾;
● 修改乙個已有號碼
在號碼簿mybook中用姓名name找到要查詢的號碼所在位置i,再輸入新的號碼資訊修改mybook[i]中的資訊,修改完畢。
● 刪除乙個已有號碼
在號碼簿mybook中用姓名name找到要刪除的號碼所在位置i,列出資訊,詢問「真刪除嗎?」,回答「是」,則再問「真的確認嗎?」,依然得到回答「是」,則mybook.
erase(i),刪除該號碼。
以上3個操作是編輯號碼簿資訊,對此每次選擇該功能時,則要求「輸入密碼」,如果正確,則允許編輯,否則,則不允許。
● 查詢號碼
允許用姓名查詢號碼簿中的**號碼資訊。
● 瀏覽號碼
即從頭到尾列印出號碼簿中的全部**號碼資訊。
(3)主程式結構
本任務的主程式結構是乙個選單,共選擇,轉入相應的子程式中:
1 增加乙個新號碼;
2 修改已有號碼;
3 刪除已有號碼;
4 查詢號碼;
5 瀏覽號碼簿;
0 退出操作
為了便於對號碼簿的較好管理,程式中對刪除操作提供兩種方法:
(1)逐個刪除號碼;
(2)刪除全部號碼;
(0)返回上級選單;
四、程式實現
(這一部分主要是說子程式的實現,以及引用的語言資源。具體來說,就是給出程式模組的實現)
(1)程式中**簿用stl的順序容器vector資源實現。
vector mybook;
在**中所有關於mybook的操作均引用stl支援的vector操作完成。
(2)號碼輸入函式void input_num(char *hp_num)實現
**號碼只能是由數字字元』0』~』9』組成,這個函式是保證輸入只能是有限範圍,否則,則發出響聲,提示出錯,且等待正常輸入。流程是:
(3)選單的實現
程式主選單在主程式中,實現偽**是:
while(1)
}五、程式測試
(這一部分主要是說用什麼資料測試程式,保證程式的每一條分支上的語句都被除錯。具體來說,就是進行程式白盒測試)
對**號碼管理測試,分別依次選擇選單的各個選項,根據不同選項中需要輸入的資料和操作提示,完成程式的測試。以下抓圖說明測試過程:
圖1 主選單
圖2 增加新號碼
圖 3 刪除選單
六、設計小結
本任務設計的**完成基本功能,但是有幾個缺點:
(1)**號碼簿資訊太簡單
現在的手機功能越來越全,人們之間的****也原來越多,**號碼簿內容更豐富,如:姓名,手機號碼,家庭號碼,辦公**,郵箱位址,qq號碼等。
(2)程式中的號碼簿是保留在記憶體中,不能永久存在
需要用檔案管理**簿。這需要建立檔案,並且在程式進入時讀出檔案資訊,退出之前把新的號碼簿資訊寫入檔案。
(3)密碼不可變
目前程式中關於號碼簿的編輯雖然是需要密碼才可以進行,但是密碼是固定的,不利於真正保護號碼簿的安全,最好是提供密碼修改模組,供使用者及時更新密碼。
七、使用說明
(這一部分主要是說程式安裝說明和啟動。具體來說,就是給出程式的執行軟硬體環境,啟動方法,操作步驟,如果程式有完整的提示,操作步驟可以簡寫)
本程式提交的是for dos源**liner_stl.cpp,所以用vc開啟該程式liner_stl.cpp,再經過編譯、連線,將簡單抓圖1中的主選單,以後根據螢幕上的提示操作就可以實現對**號碼簿的簡單管理。
八、附錄
程式源**參見c語言程式檔案liner_stl.cpp。其中有詳細的注釋解釋了各模組的功能及主要語句的作用,以及資料結構中資料項的含義。
計算機實習報告
實習目的 通過理論聯絡實際,鞏固所學的知識,提高處理實際問題的能力,了解設計專題的主要內容,為畢業設計的順利進行做好充分的準備,並為自己能順利與社會環境接軌做準備。實習任務 對計算機在學生資訊管理方面的應用進行歸納總結,並查閱資料為畢業設計做準備。實習內容 計算機在學生資訊管理中的應用 隨著社會的發...
實習報告計算機
計算機組裝與維護實習報告 實習目的 通過計算機的組裝,認識計算機的硬體和結構,了解計算機的整個組裝過程和注意事項。實習內容 計算機組裝與維護,識別計算機的各個部件,能自己動手組裝一台計算機。從3月10號到3月17號,我在思銳電腦公司實習的主要任務是向同事學習電腦各部件的作用及相關效能引數。一.各個部...
計算機實習報告
實習目的 通過理論聯絡實際,鞏固所學的知識,提高處理實際問題的能力,了解設計專題的主要內容,為畢業設計的順利進行做好充分的準備,並為自己能順利與社會環境接軌做準備。實習任務 對計算機在人事管理方面的應用進行歸納總結,並查閱資料為畢業設計作準備.實習內容 計算機在人事管理中的應用 隨著社會的發展,科技...