C語言 動態版本的通訊錄

2021-09-25 03:02:56 字數 2229 閱讀 6270

contact.h

#ifndef __contact__h

#define __contact__h

#include #include #include #include #include //檢測記憶體洩漏

#pragma warning (disable:4996)

#define max_name 10

#define max_*** 5 //可能是中文可能是英文

#define max_tele 12

#define max_addr 30

#define default_size 2 //預設大小為2

enum oper

;typedef struct person

person; //個人資訊

typedef struct contact

contact;//通訊錄

void initial(contact *p);//形參需要乙個結構體指標來接收

void addcontact(contact *p);

int searcontact(contact *p);

void showcontact(contact *p);

void delcontact(contact *p);

void clearcontact(contact *p);

void destroycontact(contact *p);

#endif

test.c

#include "contact.h"

void menu()

int main()

} while (input);

return 0;

}

contact.c

#include "contact.h"

void initial(contact *p)

//返回值代表擴容是否成功

static int checkfullandre(contact *p) //1 成功 0 失敗

else

}return 1;//表示不需要擴容,可繼續

}void addcontact(contact *p)

*/ if (checkfullandre(p)!=1)

printf("請輸入姓名:");

scanf("%s", p->per[p->count].name);//通訊錄所指向的第幾個人的name屬性

printf("請輸入年齡:");

scanf("%d", &(p->per[p->count].age));

printf("請輸入性別:");

scanf("%s", p->per[p->count].***);

scanf("%s", p->per[p->count].tele);

printf("請輸入住址:");

scanf("%s", p->per[p->count].addr);

printf("新增成功!\n");

p->count++;

}int searcontact(contact *p)

printf("請輸入要查詢的姓名:");

scanf("%s", name);

for (; i < p->count; i++)

} printf("沒有這個人!\n");

return -1;

}int searcontact1(contact *p)

; if (p->count == 0)

printf("請輸入要刪除的姓名:");

scanf("%s", name);

for (; i < p->count; i++) }

return -1;

}void showcontact(contact *p)

}void delcontact(contact *p)

for (i = ret; i < p->count-1; i++) //最多只能走到倒數第二個數!!!!即長度為5(count),i不能等於4(count-1)

p->count--;

printf("刪除成功!\n");

}void clearcontact(contact *p)

void destroycontact(contact *p)

```

動態版本通訊錄

1.contact.h pragma once ifndef contact h define contact h include include pragma warning disable 4996 define max name 10 define max 5 define max tele ...

通訊錄動態開闢版本

contact.h include include include ifndef cntact h define cntact h define name max 20 define max 4 define tel max 12 define addr max 50 define default ...

通訊錄(C語言)

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