大实验报告之通讯录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级语言程序设计实验报告
实验项目名称 C语言通讯录成绩评定
实验项目类型:综合设计型实验时间:
学生姓名:汪思航班级:11602007 学号:1160200719
学院:能源学院专业:任课教师:袁永峰
(一)实验目的
熟悉一维、二维数组做函数参数,排序、查找、统计分析等常用算法,自顶向下、逐步求精的模块化设计以及增量测试方法
(二)实验内容和要求
实验内容:
实验1:c语言通讯录
最多不超过1000人的通讯录管理:
1、增加联系人
2、删除联系人
3、修改联系人
4、显示所有联系人
5、搜索联系人
6、将所得数据写入文件中
实验要求:
输入格式:
( 1 )录入联系人姓名:
**输入数据格式:"%s"
**提示信息:"请输入联系人姓名:(注意联系人姓名中间不能有空格)\n"( 2 )录入联系人电话:
**输入数据格式:"%s"
**提示信息:"请输入联系人电话:(注意联系人电话号码中间不能有空格)\n" 输出格式:
菜单项的输出显示:
****************************
****** 欢迎使用通讯录 ******
****** 1、添加联系人 ******
****** 2、删除联系人 ******
****** 3、修改联系人 ******
****** 4、查看所有联系人 *** ****** 5、搜索联系人 ****** ****** 6、退出系统 ****** ****************************
(三) 实验环境
Windows 、 Codeblocks13.12
(四) 系统设计
系统功能模块结构图:
算法设计:交换法排序,遍历算法。 数据结构设计:
(请说明采用数组、结构体还是链表存储学生个人信息,并列出所定义的数据各种信息,如:)
查看通讯录
删除通讯录 修改通讯录 查找通讯录 添加通讯录 输出通讯录 通讯录
各模块(函数)的功能和接口设计:
主函数:编写循环控制程序
显示操作界面
根据编号执行不同的函数
int validateInput(int num,int min,int max)//检验数据是否合法
void init(); //初始化
void doAdd(); //增加联系人
void doDelete(); //删除联系人
void doUpdate(); //修改联系人
void doList(); //显示所有联系人
void doSearchByName(); //搜索联系人
void writeFile(); //将所得数据写入文件中
(我负责增加,搜索和修改的函数)
(五)系统实现
主要模块的程序流程图:
1.输出通讯录的信息
2.添加信息
4.修改
6.退出
源程序的全部代码:
#include
#include
#include
//进行宏定义
#define N 1000 //定义通讯录的容量#define NAMELEN 22 //名字长度上限
#define NUMLEN 12 //电话号码长度上限
//定义部分
//定义联系人的结构体
typedef struct person
{
char name[NAMELEN];//联系人
char telNum[NUMLEN];//电话号码
}Person;
//存储所有的联系人,联系人的数组
Person contacts[N]; //能够存储100个联系人的结构体数组定义
//下面开始定义外部变量,省去每次定义变量的麻烦
int i = 0;
int num = 0;
//定义联系人的个数
int totalContactCount=0;
//接收用户输入的编号
int fno;
//定义数据文件保存的位置
char *filePath = "telbook.data";
//函数声明
int validateInput(int num,int min,int max);//检验数据是否合法
void init(); //初始化void doAdd(); //增加联系人
void doDelete(); //删除联系人
void doUpdate(); //修改联系人
void doList(); //显示所有联系人
void doSearchByName(); //搜索联系人
void writeFile(); //将所得数据写入文件中
/*
主程序功能:编写循环控制程序
显示操作界面
根据编号执行不同的函数
*/
int main(int argc, const char * argv[]) //用int argc 记录输入的字符串个数;用*argv[]指针数组存放输入在命令行上的命令(字符串)。
{
init();
printf("通讯录初始化完成!\n");
while (1)
{
printf("\n");
//软件界面的显示
printf("****************************\n");
printf("****** 欢迎使用通讯录 ******\n");
printf("****** 1、添加联系人 ******\n");
printf("****** 2、删除联系人 ******\n");
printf("****** 3、修改联系人 ******\n");