《编程实习》报告
洪珊珊 2012年09月13日
学院:专业:班级:学号:姓名:导师:
一、功能分析
1.1 需求概述
设计并实现一个通讯录管理工具软件,管理用户通信联系人的名片信息。名片包 含的主要信息有:姓名、地址、固定电话、手机、QQ等。 1.2 功能需求
1、系统启动时,如果不存在名片文件则视为首次运行,名片文件产生,此时需要输入注册号(本设计中注册号采用设计者的学号),文件头包含用户注册号(8位)和名片数量。否则,需自动加载名片信息,并显示“欢迎(注册号),您共有N张名片!”的信息,其中“注册号”为注册号码,“N”为实际的名片数量。 2、显示全部名片功能。
3、添加新名片功能。添加新名片时,需要输入姓名的拼音缩写,如“张雨生”缩写为“ZYS”。新名片信息中,姓名和单位是必须输入的。系统必须保证不会出现相同E-Mail的名片。 4、查询功能。可通过姓名查询,以及号码查询,显示时自动依次编号,如1、2、3、??。在查询时,也可以显示所有的名片信息。
5、删除功能。对查询的结果,可以选择名片(输入编号)来删除该名片,删除前需要确认。
6、修改功能。对查询的结果,可以选择名片(输入编号)来修改该名片。修改时逐项修改,最后需要确认。
7、系统完成每个名片的添加、删除和修改后,需要及时保存到名片文件中,以防数据的丢失。 8、采用文本文件自动记录操作日志。日志中包括3类操作:系统的启动和停止、用户选择的功能、名片的操作。日志中的时间格式为:YYYY-MM-DD hh24:mm:ss。要求系统运行期间,日志文件依然能够打开查看。 1.3 功能的设计
1.1功能结构图
2
二、主要技术设计
2.1名片文件操作的实现技术 1、 Readfile:读取名片信息 2、 menu_select:显示主菜单
3、 Delete:将指定的名片从文件中删除 4、 onedelete:按姓名删除单个名片 5、 alldelete:删除全部名片 6、 Change:修改指定名片信息
7、 namechange:按姓名查找后修改名片信息 8、 telchange:按电话查找后修改名片信息 9、 addschange:按地址查找后修改名片信息 10、 11、 12、 13、 14、 15、 16、
Input:添加新名片
Find:按照用户的要求进行查询 namefind:按姓名查询名片 telind:按电话查询名片 addsfind:按地址查询名片 Display:显示所有通讯录信息 Save:对通讯录信息进行保存
2.2 通讯录内存的表示结构
struct Data {
char name[10];
char tel[15]; char age[8]; char adds[20]; char qq[20];
};Data dat[200];
3
2.3 人机交互的设计技术
菜单选择界面:
格式化输出界面:
4
三、详细设计
3.1 名片文件的设计
数据项
姓名 char name[10] 电话 char tel[15] 年龄 char age[8]
地址 char adds[20] QQ号 char qq[20]
3.2 系统启动的设计
结束 3.1系统启动程序流程图
进入菜单界面 创建新通讯录 输入注册号 开始 Y 是否为新用户 N
首先通过if((fp=fopen(\判断是否是新用户。若是,在输入注册码后,建立新的通讯录。否则,自动加载名片信息,进入主菜单,并显示“欢迎(注册号),您共有N张名片!”的信息,其中“注册号”为注册号码,“N”为实际的名片数量。
5