#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~通讯录
最新推荐文章于 2024-10-22 12:19:27 发布