詳細通訊錄課程設計報告

2021-03-04 05:38:54 字數 2666 閱讀 2334

目錄1總體設計與演算法分析 1

1.1 課程需求分析 1

1.2 資料結構設計 1

1.3 關鍵演算法分析與設計 2

1.3.1總體設計 2

1.3.2 關鍵演算法分析 3

2程式流程圖和與函式說明 4

2.1 主函式流程圖 4

2.2函式說明 5

2.2.1主函式 5

2.2.2主選單 5

2.2.3查詢選單 6

2.2.4刪除 10

2.2.6新增紀錄 16

2.2.7顯示所有 17

2.2.8寫入檔案 18

2.2.9寫入檔案 18

3測試資料與測試過程分析 19

3.1 功能分析 19

3.1.1開始介面 19

3.1.2新增記錄介面 19

3.1.3查詢記錄介面 20

3.2測試過程 20

3.2.1排序 20

3.2.2刪除 21

3.3.3新增 21

3.3.4查詢介面 22

4 遇到的問題和解決方法 1

5課程設計小結 2

學生通過課程設計加深理解課堂教學內容,要求學生在設計中逐步提高程式設計和除錯能力,培養學生解決實際問題的能力,演算法分析能力和學生的科技**寫作能力。

本程式——通訊錄的製作,為了實現資料的輸入、輸出、追加、刪除、排序查詢、輸出、存、取功能。程式的基本功能為:建立通訊者資訊,包括姓名、國家、城市、街道、郵編、**;新增新的通訊者資訊;按姓名查詢某個通訊者的資訊;按姓名刪除某個通訊者的資訊;輸出顯示通訊錄的所有資訊;將資料以檔案的形式儲存在磁碟上;在下次操作時課從磁碟中讀取原儲存資料。

該系統用下面六個功能模組編寫,每個模組執行不同的功能,體現了模組化設計的思想。下面六個模組都是利用c語言檔案,向檔案中追加資料、修改資料、查詢資料和刪除資料。

建立:用fopen()建立乙個文字檔案,然後向其中輸入資料(例如,向檔案中輸入「姓名」,「位址」等), 並對檔案進行命名。

新增:可以新增通訊錄記錄,利用c語言檔案,向檔案中按順序輸入姓名、住址、單位、固定**、手機號碼、分類(如同事、朋友、同學、家人等)、e-mail、**,再用fclose()函式關閉並儲存檔案。

刪除:輸入你要刪除的人的姓名或學號後,系統會自動刪除他(她)的記錄,在刪除通過switch語句滿足提示你確認刪除的功能,只有等你確認刪除後才會刪除。

查詢:為了滿足使用者的實際需求,設計了三種查詢方式,可以用姓名、學號、**三種方式查詢通訊錄記錄。這裡用到strcmp()函式,通過比較字串是否相同來判別是否找到相關資訊,找到後,就把檔案中的資料賦給對應的變數,再把變數所帶的值輸出到螢幕上。

排序:可以選擇按姓名或者學號對通訊錄進行排序,用strcmp()函式通過比較字串從左到右的ascii碼大小來實現。

儲存:用到fclose()函式,每次操作成功後會自動儲存到指定的檔案中。

本系統首先設計出了主函式,然後根據去要實現的功能分別設計拉,顯示、刪除、查詢、修改、新增功能的子函式。在顯示的函式設計過程中首先運用拉檔案的讀取等必要的知識通過把檔案的內容讀取到記憶體然後列印出來。刪除函式的設計是首先從檔案內找到要刪除的人,然後通過寫乙個實現刪除目的的for迴圈將該人從記憶體裡刪除,然後再用寫的方式開啟檔案,將記憶體內的資訊寫入檔案,實現刪除。

查詢也是先開啟檔案,用乙個字串對比的方法找出使用者要查詢的人,然後列印出來。修改也大體和刪除相同,新增函式在設計時通過申請一片空間,然後通過指標將需要新增的資訊新增進去,從而實現新增功能。

查詢模組:

該查詢功能分3種方式查詢,姓名查詢(按1),**查詢(按2),學號查詢(按3)。這是通過switch語句來實現,case 1後面是按姓名查詢函式,case 2 後面是按**查詢函式,case 3 後面是按學號查詢函式。如果使用者要選擇一種方式查詢通訊錄記錄,只需輸入對應的數字就可以。

三種方法大同小異,下面就說明姓名查詢吧!查詢使用者,進入查詢介面後並且鍵入「1」後,就執行姓名查詢方式,此時介面上會顯示「請輸入姓名」,然後系統將使用者輸入的姓名賦給對應的變數,然後用迴圈(if (strcmp(student[i].name,name)==0))這條語句來完成)來找出這個人的所有記錄,並將其輸出到螢幕上。

如果沒有此人的記錄,那就會輸出「沒有相同姓名的學生紀錄」,或『沒有改學生的資訊『這裡輸出視查詢方式而定。執行查詢功能後會返回主選單,並提示使用者再次選擇。

void main() }

void mainmenu()//主選單 }

查詢選單

void searchmenu()//查詢 }

printf("\n\t\t按任意鍵返回主選單:");

mark++;

getch();

return;

} }if (mark==0) }

按**查詢

void searchbyphone() //按**查詢

{ //按**查詢

int mark=0;

int i;

int a=0;

printf("\n\t\t按**查詢

char phone[10];

printf("\n\t\t請輸入學號:");

scanf("%s",phone);

for(i=0;i

C通訊錄課程設計

一 設計任務分析 實現以下功能 1 通訊錄編輯 新增 刪除 2 按不同的項進行查詢 3 對已存在的通訊錄按不同的項排序 4 將通訊錄寫入檔案 5 從檔案讀入通訊錄。二 模組設計 本次程式設計主要設計了六個模組 主要是 函式用於通訊錄中的資訊進行新增,主要流程如下 函式用於通訊錄中的資訊進行刪除,主要...

C語言通訊錄課程設計報告

面向過程程式設計 c語言通訊錄系統 課程設計 一 課題任務 設計乙個通訊錄管理系統。課題的主要任務是 1.對通訊錄資訊有新增 查詢 顯示 儲存 刪除 修改等操作功能。2.可以將輸入的資料儲存在文字檔案中,並可以將其調出使用。我的主要任務是編寫主函式,查詢模組和修改模組。二 設計要求 建立通訊錄資訊,...

C語言通訊錄課程設計報告

2013 2014學年第1學期 c語言實訓報告 課程名稱 c語言實訓 班級 xx 姓名 xx 學號 教學週數 xx 地點 xx 指導教師 xx 1 系統分析 1.1系統功能分析 1.2開發平台及工具介紹 2 系統整體功能模組圖 3 系統具體功能流程圖 4 系統執行介面 附錄 原始碼 include ...