#include <stdio.h>
#include <string.h>
#define NAME_LEN 20
#define MAX_COUNT 200
#pragma mark 函數聲明
void showUi();
void addContact();
void showList();
void whiteToFile();
void deleteContact();
void changeContact();
void searchContact();
#pragma mark 全局列表
typedef struct{
char name[NAME_LEN];
int phone;
}person;
int realCount = 0;//實際人數
person Countact[MAX_COUNT];//聯繫人結構體數組
#pragma mark 控制器
int main(int argc, const char * argv[]) {
while (1) {
showUi();
FILE *fp = fopen("contect.data", "r");
if (fp) {
fread(&realCount, sizeof(int), 1, fp);
fread(Countact, sizeof(person), realCount, fp);
fclose(fp);
}
int choose;
scanf("%d",&choose);
switch (choose) {
case 1:
addContact();
break;
case 2:
deleteContact();
break;
case 3:
changeContact();
break;
case 4:
showList();
break;
case 5:
searchContact();
break;
case 6:
printf("請確定是否退出,退出請按y,按任意鍵返回\n");
char q;
scanf("%s",&q);
if (q == 'y') {
return 0;
}else{
break;
}
default:{
char temp;
scanf("%c",&temp);
printf("非法輸入,請重新輸入\n");
break;
}
}
}
return 0;
}
#pragma mark 界面繪製
void showUi(){
printf("**************************\n");
printf("****** 歡迎使用通訊錄 ******\n");
printf("****** 1、添加聯繫人 ******\n");
printf("****** 2、刪除聯繫人 ******\n");
printf("****** 3、修改聯繫人 ******\n");
printf("****** 4、查看所有聯繫人 ****\n");
printf("****** 5、搜索聯繫人 ******\n");
printf("****** 6、退出系統 ******\n");
printf("**************************\n\n");
printf("請輸入您要進行的操作(請輸入序號)\n");
}
#pragma mark 添加聯繫人
void addContact(){
person p;
printf("請輸入聯繫人姓名\n");
scanf("%s",p.name);
printf("請輸入聯繫人電話\n");
scanf("%d",&p.phone);
Countact[realCount] = p;
realCount++;
whiteToFile();
printf("添加成功\n");
}
#pragma mark 查看所有聯繫人
void showList(){
if (realCount <= 0) {
printf("你的通訊錄還沒有聯繫人\n");
}else{
for (int i=0; i<realCount; i++) {
printf("%d:
C語言:day12~通訊錄
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.