大实验报告之通讯录

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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");

相关文档
最新文档