檔案操作 修改後的通訊錄

2021-08-05 21:40:15 字數 2657 閱讀 8203

學完檔案操作 修改通訊錄後的程式
主函式main.c檔案
#include #include"txu.h"

int main()

read_data(head);

while(1)

write_data(head); }

return 0;

}

".h"檔案
#ifndef __txu_h__

#define __txu_h__

#define false 0

#define true 1

typedef struct _friend

friend;

typedef struct _node

node;

// 建立鍊錶

node * create_list();

//顯示選單

void menu();

//新增好友

int add_friend(node *h);

//列表好友

int show_friend(node *h);

//查詢好友

int find_friend(node* h);

//刪除好友

int delete_friend(node* h);

int insert_last(node *h, friend friend);

int get_len(node * h);

void write_data(node *h);

void read_data(node *h);

#endif

函式檔案「.c"
#include"txu.h"

#include#include#includenode * create_list()//建立鍊錶

void menu()

void write_data(node *h) //資料寫入

node *temp=h->next;

int count=get_len(h);

fwrite(&count,sizeof(int),1,fp);

int i;

for(i=0;ifriend);

fwrite(&len,sizeof(int),1,fp);

fwrite(&(temp->friend),sizeof(friend),1,fp);

temp=temp->next;

} fclose(fp);

}int get_len(node * h)

return count;

}int insert_last(node *h, friend friend)

node->friend = friend;

node->next = null;

node* tmp = h;

while (tmp->next)

tmp->next = node;

return true;

}void read_data(node *h) //資料讀取

int count;

count=0;

fread(&count,sizeof(int),1,fp);

int i;

friend temp;

for(i=0;ifriend.id));

printf("請輸入name:");

scanf("%s",node->friend.name);

printf("請輸入numb:");

scanf("%s",node->friend.numb);

printf("請輸入address:");

scanf("%s",node->friend.address);

printf("請輸入cnumb:");

scanf("%s",node->friend.cnumb);

node->next=null;

//write_data(node);

node* tmp=h;

while (tmp->next)

tmp->next = node;

return true;

}int show_friend(node *h)

else

}if(i==0)

}node *tmp=h->next;

while(tmp!=null)

printf("\n");

return true;

}int find_friend(node* h)

tmp=tmp->next;

} return true;

}int delete_friend(node* h)

tmp=tmp->next;

} if(bn>1)

tmp=tmp->next;

}} else

tmp=tmp->next;

} }return true;

}

通訊錄 檔案儲存

本文是基於動態儲存的通訊錄實現中加以修改 動態儲存實現通訊錄 增加資料寫入檔案函式 將資料寫入檔案 void writefile mindan book for int i 0 i book size i fclose fp 增加載入檔案資料儲存 void loadfile mindan book ...

簡易通訊錄(檔案版)

第二個模組便是我們的測試函式,測試函式便可以實現我們的選單列印,同時由我們接收不同的值便可以實現不同的操作,就是相應的方法的實現,這裡很明顯可以通過乙個switch語句來進行控制。第三個模組便是我們的方法實現的函式,將模組2裡定義的型別為通訊錄的位址傳到各個方法裡,這樣便可以實現對通訊錄的操作。in...

通訊錄的實現

ifndef contacts h define contacts h define name length 20 define length 10 define tele length 11 define addr length 30 define max 1000 struct peoplein...