c语言通讯录管理实验报告及源程序代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计实训报告
课程名称 C语言程序设计实训
课题名称通讯录管理
专业软件工程
班级 K软件151
学号
姓名
指导教师
2016年 1 月 1 日
湖北汽车工业学院科技学院
C语言程序设计实训任务书
课程名称 C语言程序设计实训
课题通讯录管理
专业班级软件工程
学生姓名
学号
指导老师
审批
一、设计内容与设计要求
1.设计内容:
设计课题:通讯录管理
一、问题描述:
该设计实现对通讯录得管理功能,具体包括从键盘输入通讯录的信息、从指定的文件中读入通讯录的信息、按姓名查询通讯录的信息、按分类查询通讯录的信息、删除指定姓名的通讯录的信息、将通讯录信息保存在指定的文件中等。
二、功能要求:
1)能从键盘输入通讯录的信息(增加,输入时需要能检查该姓名的通讯录
的记录是否已经存在,如果存在,需要询问是否是覆盖还是增加,需要判断输
入的类型是否存在)
2)能从指定的文件中读入通讯录的信息
3)能按姓名查询通讯录的信息
4)能按分类查询通讯录的信息
5)能删除指定姓名的通讯录的信息
6)能将通讯录信息保存在指定的文件中
7)所有数据符合实际应用要求
2.设计要求:
1)设计正确,方案合理。
2)界面友好,使用方便。
3)程序精炼,结构清晰。
4)上机演示。
3.设计报告要求:
课程设计报告格式如下:
1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。
2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释)。
3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。
二、进度安排
湖北汽车工业学院科技学院2015年12月 20 日
目录
1 系统需求分析........................... 错误!未定义书签。
2 概要设计............................... 错误!未定义书签。
3 详细设计............................... 错误!未定义书签。
4 系统测试............................... 错误!未定义书签。5课程设计总结错误!未定义书签。
1 系统需求分析
本系统首先设计出了主函数,然后根据去要实现的功能分别设计,添加、显示、删除、查找、修改功能的子函数。在现实的函数设计过程中首先运用文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。添加函数在设计时通过申请一片空间,然后通过指针将需要添加进去,从而实现添加功能。删除函数的设计是首先从文件找到要删除的人,然后通过写一个实现删除目的的for循环将人从内存里面删除,然后在用写的方式打开文件,将内存的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。修改也大体和删除相同。
2 概要设计
系统功能模块图:
3 详细设计
数据结构
本系统主要采用链表结构类型来表示储存在“通讯录管理系统”中的信息。其中,链表结点由四个分量构成:编号、联系人姓名、电话号码、指向该结构体的指针。
主菜单模块:
本系统设置了5个子功能菜单,5个子功能的设计描述如下。
(1)通讯录信息的输入。可以一次输入多个通讯成员的信息,建立通讯
录。该功能由insert()函数实现。
(2) 通讯录信息的显示。可以查看通讯录中所有的通讯录成员记录。该功能由output()函数实现。
(3) 通讯录信息的保存。可以将输入的通讯录成员的信息进行保存。该功能由save()函数实现。
(4) 通信记录的删除。可以对通讯录中不再需要的信息进行删除。该功能由del()函数实现。(要彻底删除,必须要删除和通讯录.txt 中的内容。如下图:)
(5) 通信记录的修改。可以将通讯录中的联系成员的信息进行修改,并保存。该功能由modify()函数实现。
(6) 通信记录的查找。可以通过3种方式进行对通讯信息进行查找。该功能由found(found_code()、found_name()、found_tele())函数实现。
struct tele ode,p->code);
printf("\t 姓名:"); scanf("%s",p->name);
strcpy(person[counter+1].name,p->name); printf("\t 电话:"); scanf("%s",p->tele);
strcpy(person[counter+1].tele,p->tele); printf("\n\t ************************************");
counter++;
free(p); ode,person[i].name,person[i].tele);
printf("\t");
开始 从0~6调用insert 函数 k=1
保存调用save 函数
返回主菜单 结束 选择显示功
显示所有记返回主菜单
}
else
printf("\n\n\n\n\n\t\t记录为空,请输入联系人信息!");
getchar();
getchar();
system("cls");
menu();
}
删除模块
此模块先利用查找模块找到所要删除的信息,然后根据用户的选择来确定是否删除信息,此种调用到save函数。其流程图如下:
【程序】
/***************************信息删除函数***************************/
void del() ame))