C语言程序设计报告.docx
《C语言程序设计报告.docx》由会员分享,可在线阅读,更多相关《C语言程序设计报告.docx(9页珍藏版)》请在第壹文秘上搜索。
1、二O一一年九月设计要求题目三通讯录管理系统任务:自学C语言中相关知识,设计出通讯录管理系统。要求如下所述: 建设通讯录信息,信息至少包含编号、姓名、年龄、通讯地址、电子邮箱等;; 能够提供添加、删除和修改通讯录信息的功能,并给出确认是否保存或删除记录的提示信息; 能够提供按姓名或等查询并显示相应记录信息; 将通讯录保存在文件中; 能够按表格方式输出通讯录信息。二、要求为了保证所有的数据可以长期被使用,要求程序能将相关数据存储在外部数据文件中,具体数据格式和文件名、路径等自定;根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课
2、程设计中要求完成的各个功能模块,子程序执行完后可返回到主菜单,继续选择其他功能执行。源程序要求书写标准,构造清晰。重点函数的重点变量,重点功能局部均要求给出清晰的程序注释。程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进展测试,然后分析测试结果。如果程序不能正常运行或结果不正确,那么需对程序进展单步调试,在调试过程中认真查找算法实现中存在的问题,并加以分析和修正。程序详解首先,定义构造体structstudentlongnUm;用于存储学号Charname20;姓名intage;年龄longtelephoney/号码charadress40;地址charE
3、_mail30;邮箱intQQ12;/增设的QQ一栏structstudent*next;用于存放下一级指针Jfirst;first为第一个节点,继而在其后动态的开创假设干节点。输入函数显示所有记录删除函数插入函数 按学号查找 按姓名查找查找函数选择函数以下是用于链表处理的各个函数:structstudent*creat(structstudent*p)voidprintall(structstudent*head)structstudent*delet(structstudent*head)structstudent*insert(structstudent*head)structstude
4、nt*searchbynum(structstudent*head)structstudent*searchbyname(structstudent*head)structstudent*search(structstudent*head)menu_select()以下是各个函数的详细说明:CreatO函数用于创立链表,其中以n记录节点的个数,并在创立时实现自加,以便于后面函数的处理,其循环输入的实现,依靠库函数mallocO和后面的WhiIe循环。PrintaIl函数用于显示当前的的所有记录,依靠头指针找到链表首地址,有WhiIe循环实现所有记录的输出。DeletO函数用于删除某个记录,删除
5、可以按姓名或学号这两种方式进展的,但本程序中没有这个功能即只可以按学号进展删除(因为学号唯一)。InsertO函数用于插入,同样以头指针找到链表的首地址,并将要插入的学号依次与各个节点中得num比较,然后按顺序将一个节点插入。SearchO函数用于查找,查找函数提供了两种方式,即按姓名查找和按学号查找。在SearCh()函数中可以按提示调用SearChbyname()和SearChbynUmMenu-SelectO函数用于提供函数选项,旨在简化主函数。流程图#include#include#include#include#define LEN :PrinlalISearch Insert ID
6、elet#defineNULLQ#defineSHU%dn%sn%5dn%ldn%sn%sn%sintn;structstudent(longnum;charname20;intage;longtelephone;charadress40J;charE-mail30;intQQ12;structstudent*next;first;structstudent*creat(structstudent*p)创立链表的函数,即输入函数(structstudent*head;structstudent*pl,*p2;n=0;先给n赋值0pl=p2=(structstudent*)malIoc(LEN)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 报告