C語言模擬通訊錄(大一C語言期末大作業)

2021-09-29 12:28:03 字數 2187 閱讀 4170

大一第乙個學期,我們初學c語言,臨近寒假,老師給我們布置了期末大作業,分為a類和b類,a類是最高分為100分,b類是最高分為70分,我選擇了b類題裡的模擬簡易通訊錄。下面是詳細,技術不精,還請各位大佬指點。

題目要求建立乙個通訊錄,通訊錄的結構記錄包括:姓名、生日(年月日)、**號碼,程式需要實現下列功能:(1)按姓名查詢某人的資訊並輸出查詢結果;(2)修改某人的**號碼;(3)按年齡從大到小排序;(4)輸出通訊錄中的所有資訊。同時程式需要有良好的互動提示和清晰的顯示介面。

/*功能二:修改*/

printf()

;scanf

("%s"

,namey)

;printf()

;scanf

("%s"

,phonex)

;for

(i=0

;ibreak

;case3:

/*功能三:排序*/

for(i=

0;i1;i++

)else

if(persons[j]

.birth.year==persons[index]

.birth.year&&persons[j]

.birth.month

.birth.month)

else

if(persons[j]

.birth.year==persons[index]

.birth.year&&persons[j]

.birth.month==persons[index]

.birth.month&&persons[j]

.birth.day

.birth.day)

} temp=persons[index]

; persons[index]

=persons[i]

; persons[i]

=temp;

}for

(i=0

;i)break

;case4:

/*功能四:輸出*/

for(i=

0;i)break

;default

:printf

("\n");

printf

("\n");

printf

("\n");

printf

("您好!您所輸入的數字在程式中沒有與之對應的功能。\n");

printf

("\n");

printf

("\n");

printf

("\n");

break;}

}printf

("\n");

printf

("\n");

printf

("\n");

printf()

;return0;

}編寫程式時第乙個問題是如何將每個功能分開調出使用,翻看課本後我決定採用switch語句,將每個功能程式段嵌入switch語句中,依靠輸入的數字進行功能選擇。

第二個問題是**號碼的輸出,我採用了scanf語句輸入**號碼,用puts()輸出**號碼,從而保證十一位號碼的正常輸出。

第三個問題是互動提示的優化,提示語採用中文,在輸出語句的前面輸出空格,便於檢視輸出結果。

收穫:得知寫程式,除錯程式的不簡單,獲得克服困難的喜悅,在看到自己親手編寫的程式執行出來滿意的結果時,很有成就感。

體會:雖然這次實踐題我選的不是100分的b類題,但我明白自己的能力適合做a類題。通過這次實踐任務,我明白了幸福是靠自己奮鬥出來的,寫完程式的快樂只有自己知道。

優點:可以供使用者自由選擇通訊錄功能,有良好的互動提示和輸出介面。

缺點:輸入姓名錯誤時沒有錯誤提示,直接跳出迴圈。

通訊錄(C語言)

include include include define m 1000 結構體變數的大小 void insert 增加聯絡人資訊 int delet 刪除聯絡人資訊 void find 查詢指定聯絡人資訊 void change 修改聯絡人資訊 void show 顯示所有聯絡人資訊 void ...

C語言通訊錄

include include include typedef struct atnn 定義結構體 attn void menu 選單 void print attn attn at,int sz 顯示所有聯絡人資訊 void add attn attn at,int sz 新增聯絡人資訊 if s...

通訊錄(C語言)

通訊錄是學完結構體之後檢驗自己掌握知識是否牢固的關鍵 分為三個部分,list.h,list.cpp 和 test.cpp,寫這個通訊錄花了我一上午的時間,已經有了雛形,不過沒有滿足動態開闢空間的要求,也沒有使用檔案格式,所以過幾天我還會寫乙個高階版的。list.cpp include list.h ...