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

2021-03-03 20:56:04 字數 3028 閱讀 2409

c語言課程設計報告書

題目: 通訊錄管理系統

學院: 計算機工程學院

專業: 電腦科學與技術

班級姓名

學號2023年 6 月 25日

1 引言2

2 設計的目地和要求2

2.1 實驗目的2

2.2 實驗要求2

3 設計說明3

4 程式使用方法5

5 程式源**9

6 設計總結16

1 引言

由於c語言是近年在國內外得到迅速推廣應用的一種語言。c語言功能豐富,表達能力強,使用靈活方便,應用面廣,目標程式效率高,可移植性好,既具有高階語言的優點,又具有低階語言的許多特點。通過這次的c語言程式設計更加了解了c語言的好處和其可用性!

2 設計的目的和要求

2.1 實驗目地

(1) 鞏固和加深對c語言基礎知識的理解和掌握

(2) 掌握c語言程式設計和程式除錯的基本技能

(3) 掌握利用c語言進行簡單軟體設計的基本思路和方法

(4) 提高運用c語言解決實際問題的能力

(5) 掌握書寫實驗設計說明文件的能力

2.2 實驗要求

設乙個通訊錄由以下幾項資料資訊構成:

資料項型別

姓名字串

住址字串

郵政編碼字串

**號碼字串

通訊錄資訊儲存在檔案中。

(一)功能要求:

(1)能輸入新的通訊錄詞條

(2)能按姓名或**號碼進行資訊查詢

(3)能按姓名或**號碼刪除相關資訊,如姓名相同能給出提示,進行選擇刪除

(4)能顯示出所有資訊

(5) 能對輸入的資訊進行修改

(6) 能對已儲存的資訊進行讀出

(二)其它要求:

(1)源程式要有適當的注釋,使程式容易閱讀

(2)體現結構化設計風格,函式功能劃分清晰

(3)各功能入口採用文字選單介面

(4)學生可自動增加新功能模組,視具體實現情況另外加分

(5)寫出課程設計報告,具體要求見相關說明文件

3 設計說明

3.1 演算法設計

本程式函式中通過switch……case語句來實現選擇功能,使用者可以通過需要來進行選擇

在程式中用乙個全域性變數number記錄輸入資訊的條數,並將其存放在d://條數.txt中。

便於在讀取檔案時使用。程式通過乙個結構體陣列來儲存資料,在資料有更新後將其輸入到文字檔案中儲存。下次執行時可將檔案中的資料讀出使用。

程式的整體結構圖如圖1

輸入子函式讓使用者輸入新的聯絡人資訊,其中在輸入人名是如與前面輸入的聯絡人同名會給出同名提示,有使用者決定是否重新輸入。輸入好的新的聯絡人將追加到程式中,並在檔案中儲存,如圖2

查詢子函式通過乙個新的陣列在記錄要查詢的資訊,讓其中的每個元素與姓名或**號碼作比較,把符合條件的聯絡人輸出。如圖3

刪除子程式先輸入要查詢聯絡人的姓名(姓氏)或**並將查詢到的資訊顯示在螢幕上,並為其標上編碼,由使用者自行選擇要刪除的聯絡人編碼,進行選擇性刪除。最後將刪除後的資訊重新寫入檔案。如圖4

檢視聯絡人將所有聯絡人資訊全部顯示在螢幕上。

修改聯絡人執行修改時先呼叫chakan()函式,將全部聯絡人顯示在螢幕上,並為其標上編碼,由使用者選擇要修改聯絡人的編碼對其進行修改。

讀取聯絡人將檔案中已有的聯絡人讀入到結構體中。

清空聯絡人通過重新寫入將檔案中所有聯絡人清空。

4 程式使用方法

執行程式進入選單介面,按下相應的鍵,選擇不同的功能。如下圖

按「1」鍵進入輸入新聯絡人介面,提示「確認輸入新的聯絡人請按「1」,否則請按「0」:」如需輸入請按1 ,根據提示輸入相應的值。如果輸入的人名是如與前面輸入的聯絡人同名時會給出同名提示是否重新輸入,由使用者決定是否重新輸入;郵編和**號碼如輸入的不正確,會提示重新輸入。

如下圖按「2」鍵進入查詢介面,使用者可以直接輸入姓名或姓氏或**號碼進行查詢聯絡人。如下圖

按「3」鍵進入刪除介面,使用者需根據提示輸入要刪除的聯絡人的姓名或**號碼,系統會顯示出全部查詢到的資訊,使用者選擇相應的編碼進行刪除。如找到兩個或更多的結果時,也可進行選擇性刪除。如下圖

按「4」鍵程式直接顯示出全部聯絡人資訊。如下圖

按「5」鍵進入修改介面,程式會自動顯示出全部聯絡人資訊,再選擇要修改的聯絡人編碼,進行重新輸入聯絡人資訊。如下圖

按「6」鍵讀取檔案中已有的聯絡人資訊到程式中

按「7」鍵清空檔案中聯絡人資訊

按「0」鍵退出程式

5 程式源**

#include

#include

void shuru();

void chazhao();

void shanchu();

void chakan();

void xiugai();

void duru();

void qingkong();

struct tongxun

ren[100];

int number=0;

void main()

}while(n!='0');

fp1=fopen("d://條數.txt","w+");

fprintf(fp1,"%d",number);

fclose(fp1);

}void shuru輸入*/

{ int n,a,i,k=1,b;

file *fp;

fp=fopen("d://通訊錄.txt","a+");

printf("確認輸入新的聯絡人請按「1」,否則請按「0」:");

scanf("%d",&n);

while(n==1)

{do{printf("請輸入聯絡人姓名:");

scanf("%s",ren[number].name);

b=0;k=0;

for(i=0;iif(strcmp(ren[i].name,ren[number].name)==0)

k=1;

printf("%s\t",ren[i].name);

printf("%s\t",ren[i].add);

通訊錄管理系統課程設計報告書C語言

大學 開放教育 課程設計報告書 課程名稱 通訊錄管理系統 班級 11075611 學號 1108 姓名指導老師 通訊錄管理系統 一 需求分析 設計題目及要求 建立通訊錄資訊,資訊至少包含編號 姓名 年齡 通訊位址 電子郵箱等 能夠提供新增 刪除和修改通訊錄資訊的功能 能夠提供安不同方式查詢的功能 如...

通訊錄管理系統課程設計報告書C語言

學生通訊錄管理系統 任務說明 主要利用c語言的檔案操作能力設計開發乙個小型的通訊錄管 理系統,至少具有如下功能 記錄通訊錄內的人員的學號 姓名 學院 號碼。顯示所有人員的資訊。通過輸入姓名查詢人員資訊。通過輸入姓名查詢到要刪除的人員資訊,然後可以進行刪除。通過輸入姓名查詢到要修改的人員資訊,然後可以...

通訊錄管理系統課程設計報告書C語言

課程設計報告書 課程名稱 c語言課程設計 班級學號 姓名指導老師 設計時間 通訊錄課程設計 一 設計要求和目的 二 概要設計 系統功能模組圖 新增 可以新增通訊錄記錄,依次輸入編號 姓名 年齡 號碼 通訊位址 電子郵箱後,會提示是否繼續新增。顯示 可以以 形式輸出所有通訊錄裡的記錄 刪除 輸入欲刪除...