通訊錄的完成

2021-08-20 06:41:58 字數 2015 閱讀 9512

通訊錄是每乙個c語言的學習者,在學到資料結構課程後應該實現的程式,用到的知識c語言和資料結構都有涉及,比如:陣列,函式,指標,鍊錶,結構體,字元庫函式等等。

先看**:

#include#include#include#includestruct s

;void mune()

void dayin(struct s *s)//列印通訊錄中所有聯絡人

}void tianjia(struct s **ph)//新增聯絡人

else

cur->next = p; }}

void chazhao(struct s *ph)//查詢聯絡人

cur = cur->next;

} if (cur == null) }

void shanchu(struct s **ph)//刪除聯絡人

p = cur;

cur = cur->next;

} if (p == null)

else

free(cur); }}

void paixu(struct s *ph)//對聯絡人的年齡進行排序

p = p->next;

} cur = cur->next;

} printf("從小到大的排序已經完成\n");

dayin(ph);

}void qingkong(struct s **ph)//清空通訊錄

*ph = cur;

printf("已經清空\n");

}void xianshi(struct s *ph)//顯示通訊錄的中聯絡人

}void xiugai(struct s **ph)//對聯絡人的**進行修改

p = cur;

cur = cur->next;

} if (p == null)

else }

int main()

} while (input);

system("pause");

return 0;

}

既然是通訊錄,第一步自然就是新增聯絡人!

聯絡人的新增就是在某一塊記憶體中,拿到乙個結構體大小的空間,用來存放它,所以首先就是建立乙個指標指向這個空間,然後通過以後的步驟對這個空間進行修改。如果新增兩個或者兩個以上的聯絡人,我們需要用鍊錶將多個空間聯絡在一起。

以四個聯絡人為例:

新增完成後,接下來就是查詢,查詢的核心為當然是找,所以就會用到strcmp的字元庫函式。

第三步:刪除

第四步:排序

排序和氣泡排序的基本思想一樣,建立兩個指標後,相互比較,根據條件,交換位置。但是交換的不僅僅只有年齡,應該交換名字,性別,年齡,**。

第五步:顯示

顯示就是在儲存聯絡人的那個空間裡,按順序找,直到第四個聯絡人指向null,列印每乙個聯絡人的名字。

第六步:清空

第七部:修改

修改的核心來自於第三步刪除中的尋找,找到後才能修改。

執行:

單鏈表通訊錄 通訊錄2 0

單鏈表通訊錄 通訊錄2.0 標頭檔案 ifndef address h define address h include include include define success 10000 define failure 10001 define true 10002 define false ...

通訊錄問題

include using namespace std include include typedef struct lnodelnode,linklist 通訊錄的建立 void createlist l linklist l,int n createlist l 通訊者結點的插入 void li...

靜態通訊錄

這個通訊錄存粹用到c的知識就可以,主要就是乙個聯絡人資訊結構體,再就是乙個結構體陣列,對結構體陣列反覆操作 進行增 刪 查 改 排序 由於是初學者還不能對中文名進行排序 清空寫等功能。在這裡我們可以盡量寫的正式一點 所以我們用contact.h頭檔案建立結構體和對函式進行宣告 conteact.c中...