⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addrbook.c

📁 本系统是通讯录管理程序系统
💻 C
字号:
struct member
{
char name[15];
char major[25];
char unit[20];
char addr[30];
char office[15];
char home[15];
char mobile[15];
char Email[50];
}mem[100];

#include <stdio.h>
#include <string.h>
#define OUT "%s%s%s%s%s%s%s%s"

printstar()
{
printf("***************************************************************\n");
}

void save()
{
int i;
FILE *fp;
if((fp=fopen("mem_list","ab"))==NULL)
 {
 printf("无法打开文件!\n");
 return;
 }
fseek(fp,0L,2);
for(i=0;i<100;i++)
 if(fwrite(&mem[i],sizeof(struct member),1,fp)!=1)
 printf("文件写入错误!\n");
fclose(fp);
}

void inputfun()
{
int i,num;
printf("请输入你本次操作要录入的成员人数!\n");
scanf("%d",&num);
printf("请输入成员的姓名,专业,单位,地址,办公电话,家庭电话,手机和电子邮件,用空格隔开!\n\n");
for(i=0;i<num;i++)
 {
 scanf(OUT,mem[i].name,mem[i].major,mem[i].unit,mem[i].addr,mem[i].office,mem[i].home,mem[i].mobile,mem[i].Email);
 }
save();
}

void changefun()
{
int i,mark;
char name1[15];
FILE *fp;
fp=fopen("mem_list","rb");
for(i=0;i<100;i++)
 fread(&mem[i],sizeof(struct member),1,fp);
fclose(fp);
loop: printf("请输入你想修改的成员的姓名:\n");
      scanf("%s",name1);
      for(i=0;i<100;i++)
       {
       if(strcmp(mem[i].name,name1)==0)
	{
	printf("请输入成员的姓名,专业,单位,地址,办公电话,家庭电话,手机和电子邮件,用空格隔开!\n\n");
	scanf(OUT,mem[i].name,mem[i].major,mem[i].unit,mem[i].addr,mem[i].office,mem[i].home,mem[i].mobile,mem[i].Email);
	}
       }
      printf("你还想继续修改成员信息吗?\n");
      printf("          1 代表 是, 2 代表 否!\n");
      scanf("%d",&mark);
      if(mark==1)goto loop;
save();
}

void searchname()
{
int i;
char name1[15];
FILE *fp;
fp=fopen("mem_list","rb");
for(i=0;i<100;i++)
 fread(&mem[i],sizeof(struct member),1,fp);
fclose(fp);
printf("请输入你想查询的成员姓名:\n");
scanf("%s",name1);
printf("查询结果是:\n");
printf(" 姓名    专业    单位      地址        办公电话     家庭电话      手机           E-mail\n");
for(i=0;i<100;i++)
 {
 if(strcmp(mem[i].name,name1)==0)
 printf("%s  %s  %s  %s  %s  %s  %s  %s\n",mem[i].name,mem[i].major,mem[i].unit,mem[i].addr,mem[i].office,mem[i].home,mem[i].mobile,mem[i].Email);
 }
}

void searchmajor()
{
int i;
char major1[25];
FILE *fp;
fp=fopen("mem_list","rb");
for(i=0;i<100;i++)
 fread(&mem[i],sizeof(struct member),1,fp);
fclose(fp);
printf("请输入你想查询的成员专业:");
scanf("%s",major1);
printf("查询结果是:\n");
printf(" 姓名    专业    单位      地址        办公电话     家庭电话      手机           E-mail\n");
for(i=0;i<100;i++)
 {
 if(strcmp(mem[i].major,major1)==0)
 printf("%s  %s  %s  %s  %s  %s  %s  %s\n",mem[i].name,mem[i].major,mem[i].unit,mem[i].addr,mem[i].office,mem[i].home,mem[i].mobile,mem[i].Email);
 }
}

void printfun()
{
searchmajor();
}

main()
{
int i,mark;
label: printstar();
       printf("*     欢迎使用通讯录管理系统!                                *\n");
       printf("*                                                             *\n");
       printf("*     请选择你想要进行的操作:                                *\n");
       printf("*     1.  录入成员信息:                                      *\n");
       printf("*     2.  修改成员信息,并保存修改:                          *\n");
       printf("*     3.  按姓名查找成员信息:                                *\n");
       printf("*     4.  按专业查找成员信息:                                *\n");
       printf("*     5.  输入成员专业,打印其所有信息:                      *\n");
       printf("*     6.  退出程序                                            *\n");
       printf("*                                                             *\n");
       printf("*                               本系统由 刘治宇 设计制作      *\n");
	   printf("*                                              2004年4月      *\n");
       printstar();
  loop: scanf("%d",&i);
	switch(i)
	{
	case 1:inputfun();break;
	case 2:changefun();break;
	case 3:searchname();break;
	case 4:searchmajor();break;
	case 5:printfun();break;
	case 6:break;
	default :printf("输入代码错误!\n");goto loop;
	}
printf("\n");
printf("你想继续操作本系统吗?\n");
printf("         1 代表 是,2 代表 否!\n");
scanf("%d",&mark);
if(mark==1)goto label;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -