#include <stdio.h>
/* 年月日*/
struct Year
{
char year[20];
char yue[10];
char day[10];
};
/* 记录页*/
struct Page
{
char name[60];
char email[100];
char add[100];
char qq[60];
struct Year date;
};
/*添加用户*/
void setPage(Page* n);
/*显示一个用户*/
void showPage(Page* n);
/*显示通讯录*/
void showAll(Page* n, int count);
int main()
{
int count = 0;
int b;
Page user[20] = {};
do{
/*操作输入*/
printf("输入操作 1-添加,2-通讯录,3-编号查询\n");
scanf("%d", &b);
switch (b)
{
case 1:
printf("添加通讯录....#%d号\n",count);
if (count == 20)
{
printf("通讯录已满,请尝试其他操作!\n");
continue;
}
/*添加操作*/
setPage(&user[count]);
count = count + 1;
continue;
case 2:
printf("查看通讯录列表.....\n");
showAll(user, count);
continue;
case 3:
printf("查询用户.....\n");
/*空表检测*/
if (count == 0) {
printf("列表中没有用户,请尝试添加后再次查询!\n\n");
continue;
}
else{
printf("请输入你需要查询的用户编号[0~9]:");
int c; scanf("%d", &c);
if (c >= count) {
printf("无此编号的用户!\n\n");
continue;
}
/*显示指定编号用户*/
showPage(&user[c]);
continue;
}
default:
printf("感谢使用!\n");
return 0;
}
}while (1);
return 0;
}
void setPage(Page* n)
{
Year a;
printf("请输入用户姓名:"); scanf("%s", n->name);
printf(" 手机号:"); scanf("%s", n->add);
printf(" QQ号码:"); scanf("%s", n->qq);
printf(" 邮箱:"); scanf("%s", n->email);
printf("出生日期(年-月-日)\n");
printf(" 年:"); scanf("%s", a.year);
printf(" 月:"); scanf("%s", a.yue);
printf(" 日:"); scanf("%s", a.day);
printf("\n");
n->date = a;
}
void showPage(Page* n)
{
if (n == 0) { return; }
printf("用户姓名:%s\n", n->name);
printf("手机号: %s\n", n->add);
printf("QQ号码: %s\n", n->qq);
printf("电子邮箱:%s\n", n->email);
printf("出生日期:%s-%s-%s\n\n", n->date.year, n->date.yue, n->date.day);
}
void showAll(Page* n, int count)
{
if (count == 0) {
printf("当前列表中没有任何用户,请尝试添加后再次查询!\n");
return;
}
for (int i = 0; i < count; showPage(n + i), ++i);
}