1、 int n, w1; void enter(); void add(); void modify(); void browse(); void deleter(); void search(); do puts(t*菜单*tnn);tttt1.新建联系人tttt2.添加联系人tttt3.修改tttt4.删除tttt5.浏览tttt6.查找tttt7.退出nnt*通讯录*tn printf(请选择服务种类(1-7) : bb scanf(%d,&n); if(n7) w1=1;getchar(); else w1=0; while(w1=1); switch(n) case 1: enter(
2、); break; /*输入模块*/ case 2: add(); /*添加模块*/附录:源代码#define N 50#includestring.hstruct peoplechar name20; char company50; char num15; char mail20;peopN;void printf_face() printf(nt姓名t单位t电话号码t邮箱n void printf_one(int i)t%st%st%st%sn,peopi.name,pany,peopi.num,peopi.mail);void printf_n(int n) int j; for(j=0
3、;jnn 1).姓名 2).单位 3).电话号码 4).邮箱 5).所有数据 6).取消并返回请选择?:c); if(c6|c1); switch(c) case 1:name:%s,peopi.name);company:,pany); case 3:number:,peopi.num); case 4:e-mail:,peopi.mail); case 5: input(i); case 6: menu();nNow:n printf_face(); printf_one(i);n确定?nnt1).是 2).不,重新修改 3).返回不保存 bbw1); while(w1=2); retur
4、n(w1);void input(int i) printf_face();t%st%st%st%svoid save(int n)wb printf( for(i=0;i if(peopi.name0!=0) if(fwrite(&peopi,sizeof(struct people),1,fp)!=1)file write errorn fclose(fp);void printf_back() int w;nnt_.Successful. _nnWhat do you want to do?nnt1).浏览所有t2).返回:w); if(w=1) browse(); else menu(
5、);void main()void menu()t*菜单* tt*1.新建联系人*tt*2.添加联系人*tt*3.修 改*tt*4.删 除*tt*5.浏 览*tt*6.查 找*tt*7.退 出*nnt*通讯录* modify(); deleter(); browse(); search(); case 7:void enter() int i,n;How many people(0-%d)?,N-1);请输入数据: printf(n输入第 %d个记录.n,i+1); if(i!=0) save(n); printf_back();void add() int i,n,k,t; n=load()
6、;How many people do you want to add(0-%d)?,N-n-1);t); k=n+t; for(i=n;k;,i-n+1); save(k);void modify() struct people s; int i,n,k,w0=1,w1,w2=0; k=-1; printf_n(n);nnEnter name that you want to modify!nName:,s.name); if(strcmp(s.name,peopi.name)=0) k=i; s=peopi; if(k=-1) printf(nn没有记录请重新输入! while(k=-1)
7、; printf_one(k); w1=modify_data(k,n); if(w1=1) printf(nt_.Successful _.nn是否继续?nnt1).是 2).保存返回t bbw0); w2=1; else w0=0; if(w2=0) peopk=s; if(w0!=1)&(w2=1) save(n); while(w0=1);void browse() int n;t共有 %d 记录.n,n);nPress any key to back.void search() int w0,k,i,n,w1,w2; struct people s;请选择查找类别: 1).姓名 2)
8、.电话号码 bb if(w12) printf(输入错误!请重新输入! while(w2=1); if(w1=1) donnEnter name that tou want to search!nWhat do you want to do?nt1).继续 2).返回菜单 bb donnEnter number that tou want to search!nNum:,s.num); if(strcmp(s.num,peopi.num)=0) k=i;void deleter()struct people s; int i,n,k,w0,w1;nnEnter name that you wa
9、nt to delete!nt1).是 2).返回 bb if(w0=1) peopk.name0=; save(n); else break;nt_.Successful_.nnt1).继续 2).返回 bb【设计体会】通过为期一周的课程设计,我们对C语言这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们信息与计算科学专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。运用C语言中的算法思想作数据结构,结合C语言基本
10、知识,编写一个通讯录管理系统。通过完成本课题,进一步熟悉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
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1