C語言(window)通訊錄程式

2021-08-07 16:43:27 字數 4495 閱讀 5106

#include

#include

#include

#define t 1

#define f 0

typedef struct message type2;

typedef struct node type;

struct message

;struct node//雙向迴圈鍊錶

;int shuru(type2 **p)//輸入函式

if (q -> number[i] == '\n')

}printf("請輸入要存公司號:\n");

for (i = 0; i < 20; ++i)

}printf("請輸入要存座機號:\n");

for (i = 0; i < 20; ++i)

}return 1;

}void fprint0(type *p)//輸入到檔案

fclose(fp);

}int inint(type **p)//鍊錶初始化

*p=newnode;

newnode->up=newnode;

newnode->next=newnode;

return t;

}int index_head(type *p, type2 *somebody)//鍊錶的頭插

(newnode->somebody)=somebody;

newnode->next=p->next;

p->next=newnode;

newnode->up=p;

newnode->next->up=newnode;

return t;

}void fscanf0(type *p)

;file *fp = fopen("e:\\1.txt","r+");

if (fp == null)

fscanf(fp,"%s\t%s\t%s\t%s\t%s",buffer[0],buffer[1],buffer[2],buffer[3],buffer[4]);

memset(buffer,0,5120);

while(1)

index_head(p,somebody);

somebody = null;

}fclose(fp);

}void print2(type2 *p)//輸出函式2

void print1(type *p)//輸出函式1

}int delete_local(type *p,int local)//按位置刪除

temp=p->next;

p->next = temp->next;

free(temp);

return t;

}int delete_value(type *p)//按照名字值刪除

;int i=0;

type *q=p;

printf("請輸入刪除的姓名\n");

scanf("%s",a);

while(q!=p->next)

else

}return t;

}int delete_order(type *p)//按照編號刪除

else

}return t;

}int delete_number(type *p)//按照手機刪除

;int i=0;

type *q=p;

printf("請輸入刪除的手機號\n");

scanf("%s",a);

while(q!=p->next)

else

}return t;

}int find_name(type *p)//按照姓名查詢

;int i=0;

type *q = p;

printf("請輸入要撥打的姓名:\n");

scanf("%s",a);

while(a[i]!='\0')

while(p->next != q)

p=p->next;

}return 1;

}int find_order(type *p)//按照編號查詢

p=p->next;

}return 1;

}int find_number(type *p)//按照號碼查詢

;type *q = p;

printf("請輸入要查詢的號碼:\n");

scanf("%s",a);

while(a[i]!='\0')

getchar();

while(p->next != q)

p=p->next;

}return 1;

}void paixu(type *p)//按照姓名的插入排序

else

p = p -> up;

}p -> next -> somebody = temp;

}t_1 = t_1 -> next ;

p = t_1;}}

void paixu_order(type *p)//按照編號的插入排序

else

p = p -> up;

}p -> next -> somebody = temp;

}t_1 = t_1 -> next ;

p = t_1;}}

int length(type *p)//測試鍊錶長度,沒有什麼用

return i;

}void update_name(type *p)//按照姓名更新

;int m ;

int i=0;

type *q = p;

printf("請輸入要更新的姓名:\n");

scanf("%s",a);

while(a[i]!='\0')

while(p->next != q)

p=p->next;}}

int pivotkey1(type2 arr,int low,int high)

arr[low].order = pivot;

arr[low] = temp;

return low;

}void quicksort(type2 arr,int low,int high)

}void quick(type *p)//快速排序

len = i;

quicksort(a,0,len-1);//對陣列進行快速排序

printf("序號\t姓名 \t手機號\t\t公司號碼\t家庭號碼\n");

for(i = 0;i < len;i++)

printf("\n");

}void heapadjust(type2 arr,int n,int m)

arr[n].order = temp;

arr[n] = temp_1;

}void heap(type2 arr,int len)

for(i = len-1;i >= 0;i--)

}void stack(type *p)//堆排序陣列化

len = i;

heap(a,len);//呼叫堆排序函式

printf("序號\t姓名 \t手機號\t\t公司號碼\t家庭號碼\n");

for(i = 0;i < len;i++)

printf("\n");

}int main()

;char b[4]=;

type2 *somebody;

//inint(&head);

inint(&q);

//fscanf0(q);

do     index_head(q,somebody);

break;

case 2:

printf("請輸入刪除的屬性編號\n");

printf("1、編號  2、姓名  3、手機號\n");

scanf("%d",&m);

switch(m)

break;

case 3:

printf("請輸入查詢的屬性編號\n");

printf("1、編號  2、姓名  3、手機號\n");

scanf("%d",&m);

switch(m)

break;

case 4:

paixu(q);

break;

case 5:

print1(q);

break;

case 6:

quick(q);

break;

case 7:

update_name(q);

break;

case 8:

stack(q);

break;

case 9:

j++;

break;

default:printf("error\n");

break;

}if (j!=0)

getchar();

}while(1);

fprint0(q);

return 0;

}

C語言通訊錄小程式

include include define max person info size 300 實現乙個通訊錄程式,完成聯絡人資訊的儲存 1 新增 2 刪除 3 修改記錄 4 查詢記錄 5 列印全部記錄 6 排序記錄 7 清空全部記錄 管理 1 把基本資訊抽象並描述出來 結構體 2 需要管理很多資料...

通訊錄(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...