通信录管理系统_第1页
通信录管理系统_第2页
通信录管理系统_第3页
通信录管理系统_第4页
通信录管理系统_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言课程设计设计报告1、设计目的通过该系统实现对通讯录信息进行录入,显示,修改,插入,排序,保存等操作的管理。2、需求分析设计一个通讯录管理系统具有以下功能查看功能:选择此功能时,列出三类选择:A 办公类、B 个人类、C 商务类;当选中某类时,显示出此类所有数据中的姓名和电话号码等详细信息。增加功能:能录入新数据 包括:姓名、电话号码、分类(参照第一个功能的分类),电子邮件等(还有其他的功能可以添加但需通过组员商量决定)。拨号功能:能显示出通讯录中所有人的名字,当选中某个名字时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拨号声音。修改功能:选中某个人的姓名时,可

2、对此人的相应数据进行修改。删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条菜单功能:至少采用文本菜单界面(如果能采用图形菜单界面更好)。查询功能:要求能通过输入姓名或者电话号码查询此人的详细信息。3、总体设计该手机通讯录管理系统按功能划分可得功能模块图,如图3-1所示。图3-1 功能模块图其中:输入通讯录信息模块完成通讯个人信息的输入功能,输入信息包括个人的编号、姓名、号码、类型、email等;修改联系人信息模块完成个人通讯信息的修改功能;删除联系人信息模块完成个人通讯信息的删除功能;查询联系人信息模块完成个人通讯信息的查询,查询时对应有按号码和姓名两种方式;联系人拨

3、号模块完成通讯人拨号功能查看联系人信息模块完成已录入个人通讯信息的显示功能;菜单选择模块完成用户命令的接受,此模块也是手机通讯录管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择而调用其他模块实现相应的功能。4、详细设计在本次C+大作业中,对应于总体设计时的系统功能模块图,各个功能系统模块的处理逻辑如下:查看功能:选择此功能时,列出三类选择:A 办公类、B 个人类、C 商务类;当选中某类时,显示出此类所有数据中的姓名和电话号码等详细信息。增加功能:能录入新数据 包括:姓名、电话号码、分类(参照第一个功能的分类),电子邮件等。拨号功能:能显示出通讯录中所有人的名字,当选中某个名字时,屏

4、幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拨号声音。修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条菜单功能:至少采用文本菜单界面(如果能采用图形菜单界面更好)。查询功能:要求能通过输入姓名或者电话号码查询此人的详细信息。在主函数前先定义结构体和结构体指针变量,申明菜单中各功能需要调用的函数。6、源程序清单和执行结果其中主函数和输入通讯录信息模块的流程图分别如图4-3和图4-4所示。图4-3 主函数流程图图4-4 输入通讯录信息流程图3、主函数和输入通讯录信息函数如下:void ma

5、in()/*主函数开始*/ for(;) /*每次功能结束后或输入错误时,循环返回主界面*/ switch(menu_select() /*调用菜单函数*/ case 1:system(cls); /*系统清屏*/ printf(*n); printf( 输入通讯录信息n); printf(*n); head=CreateList(); /*调用输入通讯录信息模块函数*/ break; /*跳出case1语句的循环*/ case 2:system(cls); printf(*n); printf( 修改联系人信息n); printf(*n); p=edit(head); /*调用修改联系人信息

6、模块函数*/ break; /*跳出case2语句的循环*/ case 3:system(cls); printf(*n); printf( 删除联系人信息n); printf(*n); DelNode(head); break; case 4:system(cls); printf(*n); printf( 查看联系人信息n); printf(*n); PrintList(head); printf(按任意键返回.); getch(); /*接收输入的一个字符*/ system(cls); break; case 5:system(cls); printf(*n); printf( 输入号码

7、拨号n); printf(*n); PrintList(head); /*调用查看联系人信息函数*/ bohao(); /*调用拨号功能函数*/ printf(选择联系人号码:); break; case 6:system(cls); printf(*n); printf( 查找联系人信息n); printf(*n); p=ListFind(head); /*调用查找联系人信息函数并返回指针赋给p*/ if(p!=NULL) /*p指针指向的地址不为空就执行下面的语句*/ printf(编号 姓名 电话 类型 e-mailn); printf(=n); printf(%st%st%st%st%

8、sn,p-data.num,,p-data.phone,p-data.leixing,p-data.email);/*输出所查找联系人的信息*/ printf(=n); printf(查找完毕,按任意键返回.); getch(); /*接收输入的一个字符*/ system(cls); break; case 0:printf(t谢谢使用,再见!n); /*结束该系统的使用*/ return; /*返回上一语句的输出值*/ LinkList CreateList(void) /*输入联系人函数*/ LinkList head=(ListNode *)malloc(sizeo

9、f(ListNode);/*开辟一个长度为ListNode的内存区,并强制转换为结构体类型,把其指针地址赋给头指针head*/ ListNode *p,*rear,*q;/*定义三个结构体类型指针*/ int i=0,flag=1,a; /*定义整形变量*/ char leixing; /*定义一个字符型变量*/ rear=head; /*把头指针head赋给rear*/ while(flag=1&i16时退出当前循环*/ i+; if(idata.num); printf(请输入姓名:); scanf(%s,); if(i1) fp=fopen(a.txt,rb); /

10、*打开一个可读写的文件a.txt*/ for(q=head,a=0;anext) a+; if(strcmp(,)=0) /*比较两个字符串的大小*/ printf(输入重复!n); printf(按任意键返回.); getch(); system(cls); return; fclose(fp); /*关闭文件*/ printf(请输入号码:); scanf(%s,p-data.phone); if(i1) /*把刚输入的通讯信息写入文件中*/ fp=fopen(a.txt,rb); /*打开文件*/ for(q=head,a=0;anext) a

11、+; if(strcmp(p-data.phone,q-data.phone)=0) printf(输入重复!n); printf(按任意键返回.); getch(); system(cls); return; fclose(fp); /*关闭文件*/ printf(类型为:1 办公类 2 个人类 3 商务类 请用序号填写n); printf(请输入类型:); scanf(%s,p-data.leixing); printf(请输入e-mail:); scanf(%s,p-data.email); printf(输入完毕,按任意键存储.n); getch(); fp=fopen(a.txt,a

12、); /*打开文件*/ fprintf(fp,%st%st%st%st%sn,p-data.num,,p-data.phone,p-data.leixing,p-data.email); fclose(fp); /*关闭文件*/ printf(存储完毕!n); rear-next=p; /*把p的地址赋给rear的下一个*/ rear=p; printf(继续输入吗? (1/0):); scanf(%d,&flag); system(cls); else printf(存储空间已满!n); printf(按任意键进行存储.); getch(); i+; system(cls); rear-next

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论