内容发布更新时间 : 2025/11/1 6:45:56星期一 下面是文章的全部内容请认真阅读。
void main() {
void menu(); menu(); }
void menu() {
int n, w1;
void enter(); void add(); void modify(); void browse(); void deleter(); do {
puts(\菜单************************ \ puts(\新建联系人*******************\ puts(\添加联系人*******************\ puts(\修 改*******************\ puts(\删 除*******************\ puts(\浏 览*******************\ puts(\查 找*******************\ puts(\退 出*******************\ puts(\通讯录********************* \ printf(\请选择服务种类(1-7) : [ ]\\b\\b\ scanf(\ if(n<1||n>7)
{w1=1;getchar();} else w1=0;
}while(w1==1); switch(n) {
case 1: enter(); break; case 2: add(); break; case 3: modify(); break; case 4: deleter(); break; case 5: browse(); break; case 6: search(); break; case 7: exit(0); } }
void enter()
void search();
{ int i,n;
printf(\ scanf(\
  printf(\请输入数据:\\n\  for(i=0;i   {printf(\输入第 %d个记录.\\n\   input(i);   }    if(i!=0) save(n);   printf_back(); }   void add() { int i,n,k,t;      n=load();    printf(\  scanf(\    k=n+t;   for(i=n;i   { printf(\输入第 %d个记录.\\n\ input(i);}   save(k);  printf_back(); }   void modify()  { struct people s;  int i,n,k,w0=1,w1,w2=0;    n=load();   do    { k=-1;  printf_face();  printf_n(n);     do      { printf(\      scanf(\      for(i=0;i       if(strcmp(s.name,peop[i].name)==0) {k=i; s=peop[i];}       if(k==-1) printf(\没有记录请重新输入!\    }while(k==-1);      printf_face();   printf_one(k);     w1=modify_data(k,n);      if(w1==1) {printf(\是否继续?\\n\\n\\t1).是 2).保存返回\\t[ ]\\b\\b\               scanf(\ w2=1;}     else      {w0=0;  if(w2==0) peop[k]=s;}     if((w0!=1)&&(w2==1))  save(n);   }while(w0==1);    menu(); }     void browse() { int n;    n=load();    printf_face();   printf_n(n);   printf(\共有 %d 记录.\\n\  printf(\  getchar();   menu(); }   void search()  { int w0,k,i,n,w1,w2; struct people s;  n=load();   do    {printf(\请选择查找类别:  1).姓名  2).电话号码   [ ]\\b\\b\   scanf(\输入错误!请重新输入!\\n\  }while(w2==1);   if(w1==1)   {do     { k=-1;    do       { printf(\      scanf(\      for(i=0;i       if(strcmp(s.name,peop[i].name)==0) {k=i; s=peop[i];}       if(k==-1) printf(\没有记录请重新输入!\     }while(k==-1);   printf_face();  printf_one(k);       printf(\继续   2).返回菜单   [ ]\\b\\b\     scanf(\   }while(w0==1);   menu();  }  else  { do     { k=-1;    do       { printf(\      scanf(\      for(i=0;i       if(strcmp(s.num,peop[i].num)==0) {k=i; s=peop[i];}       if(k==-1) printf(\没有记录请重新输入!\     }while(k==-1);   printf_face();  printf_one(k);       printf(\继续   2).返回菜单   [ ]\\b\\b\        scanf(\   }while(w0==1);   menu();  } }   void deleter()  {struct people s;  int i,n,k,w0,w1;    n=load();   do   { k=-1;  printf_face();  printf_n(n);     do      { printf(\      scanf(\      for(i=0;i       if(strcmp(s.name,peop[i].name)==0) {k=i; s=peop[i];}       if(k==-1) printf(\没有记录请重新输入!\    }while(k==-1);    printf_face();  printf_one(k);    printf(\确定?\\n\\t1).是   2).返回  [ ]\\b\\b\  scanf(\     if(w0==1) {peop[k].name[0]='\\0'; save(n);}  else break;   printf(\   printf(\继续   2).返回  [ ]\\b\\b\  scanf(\ }while(w1==1);  menu(); }     【设计体会】    通过为期一周的课程设计,我们对《C语言》这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们信息与计算科学专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。  运用《C语言》中的算法思想作数据结构,结合C语言基本知识,编写一个通讯录管理系统。通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用等。    【参考文献】  朱若愚.数据结构[M]. 北京: 电子工业出版社, 2006.1:41-65 晋良颍.数据结构[M]. 北京:人民邮电出版社, 2007.05: 21-45 刘大有.数据结构[M]. 北京: 高等教育出版社, 2006.3: 30-58 赵文静. 数据结构与算法[M]. 北京: 科学出版社, 2007.8: 41-64  徐孝凯.数据结构简明教程.[M]. 北京: 清华大学出版社, 2006.04: 102-115 严蔚敏,吴伟民.数据结构(C语言版)[M]. 北京:清华大学出版社, 2007.4: 39-43  傅清祥,王晓东. 数据结构与算法设计[M]. 北京: 电子工业出版社, 2006.3: 31-46  王敬华,林萍,.陈静. C语言程序设计[M]. 北京: 清华大学出版社, 2007.10: 22-39  李云清,杨庆红,揭安全.数据结构(C语言版)[M]. 北京:人民邮电出版社,2006.1: 44-67   [10]李春葆. 数据结构(C语言版)习题与解析[M].北京:清华大学出版社, 2006.1: 47-55