您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 数据结构通讯录程序代码
  所属分类: 其它
  开发工具:
  文件大小: 7kb
  下载次数: 0
  上传时间: 2010-07-12
  提 供 者: baofe*****
 详细说明: 数据结构课程设计 include "stdio.h" #include "ctype.h" #include "string.h" #include"stdlib.h" #include "malloc.h" struct list { char name[10]; char street[10]; char city[10]; char state[10]; char eip[10]; struct list *prior; struct list *next; }; void mainmenu(struct list * head); void read_file(struct list * head); void read_file(); void px_menu(struct list * head); void px_name(struct list * head); void px_street(struct list * head); void px_city(struct list * head); void px _state(struct list * head); void px_eip(struct list * head); void delete_menu(struct list * head); void delete_name(struct list * head); void search_menu(struct list * head); void search_name(struct list * head); void search_street(struct list * head); void search_city(struct list * head); void search_state(struct list * head); void search_eip(struct list * head); void add_new(struct list * head); void prin_list(struct list * head); void write_file(struct list * head); int flag=0; int flag1=0;//删除为空标志位 void main() { struct list *head; read_file(); mainmenu(head); return; } /**************************************************** 主菜单 ****************************************************/ void mainmenu(struct list * head) { char tmp; system("cls"); printf("输入要进行的操作:\n"); printf("\t '1'-----------------------添加记录\n"); printf("\t '2'-----------------------排序记录\n"); printf("\t '3'-----------------------显示记录\n"); printf("\t '4'-----------------------查找记录\n"); printf("\t '5'-----------------------删除记录\n"); printf("\t '6'---------------------------退出\n"); printf("\t '0'---------------------保存并退出\n"); printf("\n\t请选择:"); tmp=getchar(); switch(tmp) { case '1':add_new(head);break; case '2':px_menu(head);break; case '3':prin_list(head);break; case '4':search_menu(head);break; case '5':delete_menu(head);break; case '6':exit(0);break; case '0':write_file(head);break; default :{printf("错误操作返回主菜单");mainmenu(head);} } } /**************************************** 双链表建立以及文件读取 ****************************************/ //void read_file(struct list * head) void read_file() { int i; struct list *p1,*p2; struct list *head; FILE *fp; fp=fopen("list.txt","a"); fclose(fp); if ((fp = fopen ( "list.txt" , "rt" ) ) == NULL ) { printf("打开文件失败\n"); exit(0) ; } rewind(fp);//将文件指针重新指向流的开头 fseek(fp,0,2);//重定位流上的文件指针 if ((ftell(fp)==0))//返回当前文件指针 { printf("没有记录:\n"); head=p1=p2=(struct list *)malloc(sizeof(struct list)); head->name[10]='\0'; head->street[10]='\0'; head->city[10]='\0'; head->state[10]='\0'; head->eip[10]='\0'; head->next=head; head->prior=head; flag=1; } else { rewind(fp); head=p1=p2=(struct list *)malloc(sizeof(struct list)); head->next=head; head->prior=head; if(fread(p1,sizeof(struct list),1,fp)!=1)//从流中读数据 { p2->next=p1; p1->next=head; head->prior=p1; p1->prior=p2; p2=p1; } else { for (i=0;;i++) { p2->next=p1; p1->next=head; head->prior=p1; p1->prior=p2; p2=p1; if (feof ( fp ))//检测流上的文件结束符用 { p1->next=head; head->prior=p1; printf("记录读入完成\n"); break; } else { p1=(struct list *)malloc(sizeof(struct list)); p1->name[10]='\0'; p1->street[10]='\0'; p1->city[10]='\0'; p1->state[10]='\0'; p1->eip[10]='\0'; if(fread(p1,sizeof(struct list),1,fp)!=1) { break; } } } } } printf("记录读入完成\n"); fclose ( fp ) ; printf("按任意键进入主菜单\n"); getchar(); mainmenu(head); return; } /**************************************** 增添 ****************************************/ void add_new(struct list * head) { int k=0; int n; char tmp1,tmp2; struct list *p; struct list *p1,*p2; p1=(struct list *)malloc(sizeof(struct list)); p1->name[10]='\0'; p1->street[10]='\0'; p1->city[10]='\0'; p1->state[10]='\0'; p1->eip[10]='\0'; printf("请输入所要添加的名字:\n"); scanf("%s",p1->name); printf("请输入所要添加的街道:\n"); ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: 数据结构
 输入关键字,在本站1000多万海量源码库中尽情搜索: