c语言设计实验报告
时间:2025-04-23
时间:2025-04-23
C语言综合实验
题 目 学 院 专 业 班 级 姓
名
电子通讯录
2011 年 6 月 30 日
目录
1.需求分析 ....................................................... - 2 - 1.1系统概要 ....................................................... - 2 - 1.2系统要求分析 ................................................... - 2 - 1.3系统功能需求 ................................................... - 2 - 2.总体设计 ....................................................... - 3 - 3.详细设计 ...................................................... - 10 - 3.1涉及到的重要语句的说明: ...................................... - 10 - 3.2重要的函数说明: .............................................. - 11 - 3.3相关的重要的参数说明: ........................................ - 11 - 4.结论与心得体会 ................................................ - 11 - 5.调试与测试 .................................................... - 12 - 5.1调试报告 ...................................................... - 12 - 5.2测试结果 ...................................................... - 13 - 6.附录 .......................................................... - 19 - 6.1源程序: ...................................................... - 19 - 6.2测试数据: .................................................... - 33 - 6.3运行结果 ...................................................... - 34 -
电子通讯录管理系统
1. 需求分析
1.1
系统概要
通讯录是大家十分熟悉的系统,主要是为方便查询联系方式、通信地址而建立的。要求建立一个包含多个同学信息的同学通讯录,通讯录中的每个记录包含:姓名(name)、性别(sex)、生日(birthday)、家庭住址(address)、家庭联系电话(home_phone)、移动电话(move_phone)、电子邮箱(email)等数据内容,要求以文件的方式保存录入的同学通讯录数据,供用户查询和使用同学通讯录信息。本系统以C语言为工具,提供简单、易操作的人机界面,实现对通讯录的管理。
1.2 系统要求分析
§建立通讯录,要求信息要包含姓名、性别、出生日期、住址、家庭电话、
办公电话、移动电话、QQ、电子邮箱等。
§能够提供添加、删除、查找、修改、保存等功能。 §查找方式多样化,要有按姓名、电话、地址等查找。 §输出要有一定的格式。
1.3 系统功能需求
主要包含以下功能:
§添加记录:完成对电子通讯录内容信息的录入,并将其存放到指定文件
(如:stud-list.txt)中;
§删除记录:输入要删除信息的编号,在数据文件中查找该信息,找到后删
除;若查不到,则输出提示信息(如:not found!)。
§修改记录:改变记录项的一个或多个属性,并用新的记录项覆盖已经存在
的记录项;要确定在数据文件中有其信息资料,若查找不到,则输出提示信息(如:not found!)。
§查找记录:根据用户输入的属性值查找并输出符合条件的记录项,要求可
以“按姓名”、“ 按电话号码”等多种关键字进行记录查询;若找到,则输出该同学的相关信息;否则,输出提示信息(如:not found!)。
§打印输出通讯录:以一定的格式打印出当前同学通讯录的所有内容列表。
以上功能的功能选择需要在屏幕上列出各个选择项,然后接受键盘的输入作选择。
2. 总体设计
程序设计框架图:
工作流程图:
创建文件:
添加记录:
显示记录:
删除记录:
查询记录:
修改记录:
输出记录:开始
i=0;
i<n
0
非0
输出到文件
i++
结束-8-
从文件读出记录:
3. 详细设计
3.1
涉及到的重要语句的说明:
#include<windows.h>:更换输出界面颜色的头文件
#define size sizeof(PERSON):宏定义,PERSON的长度用size代替
system(“color 5f”):更换显示界面颜色的函数,其中第一、二个数,分别改变输出界面的背景、前景
system(“cls”):清屏,保障清爽的界面 system(“pause”):持续性输出
fread(&per[i-1],size,1,fp):将文件中的信息读取,并存去到per所指向的存储空间,长度为size字节
fwrite(&per[i],size,1,fp):将数据写入fp所指向的文件中,长度为size字节
strcmp:字符串比较函数 strcpy:字符串赋值函数
fprinf:将信息写入所指定的文件中 fputs:将信息写入文件
fopen(filename,"a"):打开名字为filename的文本文件 结构体:typedef struct
{
int month, day, year; /*出生年月*/ }BT;
int n=0;
typedef struct person /*通讯录结构中结点的定义*/ {
int score; /*编号*/ char name[10]; /* 姓名 */
char sex[4]; /*性别:男或女*/ BT birth; /*出生年月*/ char addr[30]; /* 地址 */ char offphnum[15]; /* 办公电话 */ char hmphnum[15]; /* 家庭电话 */ char mbnub[15]; /* 移动电话 */ char QQ[11]; /**qq**/ char mail[30]; /*电子邮箱*/ }PERSON;
3.2 重要的函数说明:
create() /*建立通讯录,并将信息存入文件*/ void Show() /*输出显示所有的信息*/ void Delete() /*删除一条记录的信息*/ void Find() /*查找记录的函数*/
void Input() /*向通讯录中追加一条 …… 此处隐藏:2971字,全部文档内容请下载后查看。喜欢就下载吧 ……