《通讯录管理系统(c语言)》实训报告(含代码)要点

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《高级程序设计》

课程实训报告

1 题目与要求

1.1 问题提出

本人计划编写一个通讯录管理系统。通讯录一般包括通讯者的姓名、电话及类别等信息,用来管理学生基本信息及成绩信息。

要求实现通讯者的插入、查询、删除等操作。

1.2 本系统涉及的知识点

结构、数组、循环、函数、分支、文件操作等。

1.3 功能要求

1、建立学生信息,每个通讯者的信息包括:姓名、电话号码、QQ、类别(小学,初中,高中,大学);

2、新增通讯录信息;

3、根据姓名,电话号码,QQ等查找该通讯者的信息并输出

4、输入通讯者的姓名,进行查找并修改信息,若不存在该通讯者,则提示说明;

5、根据姓名删除指定信息;

6、显示全部的通讯者信息;

7、能够将输入信息导出文件,同时能把文件导入到内存中;

8、退出整个系统操作。

2 功能设计

2.1 算法设计

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通讯录管理系统模块图

2.2 1

2

3 程序代码设计

(1).菜单模块

1)函数原形:void menu()

2)功能:使用printf()语句输出主菜单提示。

4)说明:每次执行完其他函数都调用菜单函数,使其返回主菜单,重新选择功能。

(2).新增模块

1)函数原形:void add()

2)功能:使用printf()、scnaf()、getchar()、while()、if()语句输出选项提示,并逐一输入通讯录全部信息(姓名、电话号码、QQ、类别)到结构体中。利

用while()进行重复输入,getchar()进行退出。同时利用名字查找函数Find()

对输入信息进行是否重复的判断。

3)变量及类型:

struct student stud:定义一个结构体变量,从第一次以后输入的数据放入其中,进行数据判断后才放入结构体数组中。

4)说明:执行完输入函数后,会在键盘缓冲区中保存回车键,后面再对字符型变量赋值时,会将缓冲区中的回车键当成数据存入变量中,所以要在某些输入

语句后面加getchar()函数。

3). 查找模块

1)函数原形:void find()

2)功能:利用while()重复查找功能,getchar()进行退出循环。switch(),getchar()进行按姓名、电话号码、QQ等查找方式的选择。按照相应的选择方式调用名

字查找函数Find(),电话号码查找函数Find_num(),QQ查找函数Find_qq(),类别查

找函数Find_type()。

3)变量及类型:

char s[20]:选择查找方式后将姓名、电话、QQ等放入其中再调用查找函

数。

char ch:对查找方式进行选择。

char ch1:对退出查找进行选择。

(4).修改模块

1)函数原形:void alter()

2)功能:用if-else作处理。调用名字查找函数Find(),如果无该查找记录则提示且退出修改函数。反之利用switch()修改的选择1.覆盖修改(重新输入全部信息),2.部分

修改,当选择2时提供姓名、电话号码、QQ、类别四个修改选项,且利用while()

进行多项修改。

3)变量及类型:

char,s[20]:选择查找方式后将姓名、电话、QQ等放入其中再调用查找

函数。

char,ch:选择2 部分修改时,当选择提供姓名、电话号码、QQ、类别四个修改

选项

char ch1:控制退出switch()。

char ch2:控制退出while()。

(5).删除模块

1)函数原形:void Delete()

2)功能:调用名字查找函数Find()判断数据的重复性,while()进行多次操作。

3)变量及类型:

char s[20]:对数据姓名、电话、QQ等放入其中再调用查找函数。

char ch:控制退出while()

char ch1:控制退出while()

相关文档
最新文档