C語言 通訊錄管理系統(容量固定)

2021-07-27 23:56:02 字數 2899 閱讀 8658

話不多說,直接上**。

tongxunlu.h

#ifndef _tongxunlu_h_

#define _tongxunlu_h_

#define _crt_secure_no_warnings 1

#include

#include

#include

typedef struct tongxunlu

list;

void init(list * signal); //初始化通訊錄

void all_show(list *signal); //顯示所有聯絡人資訊

void my_add(list *signal); //新增聯絡人

void my_delete(list *data,list *signal); //刪除聯絡人資訊

list * my_reserch(list *signal); //查詢聯絡人資訊

void my_remove(list *signal); //修改聯絡人資訊

void name_sort(list *signal); //聯絡人按照姓名排序

void clear_all(list *signal); //清空所有聯絡人

#endif

tongxunlu.c

#include "tongxunlu.h"

static

int tag =0; //靜態全域性變數tag,用來記錄當前通訊錄中的個數

void my_add(list *signal) //新增聯絡人

else

}list * my_reserch(list *signal) //查詢聯絡人資訊

; scanf("%s",str);

while(count<10)

signal++;

count++;

}return null;

}void my_delete(list *data,list *signal) //刪除聯絡人資訊

memset(data,0,sizeof(list));

tag--;

}void my_remove(list *signal) //修改聯絡人資訊

break;

case

2:

break;

case

3:

break;

case

4:

break;

case

5:

break;

default: printf("error!!please try again.\n"); break;

}}void all_show(list *signal) //顯示所有聯絡人資訊

}void clear_all(list *signal) //清空通訊錄,相當於初始化

}static

void swap(list * x,list * y)

void name_sort(list *signal) //聯絡人按照姓名排序

buf++;}}

for(k=0;k10-tag);//排好序後,中間不要有空白,分別移動到對應的位置

signal++;

}memset(signal,0,(10-tag)*sizeof(list));//移動後,將當前還能新增的10-tag個聯絡人記憶體空間置0

}

test.c

#include"tongxunlu.h"

void menu()

void son_menu()

void gongneng()

while(m);

break;

case

2:

doelse

printf("是否繼續刪除?是(1),否(0)\n");

scanf("%d",&m);

}while(m);

break;

case

3:

ret = my_reserch(person);

if(ret!= null)

else

break;

case

4:

doelse

printf("是否繼續修改?是(1),否(0)\n");

scanf("%d",&m);

}while(m);

break;

case

5: all_show(person); break;

case

6: clear_all(person); printf("清空聯絡人成功~~\n"); break;

case

7: name_sort(person); printf("排序成功~~\n"); break;

default: printf("enter error,please try again\n"); break;

}printf("是否回到功能頁?(1),否(0)\n");

scanf("%d",&q);

}while(q);

}int main()

}return

0;}

C語言 通訊錄管理系統(容量可變)

在實現容量可變的通訊錄之前,我們得想弄清楚一下幾個函式。malloc函式 函式原型 extern void malloc unsigned int num bytes 功能 分配長度為num bytes位元組的記憶體塊 返回值 返回值型別是void 所以我們可以把分配好的空間強制型別轉化成你要使用的...

C語言 電子通訊錄管理系統

include include define false 0 define true 1 typedef struct node data nodedata typedef struct node node void menu node s 新增好友 void newfriend node s tm...

C 通訊錄管理系統

總結一下自己的查漏補缺 1 while裡面利用乙個return 0 可以終止無限迴圈 2 主函式裡面的函式呼叫自定義函式傳入的引數用 取出位址,但是定義函式的時候利用 去接收 傳過來的位址。我之前一直弄錯。3 此類裡面利用結構體巢狀。通訊錄有很多人,每個人有名字,年齡等 因此首先定義乙個結構體儲存個...