《通讯录管理系统(c语言)》实训报告(含代码)
《高级程序设计》课程实训报告
题目:通讯录管理系统
完成人:
专业班级:
学号:
指导教师:
2012年 1 月 5 日
1 题目与要求
问题提出
本人计划编写一个通讯录管理系统。通讯录一般包括通讯者的姓名、电话及类别等信息,用来管理学生基本信息及成绩信息。
要求实现通讯者的插入、查询、删除等操作。
本系统涉及的知识点
结构、数组、循环、函数、分支、文件操作等。
功能要求
1、建立学生信息,每个通讯者的信息包括:姓名、电话号码、QQ、类别(小学,初中,高中,大学);
2、新增通讯录信息;
3、根据姓名,电话号码,QQ等查找该通讯者的信息并输出;
4、输入通讯者的姓名,进行查找并修改信息,若不存在该通讯者,则提示说明;
5、根据姓名删除指定信息;
6、显示全部的通讯者信息;
7、能够将输入信息导出文件,同时能把文件导入到内存中;
8、退出整个系统操作。
2 功能设计
算法设计
1、利用switch语句设计如图1所示的主菜单:
图1 学生信息管理系统主菜单
2、菜单选项示例:
选择1后,调用新增函数,进入函数后利用printf(),scnaf()语句实现一个如图2所示的输入。
图2 排序子菜单
选择2后,调用查找函数,进入函数后利用switch语句实现一个如图3所示的菜单,该菜单中每个选项调用一个函数,完成通讯录信息的查找。
图3 查找子菜单
3、根据所选菜单编写相应代码:
1)主函数main():根据选单的选项调用各函数,并完成相应的功能。
2)菜单函数menu():显示提示选单。
3) 新增函数add():在通讯录结构体总追加入新的通讯录信息,并返回选单。
4)查找函数find():查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。
5)修改函数alter():修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。
6)删除函数Delete():删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
7)显示函数list():显示通讯录中的所有记录。
8)导入函数input():能从指定的文件中读入通讯录的信息.
9)导出函数output的:能将通讯录的信息写入指定的文件中
10)退出函数 quit():退出选单。
11)名字查找函数Find():作为查找,输入修改,删除时调用的名字查找函数,判断是否存在要查找的记录,若存在则返回‘0’,不存在则返回其他值。
12)电话号码查找函数Find_num(),QQ查找函数Find_qq(),类别查找函数Find_type()与名字查找函数功能一致。
图4通讯录管理系统模块图部分模块流程图
1
2)删除模块
3 程序代码设计
(1).菜单模块
1)函数原形:void menu()
2)功能:使用printf()语句输出主菜单提示。
4)说明:每次执行完其他函数都调用菜单函数,使其返回主菜单,重新选择功能。(2).新增模块
1)函数原形:void add()
2)功能:使用printf()、scnaf()、getchar()、while()、if()语句输出选项提示,并逐一输入通讯录全部信息(姓名、电话号码、QQ、类别)到结构体中。利