《通讯录管理系统(c语言)》实训报告(含代码)要点.pdf
《《通讯录管理系统(c语言)》实训报告(含代码)要点.pdf》由会员分享,可在线阅读,更多相关《《通讯录管理系统(c语言)》实训报告(含代码)要点.pdf(22页珍藏版)》请在三一文库上搜索。
1、C 语言实训报告格式 1 高级程序设计 课程实训报告 1 题目与要求 1.1 问题提出 本人计划编写一个通讯录管理系统。通讯录一般包括通讯者的姓名、电话及类别等信 息,用来管理学生基本信息及成绩信息。 要求实现通讯者的插入、查询、删除等操作。 1.2 本系统涉及的知识点 结构、数组、循环、函数、分支、文件操作等。 1.3 功能要求 1、建立学生信息,每个通讯者的信息包括:姓名、电话号码、QQ 、类别( 小学,初中, 高中,大学 ) ; 2、新增通讯录信息; 3、根据姓名,电话号码, QQ等查找该通讯者的信息并输出 4、输入通讯者的姓名,进行查找并修改信息,若不存在该通讯者,则提示说明; 5、根
2、据姓名删除指定信息; 6、显示全部的通讯者信息; 7、能够将输入信息导出文件,同时能把文件导入到内存中; 8、退出整个系统操作。 C 语言实训报告格式 2 2 功能设计 2.1 算法设计 1、利用 switch 语句设计如图 1 所示的主菜单: 图 1 学生信息管理系统主菜单 2、菜单选项示例: 选择 1 后,调用新增函数, 进入函数后利用 printf(),scnaf()语句实现一个如图2 所示的输 入。 C 语言实训报告格式 3 图 2 排序子菜单 选择 2 后,调用查找函数,进入函数后利用switch 语句实现一个如图3 所示的菜单,该 菜单中每个选项调用一个函数,完成通讯录信息的查找。
3、 图 3 查找子菜单 3、根据所选菜单编写相应代码: 1)主函数 main() :根据选单的选项调用各函数,并完成相应的功能。 2)菜单函数menu() :显示提示选单。 3) 新增函数add() :在通讯录结构体总追加入新的通讯录信息,并返回选单。 C 语言实训报告格式 4 4) 查找函数find():查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通 讯录中没有此人的信息,并返回选单。 5) 修改函数alter(): 修改某人的信息, 如果未找到要修改的人,则提示通讯录中没有此人的信息, 并返回选单。 6) 删除函数Delete():删除某人的信息,如果未找到要删除的人,则
4、提示通讯录中没有此人的信 息,并返回选单。 7) 显示函数list():显示通讯录中的所有记录。 8) 导入函数input():能从指定的文件中读入通讯录的信息. 9) 导出函数output的:能将通讯录的信息写入指定的文件中 10) 退出函数 quit():退出选单。 11)名字查找函数Find():作为查找,输入修改,删除时调用的名字查找函数,判断是否存在要查 找的记录,若存在则返回0,不存在则返回其他值。 12)电话号码查找函数Find_num() ,QQ查找函数Find_qq() ,类别查找函数Find_type()与名字查 找函数功能一致。 图 4通讯录管理系统模块图 2.2 部分模
5、块流程图 1)新增模块 Y 主模块 菜 单 显 示 新 增 通 讯录 查 找 通 讯录 修 改 通 讯录 删 除 通 讯录 显 示 通 讯录 导 出 文 件 导 入 文 件 退 出 操作 姓 名 查找 类 别 查找 电 话 查找 修改 QQ QQ 查找 修改姓名 覆 盖 修改 部 分 修改 修改类别修改电话 开始 N=0 ? N+ 输入 stu0 C 语言实训报告格式 5 N Y N Y Y N 2)删除模块 N Y Y N Y Y 输入 stud 重 复?Find 回() 新增? stuN=stud N+ stuI=stud stuN=stud N+ 结束 开始 返回? 输 入 姓 名 s2
6、0 存 在?Find 继续查找? 确认删除? N=N-1 stuI=stuI+1 I+ C 语言实训报告格式 6 3 程序代码设计 (1). 菜单模块 1)函数原形: void menu() 2)功 能:使用 printf()语句输出主菜单提示。 4)说明:每次执行完其他函数都调用菜单函数,使其返回主菜单,重新选择功能。 (2). 新增模块 1)函数原形: void add() 2)功 能:使用 printf()、scnaf() 、getchar()、while() 、if()语句输出选项提示, 并逐一输入通讯录全部信息(姓名、电话号码、 QQ 、类别 ) 到结构体中。利 用 while()
7、进行重复输入,getchar()进行退出。 同时利用名字查找函数Find() 对输入信息进行是否重复的判断。 3)变量及类型: struct student stud:定义一个结构体变量,从第一次以后输入的数据放入 其中,进行数据判断后才放入结构体数组中。 4)说明:执行完输入函数后,会在键盘缓冲区中保存回车键,后面再对字符型变量 赋值时,会将缓冲区中的回车键当成数据存入变量中,所以要在某些输入 语句后面加 getchar()函数。 3). 查找模块 1)函数原形: void find() 2)功 能:利用 while()重复查找功能 ,getchar()进行退出循环。 switch(), g
8、etchar() 进行按姓名、电话号码、 QQ等查找方式的选择。按照相应的选择方式调用名 字查找函数Find() ,电话号码查找函数Find_num() ,QQ查找函数Find_qq() ,类别查 找函数 Find_type()。 3)变量及类型: 结束 C 语言实训报告格式 7 char s20 :选择查找方式后将姓名、电话、QQ 等放入其中再调用查找函 数。 char ch :对查找方式进行选择。 char ch1 :对退出查找进行选择。 (4). 修改模块 1)函数原形: void alter() 2)功 能:用 if-else作处理。调用名字查找函数Find() ,如果无该查找记录则提
9、示且退出 修改函数。反之利用switch()修改的选择1. 覆盖修改 ( 重新输入全部信息) ,2. 部分 修改,当选择2 时提供姓名、电话号码、QQ 、类别四个修改选项,且利用while() 进行多项修改。 3)变量及类型: char,s20:选择查找方式后将姓名、 电话、QQ 等放入其中再调用查找 函数。 char,ch :选择 2 部分修改时,当选择提供姓名、电话号码、QQ 、类别四个修改 选项 char ch1: 控制退出switch()。 char ch2 :控制退出 while()。 (5). 删除模块 1)函数原形: void Delete() 2)功 能:调用名字查找函数Fin
10、d() 判断数据的重复性,while()进行多次操作。 3)变量及类型: char s20:对数据姓名、电话、 QQ等放入其中再调用查找函数。 char ch :控制退出 while() char ch1 :控制退出 while() C 语言实训报告格式 8 (6). 显示模块 1)函数原形: void list() 2)功 能:for ,printf显示去全部的通讯录信息。 3)变量及类型: (7). 导出模块 1)函数原形: void output() 2)功 能:将内存中的数据导出到文件中。 3)变量及类型: FILE *fp:进行文件指针操作。 (8). 导入模块 1)函数原形 voi
11、d input() 2)功 能:将文件中的数据导出到中内存。 3)变量及类型: FILE *fp:进行文件指针操作。 (8). 查找返回模块 1)函数原形 int Find(char s) ,int Find_num(char s) ,int Find_qq(char s) , int Find_type(char s)。 2)功 能:用于名字,电话号码,QQ ,类别查找。 3)变量及类型: int i:用于 for 循环。 int c:对名字判断后返回值。 C 语言实训报告格式 9 4总结 1通过本次实训巩固对高级语言程序设计这门课程的教学内容, 提高对 C 语言的基本应用能 力 2. 同时
12、通过本实训课程,训练程序设计的思维能力,提高了分析问题和解决问题的能力,为后 续专业课程的学习打下良好的基础。 3. 掌握了 C 语言程序设计方法,熟悉使用VC6.0 软件开发C 语言程序的过程。熟悉C 语言基 本数据类型的定义和使用、用户自定义类型的定义和使用。 4. 熟悉顺序结构、分支结构和循环结构的设计思想以及代码实现,体会了模块化程序设计的思 想。要求各个功能用函数实现 5. 问题分析与算法设计的能力进一步提高。 参考文献 1 张磊, C 语言程序设计(第2 版),高等教育出版社, 2009 2,张磊,C 语言程序设计实验与实训指导及题解(第 2 版),高等教育出版社, 2009 附录
13、:程序清单 #include #include #define M 100 static int N=0,I=0; struct student char name20; char num20; char qq20; char type10; stuM; void menu(); void add(); void find(); void alter(); void Delete(); void list(); void input(); void output(); int quit(); int Find(char ); C 语言实训报告格式 10 int Find_num(char );
14、 int Find_qq(char ); int Find_type(char ); void main() int op; menu(); while(1) printf(“tntt 请选择功能 (1-8):“); scanf(“%d“, getchar(); switch(op) case 1: printf(“nt1.*新增记录 *n“); add(); break; case 2: printf(“nt2.*查找通讯录 *n“); find(); break; case 3: printf(“nt3.*修改通讯录 *n“); alter(); break; case 4: printf
15、(“nt4.*删除通讯录 *n“); Delete(); break; case 5: printf(“nt5.*显示通讯录 *n“); list(); break; case 6: printf(“nt6.*从内存导出文件中*n“); output(); break; case 7: printf(“nt7.*从文件导入内存中*n“); input(); break; C 语言实训报告格式 11 break; case 8: printf(“nt8.*退出 *n“); op=quit(); break; default: printf(“t*Not have the function!*n“
16、); break; if(op=8) printf(“nt 感谢您的使用,已退出程序 !nt“); break; else continue; void menu() printf(“n“); printf(“t=通讯录管理菜单=n“); printf(“t*t1. 增加新的记录*n“); printf(“t*t2. 查找通讯录*n“); printf(“t*t3. 修改通讯录*n“); printf(“t*t4. 删除通讯录*n“); printf(“t*t5. 显示全部通讯录*n“); printf(“t*t6. 把通讯录导出到文件*n“); printf(“t*t7. 从文件导入通讯录*
17、n“); printf(“t*t8. 退出*n“); printf(“t=n“); /1 实现新增 void add() struct student stud; while(1) C 语言实训报告格式 12 printf(“nt*当前共存在 %d 条记录,请输入下一条*“,N); if(N=0) printf(“nt 请输入姓名 :“); scanf(“%s“,stuN.name); printf(“t 请输入电话号码:“); scanf(“%s“,stuN.num); printf(“t 请输入 QQ 号:“); scanf(“%s“,stuN.qq); printf(“t 请输入类别 (
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录管理系统c语言 通讯录 管理 系统 语言 报告 代码 要点
链接地址:https://www.31doc.com/p-5198932.html