ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:169.28KB ,
资源ID:1413342      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1413342.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(班级通讯录数据结构C语言.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

班级通讯录数据结构C语言.docx

1、班级通讯录数据结构C语言班级通讯录1、设计目的设计一个计算机管理系统对班级通讯录进行管理。2、设计要求一个学生的数据包括:学号、姓名、电话号码、手机、QQ号。要求设计一个计算机管理系统对班级通讯录进行管理,具有的功能是能够进行录入、修改、删除、查找和输出所有记录。为提高数据的可访问性,电话号码、手机、QQ号建立索引表,索引表可以在维护数据时动态维护,也可能最后一次建立。设计条件:硬件条件:(1)学生用微机(2)多媒体教室(3)局域网环境软件条件:(1)Windows XP中文操作系统 (2)Turbo C 3.03、课程设计的内容3.1、需求分析:随着科技的进步和信息产业的发展,通讯录成为了现

2、代生活中的一个重要的工具。利用通讯录管理系统对通讯录进行统一管理,包括添加,修改,查询记录等功能,实现通讯录管理工作的系统化,规范化和自动化,为生活提供便利。在设计的通讯录中,学生学号,电话号码,手机号码,QQ均以数字的形式进行输入,学生姓名则以中文,英文输入均可进行记录,输出的形式与输入形式相同。按要求,设计的通讯录管理系统可以实现添加、修改、删除、查找,对学号的排序和输出所有学生记录。进行测试的数据和执行情况如下图所示:程序主观图:添加记录:显示所有记录:删除一条记录:根据学号查找:对记录的排序:主要是对添加新纪录在链表中按升序排列,如新加李伟这条记录,对它采取排序,具体结果如下:进行排序

3、:输入6即退出:3.2、概要设计:对该系统各种函数的定义在源代码给出,先给出函数的定义,然后给出菜单的执行函数,建立链表,并对各个功能的实现编出程序,直到调试成功为止。3.3、详细设计主要给出程序的流程图,如下所示:菜单函数:链表构造:按学号显示学生数据:删除记录:显示所有信息:排序:3.4、程序调试与测试结果:经过认真调试最终结果为正确。如图:3.5、结果分析:在编译过程中遇到很多困难,程序也基本上符合要求,但是有一点目前还没解决,就是基于链表的修改还没掌握,因此花了很大的力气,但是还是没有完成,只好采取的修改方式为:删除,添加,排序的方法对链表中的元素进行修改。4、总结本系统基本实现了班级

4、通讯录系统的典型功能,如添加查找等功能,而且具有较高的安全性。但是因为能力有限,还有部分功能未能完善,这些局限性都是有待逐步完善的方面。而且通过这次课程设计,我培养了自己对C编程的兴趣,进一步了解了数据结构的特色和,编程能力也有所提高,但仍存在许多不足,不能独自编写完整代码,写代码要参考很多资料,所以今后应培养自己独立写代码的能力。5、参考文献1 宁正元,王秀丽.算法与数据结构.北京:清华大学出版社,20062 姜灵芝,余键.C语言课程设计案例精编 北京:清华大学出版社,2008 6、附录该程序的源代码:#include#include#include#include#includetyped

5、ef struct student char Number10; /学号 char name20; /姓名 char telephone20; /电话号码 char cellphone20; /手机号码 char QQ10; /QQ struct student *next;student;student *headLink; /链表表头指针void DesplayMenu(); /以下是函数声明void CreateHeadLink();student *MallocNode();void GetInformation(student *t);void OutputInformation()

6、;void DesplayInfoByNumber();void DesplayOneNode(student *t);void InsertOneNode(student *t);void rangebyNumber();void DeleteNodeByNumber();void DesplayInfoByName();int choose; /用于接受用户的选择void main() /主函数 CreateHeadLink(); DesplayMenu();void DesplayMenu() /显示菜单,根据用户的输入完成相应的功能 student *p; printf(n-请选择相应

7、功能-nn); printf( 1 显示所有学生信息 n); printf( 2 增加一条学生信息 n); printf( 3 删除一条学生信息 n); printf( 4 根据学号查找学生的信息 n); printf( 5 按学号高到低排序 n); printf( 6 退出 n); printf(请输入序号:n); scanf(%d,&choose); /取得用户的选择 switch(choose) case 1: OutputInformation(); break; case 2: p=MallocNode(); /先申请一个新结点 GetInformation(p); /要求用户输入信

8、息到新结点中 InsertOneNode(p); /将新结点加到链表中 break; case 3: DeleteNodeByNumber(); break; case 4: DesplayInfoByNumber(); break; case 5: rangebyNumber(); break; case 6: free(headLink); /先释放内存空间 exit(1); break; default: break; DesplayMenu(); /递归调用void CreateHeadLink() /建立链表表头 student *p; p=(student*)malloc(size

9、of(student); headLink=p; p-next=NULL;student *MallocNode() /申请一个新结点,并将其初始化 student *p; int i; p=(student*)malloc(sizeof(student); if(p=NULL) return NULL; for(i=0;iNumberi=0; for(i=0;inamei=0; for(i=0;itelephonei=0; for(i=0;icellphonei=0; for(i=0;iQQi=0; p-next=NULL; return p;void GetInformation(stud

10、ent *t) /添加学生信息 printf(请输入序号:n); scanf(%s,t-Number); printf(请输入姓名:n); scanf(%s,t-name); printf(请输入电话:n); scanf(%s,t-telephone); printf(请输入手机号:n); scanf(%s,t-cellphone); printf(请输入QQ:n); scanf(%s,t-QQ);void InsertOneNode(student *t) /在链表的结尾处增加一个结点 student *p; p=headLink; while(p-next) p=p-next; p-nex

11、t=t;void DesplayInfoByNumber() /根据学号显示该学号学生的信息 student *p; char good10; char flag=0; p=headLink-next; if(p=NULL) printf(对不起,现在没有学生信息!n); return; printf(请输入序号:n); scanf(%s,good); printf(学号t姓名t电话t手机号tQQtn); while(p) if(strcmp(p-Number,good)=0) DesplayOneNode(p); flag=1; break; p=p-next; if(!flag) prin

12、tf(对不起,不存在序号为 %s 的学生n,good);void DesplayOneNode(student *t) /输出一个学生结点的信息 printf(%st,t-Number); printf(%st,t-name); printf(%st,t-telephone); printf(%st,t-cellphone); printf(%stn,t-QQ);void DeleteNodeByNumber() /根据学号删除该学生信息 char good10; student *p,*q; char flag=0; printf(请输入要删除的学生序号:); scanf(%s,good);

13、 p=headLink; q=headLink-next; while(q) if(strcmp(q-Number,good)=0) p-next=q-next; free(q); flag=1; break; p=p-next; q=q-next; if(!flag) printf(不存在这学生n);void OutputInformation() /显示所有学生的信息 student *p; p=headLink-next; if(p=NULL) printf(现在没有任何信息,请先输入学生信息nn); return; printf(学号t姓名t电话t手机号tQQtn); while(p) DesplayOneNode(p); p=p-next; void rangebyNumber() /根据输入的学号,按低到高排序 char Number10; student exchange,*r,*p,*q; r=headLink-next; if(r=NULL) printf(现在还没任何信息,请先输入学生信息n); return;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1