c语言通讯录程序设计链表朱岩,c语言程序设计学生电话薄信息管理系统副本.doc...

本实验报告详述了使用C语言设计一个学生通讯信息管理系统的过程,该系统包括输入、添加、删除、修改、查询学生信息等功能,并能根据姓名、电话、省份和生日进行操作。系统采用链表数据结构,支持文件存储,可进行信息的持久化管理。
摘要由CSDN通过智能技术生成

西 安 邮 电 学 院

高级语言课程设计

实验报告

系 别:电 信 系

专业班级:科技0701班

学 号:05072007

班内序号:07

姓 名:朱 岩

指导老师:黄 茹

实验课题:学生通讯信息管理系统

实验时间:2008.6.10~2008.6.20

2008年6月17日

一、实验目的

1. 熟悉C语言的编译,链接和运行过程;

2. 掌握C语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给它们赋值,掌握不同的类型数据之间的赋值规律,赋值使用方法;

3. 掌握if语句及switch语句的运用方法及嵌套应用方法;

4. 掌握实现循环结构的三种语句while、 do-while.、for 的使用;

5. 掌握C语言函数的定义,声名及调用方法和调用过程;

6. 掌握C语言主函数和被调用函数之间的参数传递方式,学会函数的嵌套调用和递归调用的过程和方法;

7. 掌握数组的定义,赋值引用及输入输出方法,并正确用字符数组储存字符串,学会字符串的使用;

8. 掌握结构体类型变量的定义和使用;

9. 掌握指针变量和指向指针的指针变量的定义及使用,进一步了解指向结构体数组的指针变量的概念及使用方法;

10. 掌握链表的概念及链表的操作,并理解链表与数组的不同点及优缺点;

11. 掌握文件和文件指针的定义及文件建立,打开,关闭,读写等的操作方法

12. 能够采用模块化思想调试程序;

二.实验内容

1. 编写程序并进行调试运行;

2. 输入学生通讯信息并保存于文件,每个学生包含信息如:序号,姓名,省份,电话,生日,邮编,大学,班级,QQ号信息;

3. 对已存入的学生信息进行更新操作,包括添加一个学生信息、删除某个学生信息和修改某个学生信息;

4. 通过输入姓名,学号的方式查询学生信息;

5. 可以通过省份,生日来统计通讯信息;

6. 最后输出学生信息,供需要时打印。

一、 需求分析

1. 该程序可用于对学生的通讯方式基本信息的存储、更新、查询、输出等操作,以实现对学生通讯录信息的管理,便于同学之间的联系交往;

2. 其中更新功能包括:添加信息,删除信息,修改信息,可根据需要添加一个或多个学生信息,也可针对个别学生信息进行适当的删除或修改,以便随时更新学生通讯信息。

3. 程序中设计的查询功能可根据需要从若干数据中查询某个学生信息,并且可根据两种不同的方法查询:按姓名查询和按电话查询,以满足不同的需要;

4. 可以通过输出的方式查看整个通讯录;

5. 可以通过排序的方式查看同学生日的先后。

四、概要设计

1、方案设计

对系统进行分析,给出结构图

分析:系统要实现许多功能,因此遵循结构化程序设计思想来进行本系统的设计:—,自顶向下逐步细化,将系统设计任务分解出许多子功能模块来计;

结构图如下:学生通讯录信息管理系统

选 择 模 块

退出

退

排序

操作

qq

退

姓名

序号

退

保 存 通 讯 信 息

2 . 模块功能说明

对各个模块进行功能的描述

(1).输入模块:

录入需要管理的通讯信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。

(2).添加模块:

可添加一个或多个学生的通讯信息,并将所添加的信息保存,方便查找。

(3).删除模块:

可对失去联系的学生通讯信息做删除处理。

(4).修改模块:

可对通讯信息发生改变的学生信息进行修改。

(5).查询模块:

可对已建立的学生通讯信息进行查询,并且可根据需要选择按姓名查询或按电话查询。

(6).保存模块:

用于对通讯信息进行保存。

(7).输出模块:

将所有学生通讯信息或想要查询的学生信息显示于屏幕,用于打印学生通讯信息或查找某些学生通讯信息。

(8).退出系统:

选择该项,自动退出该系统。

五、详细设计及运行结果

流程图, 函数之间相互调用的图示 ,程序设计及编码, 运行结果。

开 始

输 入 变 量 i

判断i的值

排序

操作

显示

退

模块

插入

qq

号码

退

姓名

序号

退

判断i值

输入变量

退

输入变量

判断i值

输入变量

判断i值

保 存 模 块

结 束

输入模块: 显示模块:

开 始

开 始

i=0

i=0

i#include#define N sizeof(struct stud)

#include #include #include /*日期结构体类型*/

struct date

{int y;

int m;

int d;

}bir;

/*学生信息结构体类型*/

struct stud

{

int num; /*序号*/

char name[20]; /*姓名*/

char tel[40]; /*电话*/

char addr[40]; /*省份*/

char yb[20]; /*邮编*/

char daxue[50]; /*大学*/

struct date bir; /*生日*/

struct stud *n

通讯录管理系统 通讯录(add_book)中的联系人包含以下信息项:姓名、手机、办公电话、家庭电话、电子邮箱、所在省市、工作单位、家庭住址,群组分类(亲属、同事、同学、朋友、其他)。 Name Mobile phones Office phone Family telephone E-mail In cities Work units0 Address Group classification (relative, colleagues, friends, classmates, other). 系统的主要功能包括: 1. 输入联系人的信息,要求:至少输入10个联系人的数据,且注意数据的多样性。 2. 按姓名对联系人信息进行排序,并将排序后信息存放到一个文本文件中。 3. 添加联系人的信息,在已经存在的通讯录文件中添加若干个联系人。要求:添加后仍按联系人的姓名排序,并保存至原文件。 4. 删除联系人的信息,输入一个姓名,若通讯录中有该联系人的信息,则删除该联系人,否则输出提示信息,并提示用户选择是否继续进行删除操作。 5. 修改联系人的信息,输入一个姓名,根据具体需要修改该联系人的某一项信息,将修改后的信息重新保存到通讯录文件中,并提示用户选择是否继续进行修改操作。 6. 按不同条件对通讯录进行查询操作,输出满足条件的联系人的信息。 (1) 按姓名查询,包括精确查询(输入全名),模糊查询(输入姓); (2) 按手机号码查询,输入全部号码或号码位段(如输入130、133、139等); (3) 按群组分类查询,输入分类名称,输出该群组的全部联系人信息。 7. 输出联系人的信息Contact information,按一定格式输出信息,保证信息排列整齐美观。ContactPerson
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值