毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C语言通讯录管理系统设计 第2页

更新时间:2010-1-29:  来源:毕业论文
C语言通讯录管理系统设计 第2页
图1 功能模块图


2.2.2 模块设计与介绍
对本系统的功能进行分析后可作如下的模块化设计:
输入模块实现功能:按顺序将有姓名(name )、街道(street)、城市(city)、邮编(eip)、国家(state)依次输入,并建立链表将其连接。当输入数据完毕时ESC或Enter,输入结束。
删除模块实现功能:在已经存储的文件中删除指定的通信录信息,并释放内存空间。删除所有相关通信录信息。
查找模块实现功能:在已经存储的文件中查找指定的通信录信息。可以按照查找货品姓名方法进行。
输出模块实现功能:在输入特定的文件名之后,输出该文件中所包含的全部通信录信息。
保存模块实现功能:进行上述操作后,都要进行保存操作,链表中的信息以文件形式被长期。保存。
载入模块实现功能:将磁盘上的数据文件载入链表。
主序模块实现功能:完成系统的界面处理,包括开始界面和主菜单界面2.3 算法设计
2.3.1  Add( )增加模块
输入模块,其实就是一个建立链表的操作模块。
建立链表的具体操作就是逐一输入各结点数据,并建立其前后相链的关系。图2 增加模块流程图
void add()
{
struct address *info;
for (;;){
  info=(struct address *)malloc(sizeof(list_entry));
  if (!info){
    printf("\nout of memory");
  return;
  }
  inputs("\nName:",info->name,15);
  if (!info->name[0]) break;
  inputs("Street:",info->street,15);
  inputs("City:",info->city,15);
  inputs("State:",info->state,15);
  inputs("Eip:",info->eip,15);
  start=dls_store(info,start);
  } 
2.3.2 Delet( )删除模块
    删除模块:删除链表节点,通过此节点指针的上一个节点找到此节点next指针,删除节点指针p和后续节点指针p->next,后把next指向p->next。在释放p指针。要完成的是链表的删除操作,只需修改链表中要删除结点的前一个结点的链指针。使之指向被删除结点的后面一个结点即可。
delete()
{
struct address *info;
char s[80];
printf("\nInput name(delete):");
gets(s);
info=find(s);
if (info) {
  if (start==info){
    start=info->next;
    if (start)
      start->prior=NULL;
    else
      last=NULL;
    }
  else{
    info->prior->next=info->next;
    if(info!=last)
      info->prior->next=info->prior;
else
      last=info->prior;
    }
  free(info);
  }
}
struct address *find(char *name)
{
struct address *info;
info=start;
while(info){
  if(!strcmp(name,info->name)) return info;
  info=info->next;
  }
printf("Name not found\n");
return NULL;}

上一页  [1] [2] [3] [4] [5] [6] 下一页

C语言通讯录管理系统设计 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。