Day12 實戰(單項鍊表迴圈 通訊錄)

2021-07-09 09:40:54 字數 2418 閱讀 7592

#include

#include

#include

#define data_base "phonenumber.txt"

typedefstructphonenum;

phonenum nums[1024];

int user_num=0;

void adduser();

void deluser();

void printuser();

void updateuser();

void searchuser();

int main(int argc, const

char * argv)

printf("***************\n");

int temp=0;

printf("

已開啟檔案

\n");

printf("*************************\n");

printf("***** 1.新增聯絡人   ******\n");

printf("***** 2.刪除聯絡人   ******\n");

printf("***** 3.修改聯絡人   ******\n");

printf("***** 4.檢視所有聯絡人 *****\n");

printf("***** 5.搜尋聯絡人   ******\n");

printf("***** 6.退出系統   ********\n");

printf("*************************\n");

scanf("%d",&temp);

switch (temp)

}else

fclose(p);

}return 0;

}void adduser()

file *b=fopen(data_base, "w");

nums[user_num].id=user_num+1;

strcpy(nums[user_num].name, name);

strcpy(nums[user_num].phonenumber, phone);

user_num++;

fwrite(&user_num, sizeof(int), 1, b);

for (int i=0; ifwrite(&nums[i], sizeof(phonenum), 1, b);

}printf("

新增成功

\n");

fclose(b);}}

else

fclose(p);

}void deluser()

printf("

id\n");

scanf("%d",&temp);

printf("確定要刪除%d號聯絡人嗎?0.取消 1.確定\n",temp);

scanf("%d",&yes);

if(1==yes)

user_num--;

fwrite(&user_num, sizeof(int), 1, b);

for (int i=0; ifwrite(&nums[i], sizeof(phonenum), 1, b);

}printf("

刪除成功!

\n");

}else

}else

fclose(b);

}void updateuser()

printf("

請輸入要修改的

id\n");

int temp=0;

scanf("%d",&temp);

printf("請輸入新的姓名以及新的**

以空格隔開\n");

char name[20];

char phonenumber[20];

scanf("%s %s",name,phonenumber);

printf("

確定要修改

%d號聯絡人嗎?

0.取消

1.確定

\n",temp);

int yes=0;

scanf("%d",&yes);

if (1==yes)

else

}else

fclose(p);

}void printuser()}}

void searchuser()

printf("

請輸入要查詢的使用者姓名

\n");

char name[20];

scanf("%s",name);

int i=0;

for (; iif (strcmp(nums[i].name, name)==0)

}if (i==user_num)

}else

fclose(p);

}

帶表頭的迴圈單項鍊表

include include struct node 定義結點的結構體 typedef struct node node 將struct node簡單定義為node typedef struct node link 將stcuct node型別定義為 link void insert node h...

一一計畫(Day 1)(1)單項鍊表

陣列的位址是連續的,優點為讀取資料快,缺點為插入去刪除慢 鍊錶的位址是不連續的,優點為插入和刪除資料快,讀取資料慢。因為鍊錶的位址不是連續的,所以我們需要知道鍊錶的首位址,根據首位址跳到下乙個位址,以此類推。好比與找寶藏,根據第一條線索,來到第二個地點,開啟寶藏找到第二個線索,在根據第二個線索找到第...

day12 猜年齡(跳出多重迴圈)

小明帶兩個妹妹參加元宵燈會。別人問她們多大了,她們調皮地說 我們倆的年齡之積是年齡之和的6倍 小明又補充說 她們可不是雙胞胎,年齡差肯定也不超過8歲啊。請你寫出 小明的較小的妹妹的年齡。1 自定義異常 raise 2 自定義函式 return 3 使用帶else字句的迴圈結構 young 1whil...